云服务器内容精选

  • 代码化构建 参考以下代码示例,修改在创建代码化构建使用的YAML文件中的BUILD部分代码信息。 1 2 3 4 5 6 7 8 9 10 11 12 13 version: 2.0 # 必须是2.0 steps: BUILD: - harmonyos: name: "HarmonyOS Build" inputs: command: | npm config set strict-ssl false npm config set registry=https://repo.huaweicloud.com/repository/npm/ npm config set @ohos:registry=https://repo.harmonyos.com/npm/ chmod +x hvigorw ./hvigorw clean assembleApp --no-daemon ignore_fail: true 表2 代码示例参数说明 参数 类型 说明 command string 配置HarmonyOS的执行命令。 ignore_fail string 用于控制当前步骤执行失败后是否继续执行下一个步骤。 true:是。 为空:否。
  • 图形化构建 在配置构建步骤中,添加“HarmonyOS构建”构建步骤,参考表1配置参数。 表1 HarmonyOS构建参数说明 参数 说明 步骤显示名称 构建步骤的名称,可自定义修改。 支持中文、英文、数字、“-”、“_”、英文逗号、英文分号、英文冒号、“.”、“/”、圆括号(中英文)。 字符长度范围为1~128。 工具版本 默认版本为“HarmonyOS-API9”,当前仅支持该版本。 命令 配置命令,一般使用系统默认给出的命令即可。如有特殊构建要求,可以在文本域中输入自定义的构建脚本。 失败后是否继续运行 当前步骤执行失败后是否继续执行下一个步骤,根据实际使用场景选择是或否。
  • 配置SWR服务 本文档使用SWR来保存环境镜像,在执行任务前需要获取SWR登录指令、创建组织。 在CodeArts中单击导航“控制台”。在控制台单击左上角搜索并进入SWR服务。 请检查页面左上方的“区域”列表,请确保与编译构建任务所在区域相同。如果区域不同,请选择相同区域。 单击“登录指令”,页面弹框显示登录指令。 其中, “-u”之后的字符串为用户名。 “-p”之后的字符串为密码。 最后的字符串为SWR服务器地址,此地址即为后续配置并执行任务中的参数“dockerServer”。 图1 登录指令 此处生成的登录指令为临时登录指令,有效期为24小时。如果需要长期有效的登录指令,请参见获取长期有效登录指令。 单击“创建组织”,在弹框中输入组织名称“phoenix”(如果页面提示“组织已存在”,请自定义其它名称),单击“确定”。 这里的组织名称,即为后续配置并执行任务中的参数“dockerOrg”。
  • 设置定时执行任务 为了防止问题代码进入生产环境,确保应用总是处于可部署的状态,团队建议对应用进行持续不断的验证。 通过以下设置,可实现构建任务的定时执行。 在任务“phoenix-sample-ci”的详情页,单击“编辑”。 选择“执行计划”页签。 打开“启用定时执行”开关,根据需要选择执行日与执行时间,关闭“代码变化才执行”,保存任务。 本文档中勾选“全选”,执行时间为“12:00”(本文中使用默认时区,可以根据实际需要修改时区)。 验证配置结果:根据配置时间查看构建任务是否自动执行,本节不再赘述。
  • 设置提交代码触发自动编译 通过以下配置,可实现代码变更后自动触发构建任务的执行,从而实现项目的持续集成。 在任务“phoenix-sample-ci”的详情页,单击“编辑”。 选择“执行计划”页签。 打开“提交代码触发执行”开关,保存任务。 由于在“参数设置”页签中“codeBranch”配置的默认值为“master”,因此本次设置的结果是当master有代码变更时自动触发构建。 验证配置结果:修改项目代码并提交至master,即可查看构建任务是否自动执行。
  • 预置任务简介 样例项目中预置了以下5个构建任务。 表1 预置任务 预置任务 任务说明 phoenix-sample-ci 基本的构建任务。 phoenix-sample-ci-test 构建测试环境可用镜像的任务。 phoenix-sample-ci-worker 构建Worker功能镜像的任务。 phoenix-sample-ci-result 构建Result功能镜像的任务。 phoenix-sample-ci-vote 构建Vote功能镜像的任务。 本章节以任务“phoenix-sample-ci”为例进行讲解,此任务包含的步骤如下。 表2 构建步骤 构建步骤 说明 制作Vote镜像并推送到SWR仓库 依据代码仓库中的“vote/Dockerfile”文件制作Vote功能镜像,并将镜像推送到 容器镜像服务 。 制作Result镜像并推送到SWR仓库 依据代码仓库中的“result/Dockerfile”文件制作并推送Result功能镜像,并将镜像推送到容器 镜像服务 。 使用Maven安装Worker依赖包 使用Maven安装Worker功能所需的依赖。 制作Worker镜像并推送到SWR仓库 依据代码仓库中的“worker/Dockerfile”文件制作并推送Worker功能镜像,并将镜像推送到容器镜像服务。 生成Postgres and Redis Dockerfile 通过shell命令生成Dockerfile文件,用以制作Postgres(数据库)和Redis(缓存)镜像。 制作Postgres镜像并推送到SWR仓库 依据“生成Postgres and Redis Dockerfile”步骤中所生成的Dockerfile文件制作Postgres镜像,并将镜像推送到容器镜像服务。 制作Redis镜像并推送到SWR仓库 依据“生成Postgres and Redis Dockerfile”步骤中所生成的Dockerfile文件制作Redis镜像,并将镜像推送到容器镜像服务。 替换Docker-Compose部署文件镜像版本 为了将镜像部署到E CS 时,能够可以拉取到正确的镜像,使用shell命令进行完成以下操作。 使用sed命令,依次将文件“docker-compose-standalone.yml”中的参数替换为构建任务的参数“dockerServer”、“dockerOrg”、“BUILDNUMBER”进行替换。 使用tar命令,将文件“docker-compose-standalone.yml”压缩为“docker-stack.tar.gz”,将部署所需文件进行打包,以便于后续步骤将该文件上传归档。 替换Kubernetes部署文件镜像版本 为了将镜像部署到CCE时,能够可以拉取到正确的镜像,使用shell命令进行完成以下操作。 使用sed命令,将代码仓库中目录“kompose”下所有以“deployment”结尾的文件中的参数“docker-server”、“docker-org”,替换为构建任务的参数“dockerServer”、“dockerOrg”。 使用sed命令,将代码仓库中“result-deployment.yaml”、“vote-deployment.yaml”、“worker-deployment.yaml”三个文件中的参数“image-version”用构建任务参数“BUILDNUMBER”进行替换。 上传Kubernetes部署文件到软件发布库 将“替换Kubernetes部署文件镜像版本”步骤中修改后的所有“.yaml”文件上传到软件发布库中归档。 上传docker-compose部署文件到软件发布库 将“替换Docker-Compose部署文件镜像版本”步骤中压缩好的“docker-stack.tar.gz”上传到软件发布库中归档。
  • 新建构建任务并执行 在编译构建服务页面,单击“新建任务”,按照如下参数说明配置参数,其他参数保持默认即可。 名称:自定义构建任务名称,例如“maven_private_repository_task”。 代码源:选择本次构建拉取的代码源,这里选择“Repo”。 代码仓:选择新建CodeArts Repo代码仓中新建的代码仓“maven_private_repository_repo”。 单击“下一步”,选择“Maven”模板。然后单击“确定”,自动跳转到构建步骤配置页面。 在“构建步骤”页签,单击“图形化”,单击左侧“Maven构建”,按照如下说明配置构建步骤,其他参数保持默认即可。 命令:mvn package -Dmaven.test.skip=true -U -e -X -B命令前加“#”,删除#mvn deploy -Dmaven.test.skip=true -U -e -X -B前的“#”。 发布依赖包到CodeArts私有依赖库:选择“配置所有pom”。 “release仓库”和“snapshot仓库”选择新建私有依赖库中仓库名“maven_repository”。 图3 配置Maven构建步骤 单击页面右上角“保存并执行”,在弹出的窗口中单击“确定”,自动跳转到构建任务执行页面。
  • 相关信息 当前实践展示的是归档“Snapshot”快照版本,如果要归档正式的“Release”发布版本,可以修改新建CodeArts Repo代码仓中的代码仓“pom.xml”文件中的“version”内容,将“1.0.0-SNAPSHOT”修改为“1.0.0”,提交文件改动,重新执行构建任务即可。 Maven构建会根据模块的版本号,即““pom.xml”文件中的“version”内容是否带有“-SNAPSHOT”来判断是快照版本还是正式版本。
  • 约束限制 需已具备CodeArts Repo服务的操作权限,具体操作可参考授权使用CodeArts Repo服务。 目前该功能仅支持代码源为CodeArts Repo的C/C++语言构建工程的编译构建加速。 使用构建加速能力需要额外购买配套构建加速包,构建加速包因加速原理以及效果的不同,共有三种规格以供购买,规格介绍及购买指南请参考购买构建加速包。本实践需要购买X86架构和L3级别的加速包。 基于自定义执行机的构建任务,无法使用构建加速能力。 需在本地已准备好C++工程代码。
  • 图形化构建 在配置构建步骤中,添加“Ionic Android App构建”构建步骤,参考表1配置参数。 表1 Ionic Android App构建参数说明 参数 说明 步骤显示名称 构建步骤的名称,可自定义修改。 支持中文、英文、数字、“-”、“_”、英文逗号、英文分号、英文冒号、“.”、“/”、圆括号(中英文)。 字符长度范围为1~128。 Gradle 根据用户实际开发环境的需要,选择对应的Gradle版本。 CodeArts Build支持的工具版本,可查看构建工具版本。若当前的工具版本不满足您的使用要求,您可以自定义构建环境。 JDK 根据用户实际开发环境的需要,选择对应的JDK版本。 CodeArts Build支持的工具版本,可查看构建工具版本。若当前的工具版本不满足您的使用要求,您可以自定义构建环境。 NDK 根据用户实际开发环境的需要,选择对应的NDK版本。 CodeArts Build支持的工具版本,可查看构建工具版本。若当前的工具版本不满足您的使用要求,您可以自定义构建环境。 命令 配置命令框中的打包脚本。更多命令使用方法可参考Ionic官网。 失败后是否继续运行 当前步骤执行失败后是否继续执行下一个步骤,根据实际使用场景选择是或否。
  • 代码化构建 参考以下代码示例,修改在创建代码化构建使用的YAML文件中的BUILD部分代码信息。 1 2 3 4 5 6 7 8 910 version: 2.0 # 必须是2.0steps: BUILD: - ionic_android_app: inputs: gradle: '4.8' jdk: '33' ndk: '17' command: ./instrumented.apk ignore_fail: true 表2 代码示例参数说明 参数 类型 说明 gradle string 根据用户实际开发环境的需要,选择对应的Gradle版本。 CodeArts Build支持的工具版本,可查看构建工具版本。若当前的工具版本不满足您的使用要求,您可以自定义构建环境。 jdk string 根据用户实际开发环境的需要,选择对应的JDK版本。 CodeArts Build支持的工具版本,可查看构建工具版本。若当前的工具版本不满足您的使用要求,您可以自定义构建环境。 ndk string 根据用户实际开发环境的需要,选择对应的NDK版本。 CodeArts Build支持的工具版本,可查看构建工具版本。若当前的工具版本不满足您的使用要求,您可以自定义构建环境。 command string 配置命令框中的打包脚本。更多命令使用方法可参考Ionic官网。 ignore_fail string 用于控制当前步骤执行失败后是否继续执行下一个步骤。 true:是。 为空:否。
  • 图形化构建 在配置构建步骤中,添加“构建方舟编译器”构建步骤,参考表1配置参数。 表1 构建方舟编译器参数说明 参数 说明 步骤显示名称 构建步骤的名称,可自定义修改。 支持中文、英文、数字、“-”、“_”、英文逗号、英文分号、英文冒号、“.”、“/”、圆括号(中英文)。 字符长度范围为1~128。 工具版本 根据用户实际开发环境的需要,选择对应的工具版本。 CodeArts Build支持的工具版本,可查看构建工具版本。若当前的工具版本不满足您的使用要求,您可以自定义构建环境。 命令 配置方舟编译器的执行命令,一般使用系统默认生成的命令即可。如有特殊构建要求,可以在文本域中输入自定义的构建脚本。 失败后是否继续运行 当前步骤执行失败后是否继续执行下一个步骤,根据实际使用场景选择是或否。
  • 代码化构建 参考以下代码示例,修改在创建代码化构建使用的YAML文件中的BUILD部分代码信息。 1234567 version: 2.0 # 必须是2.0steps: BUILD: - ark: inputs: command: make ignore_fail: true 表2 代码示例参数说明 参数 类型 说明 command string 配置方舟编译器的执行命令。 ignore_fail string 用于控制当前步骤执行失败后是否继续执行下一个步骤。 true:是。 为空:否。
  • 编译构建支持的Docker命令 docker login:登录docker仓库。 用法:docker login [options] [server] options填写方法如下表,server为docker仓库地址。 参数 对应短名称 说明 --password -p 登录仓库的用户密码。 --username -u 登录仓库的用户名。 --password -stdin 从标准输入获取用户密码。 示例:docker login -u jack -p 12345 mydocker-registry.com 该示例表示使用jack用户远程登录地址为“mydocker-registry.com”的仓库,密码为“12345”。 高级用法 从文件里获取密码:cat ~/my_password.txt | docker login --username jack --password-stdin docker build:通过Dockerfile或者上下文制作镜像。上下文可以是构建执行所在的本地路径“Path”,也可以是远程URL,如Git库、tarball或文本文件等,还可以是“-”。 用法:docker build [options] Path | URL | - options填写方法如下表。Path/URL/-为上下文来源。 参数 对应短名称 说明 --file -f Dockerfile文件路径,默认为“./Dockerfile”。 --tag -t “镜像名:标签”格式。 示例:docker build -t mydocker-registry.com/org/alpine:1.0 -f ./Dockerfile . 该示例表示使用当前目录且标签为“mydocker-registry.com/org/alpine:1.0”的Dockerfile制作镜像。 docker push:推送镜像到指定的地址。 用法:docker push [options] name[:tag] 示例:docker push mydocker-registry.com/org/alpine:1.0 该示例表示将“mydocker-registry.com/org/alpine”镜像的1.0版本推送到远程仓库。 docker pull:从镜像仓库下载镜像到本地。 用法:docker pull [options] name[:tag|@digest] options填写方法如下表。 参数 对应短名称 说明 --all-tags -a 下载镜像仓库所有标识tag的镜像。 示例:docker pull mydocker-registry.com/org/alpine:1.0 该示例表示从远程仓库拉取版本号为1.0的mydocker-registry.com/org/alpine镜像。 docker tag:修改镜像的标签。 用法:docker tag source_image[:tag] target_image[:tag] 其中source_image[:tag]表示需要修改标签的镜像,target_image[:tag]表示目标镜像。 示例:docker tag mydocker-registry.com/org/alpine:1.0 mydocker-registry/neworg/alpine:2.0 该示例表示,将“mydocker-registry.com/org/alpine”镜像的标签从“1.0”改为“2.0”。 docker save:保存一个或者多个镜像到tar类型的文件,默认是标准输出流。 用法:docker save [options] image [image ...] options填写方法如下表。 参数 对应短名称 说明 --output -o 写文件,非使用标准输出。 示例:docker save -o alpine.tar mydocker-registry.com/org/alpine:1.0 mydocker-registry.com/org/alpine:2.0 该示例表示将mydocker-registry.com/org/alpine:1.0镜像和mydocker-registry.com/org/alpine:2.0镜像打包到alpine.tar。 docker logout:从镜像仓库登出。 用法:docker logout [server] 示例:docker logout mydocker-registry.com 该示例表示登出地址为mydocker-registry.com的镜像仓。
  • 代码化构建 参考以下代码示例,修改在创建代码化构建使用的YAML文件中的BUILD部分代码信息。 12345678 version: 2.0 # 必须是2.0steps: BUILD: - docker: inputs: command: | docker pull swr.xx-xxxxx-x.myxxcloud.com/codeci/dockerindocker:dockerindocker18.09-1.3.2 ignore_fail: true 表2 代码示例参数说明 参数 类型 说明 command string 执行命令,每个命令一行。支持的docker命令可参考编译构建支持的Docker命令。 ignore_fail string 用于控制当前步骤执行失败后是否继续执行下一个步骤。 true:是。 为空:否。