云服务器内容精选

  • 新建构建任务并执行 在编译构建服务页面,单击“新建任务”,按照如下参数说明配置参数,其他参数保持默认即可。 名称:自定义构建任务名称,例如“custom_env_build_task”。 代码源:选择本次构建拉取的代码源,这里选择“Repo”。 代码仓:选择新建CodeArts Repo代码仓中新建的代码仓“custom_env_repo”。 单击“下一步”,选择“空白构建模板”。然后单击“确定”,自动跳转到构建步骤配置页面。 在“构建步骤”页签,单击“图形化”,单击“点击添加构建步骤”。 在右侧区域“容器类”页签中,单击“使用SWR公共镜像”所在行的“添加”,按照图4配置参数。其中“镜像地址”填写10中保存的完整镜像名称“swr.{regionID}.myhuaweicloud.com/hwstaff_codeci_gray/custom_ubuntu_image:v1.0”,将如下代码示例拷贝至“命令”中,其余参数保持默认即可。 java -version # 打印当前镜像里安装的jdk版本号 mvn -v # 打印当前镜像里安装的maven版本号 mvn package -Dmaven.test.skip=true -U -e -X -B # 执行maven构建命令 图8 配置使用SWR公共镜像 单击“添加步骤”,添加“上传软件包至软件发布库”构建步骤,“构建包路径”输入“**/target/*.?ar”,其他参数保持默认即可。 单击页面右上角“保存并执行”,在弹出的窗口中单击“确定”,跳转到构建任务执行页面。
  • 配置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”上传到软件发布库中归档。
  • 操作流程 表1 操作流程 流程 说明 新建项目 为本实践新建项目。 新建私有依赖库 新建本实践中使用的私有依赖库。 新建dependency_repo代码仓 新建发布“dependencyProject-1.0.jar”工具包使用的代码仓。 新建dependency_task构建任务 新建发布“dependencyProject-1.0.jar”工具包的构建任务。 新建release_repo代码仓 新建发布应用使用的代码仓。 新建release_task构建任务 新建发布应用使用的构建任务,该构建任务依赖“dependencyProject-1.0.jar”工具包。 查看构建结果 查看本实践的的构建结果。
  • 应用场景 本实践案例将为您介绍,如何在CodeArts Build构建工程中引用私有依赖库中的二方或三方依赖包,实现应用的编译构建。本实践案例为您演示依赖包的发布和下载引用两个环节,共涉及2个Maven构建工程,1个私有依赖库。 构建工程“dependency_task”:用于发布工具包,将“pom.xml”文件定义的“dependencyProject-1.0.jar”工具包发布到私有依赖库,为构建工程“release_task”提供依赖工具包引用。 构建工程“release_task”:用于发布应用,构建时依赖构建工程“dependency_repo”发布到私有依赖库的工具包“dependencyProject-1.0.jar”。 私有依赖库“dependency_libs”:存放构建工程“dependency_task”发布的工具包“dependencyProject-1.0.jar”,为构建工程“release_task”提供依赖工具包下载。 本实践需要依赖使用的其他服务如下: 代码托管服务 ,用于存储实践中项目所使用的代码。 制品仓库服务,用于存储实践中使用的私有依赖包。
  • 应用场景 当编译构建服务提供的内置执行机构建环境不满足业务要求时,您可接入自行提供的计算资源,通过注册的方式托管到编译构建服务中,委托编译构建服务进行调度并执行构建任务。本实践我们通过“Maven构建”和“上传软件包到软件发布库”两个构建步骤来演示使用自定义执行机的构建场景。 本实践需要依赖使用的其他服务如下: 代码托管服务,用于存储实践中项目所使用的代码。 制品仓库服务,用于存储实践中使用的私有依赖包。
  • 操作流程 表1 操作流程 流程 说明 新建项目 为本实践新建项目。 新建自定义执行机资源池 为本实践新建所需的自定义执行机资源池。 新建CodeArts Repo代码仓 为本实践新建存储代码的代码仓。 新建并执行编译构建任务 为本实践新建构建任务,包括“Maven构建”和“上传软件包到软件发布库”构建步骤。 查看构建任务和构建结果 为您介绍通过查看构建日志确认该实践的构建任务使用的执行机和在制品仓中查看上传的软件包。
  • 新建构建任务并执行 在编译构建服务页面,单击“新建任务”,按照如下参数说明配置参数,其他参数保持默认即可。 名称:自定义构建任务名称,例如“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”来判断是快照版本还是正式版本。
  • 操作流程 表1 操作流程 流程 说明 新建项目 为本实践新建项目。 新建私有依赖库 新建本实践中使用的私有依赖库。 查询私有依赖仓库信息 查询私有依赖库的id和url信息,用于配置在代码仓的“pom.xml”文件中。 上传settings.xml文件至编译构建 上传“settings.xml”文件到编译构建服务的“文件管理”中。 新建CodeArts Repo代码仓 新建本实践需要使用的代码仓。 配置Maven构建产物发布的私有依赖库地址 配置构建产物上传的私有依赖库的地址。 新建编译构建任务 新建本实践需要使用的编译构建任务。 配置构建步骤并执行构建任务 配置“下载文件管理的文件”和“Maven构建”步骤并执行构建任务。 查看编译构建结果 在私有依赖库中查看编译构建结果。
  • 配置构建步骤并执行构建任务 单击“点击添加构建步骤”,添加“下载文件管理的文件”构建步骤,“步骤显示名称”和“工具版本”保持默认,“下载文件”选择上传settings.xml文件至编译构建中上传的文件“settings.xml”。 单击“添加步骤”,添加“Maven构建”构建步骤,“命令”窗口中mvn package -Dmaven.test.skip=true -U -e -X -B命令前加“#”注释,删除mvn deploy -Dmaven.test.skip=true -U -e -X -B前的“#”,并将mvn deploy -Dmaven.test.skip=true -U -e -X -B改为mvn deploy -Dmaven.test.skip=true -s settings.xml -U -e -X -B,其他参数保持默认即可。 图5 打包命令 图6 发布依赖包命令 单击“保存并执行”。在弹出的窗口中单击“确定”,等待构建任务执行完成。
  • 操作流程 表1 操作流程 流程 说明 新建项目 为本实践新建项目。 新建CodeArts Repo代码仓 为本实践新建Repo代码仓用于存储代码文件。 新建build.yml文件 通过“build.yml”定义整个构建的流程。 新建build.yml中使用的子任务执行脚本 新建整个构建过程中依赖的构建任务的执行脚本。 新建并执行编译构建任务 新建BuildFlow编译构建任务并执行。 查看编译构建结果 查看编译构建结果。
  • 查看编译构建结果 “构建流程”页签中展示了当前构建任务运行的全量流程图,在构建任务未执行完成时,可以清晰的看到Job1和Job2是并行执行,Job3是等待Job1和Job2执行完成后才执行。 单击“构建流程”页签中左侧菜单的“Job1”或右侧界面的绿色矩形图形的“Job1”,进入Job1构建任务的执行详情页面,可以查看Job1构建任务的构建日志,如图2所示。 图2 查看构建结果 其中, “步骤日志”页签展示了当前构建任务运行顺序和资源调度情况。 “构建参数”页签展示了当前构建任务全局的参数信息。 “构建脚本”页签展示了当前构建任务执行的脚本内容。 参考1可查看“Job2”和“Job3”的构建任务执行详情。