若服务商使用持续集成环境构建或更新软件时,可以将计算巢ECS镜像部署物的更新操作也加入到持续集成中去。服务商将经过验证的软件版本发布到计算巢平台上时,ECS镜像部署物的版本和内容也会同步更新发布。本文介绍如何将计算巢ECS镜像部署物更新操作加入到服务商的软件持续集成中。
准备环境和工具
操作前,请完成以下准备工作。
构建持续集成的ECS镜像部署物并上传持续集成环境
操作前,请确认您的账号已具备管理计算巢服务的商家侧权限(AliyunComputeNestSupplierFullAccess)和管理ECS的权限(AliyunECSFullAccess),更多信息,请参见查看RAM用户的权限。
- 在持续集成环境预先设置好阿里云CLI命令行工具使用的环境变量。
export ALIBABACLOUD_ACCESS_KEY_ID=LTAI5t6SyR1RpZtcUC****** export ALIBABACLOUD_ACCESS_KEY_SECRET=MTM0y6IqXXCCFnA7bGOuCl******** export ALIBABACLOUD_REGION_ID=cn-hangzhou # 中国或中国内地站点cn-hangzhou,国际站ap-southeast-1
- 创建ECS镜像。
需要使用OOS公共模板ACS-ECS-UpdateImage创建ECS镜像。
# OOS执行更新镜像 # 设置更新镜像模版执行所需的参数,参数介绍可参考https://oos.console.aliyun.com/cn-hangzhou/template/public/detail/ACS-ECS-UpdateImage regionId="cn-hangzhou" # 资源执行的地域 securityGroupId="sg-8vb9b*****wvnuqy6" # 请准备安全组参数用于创建临时实例 vSwitchId="vsw-8vb5p1******zv01c" # 请准备交换机参数用于创建临时实例 instanceType="ecs.g5.large" # 临时实例的实例规格 sourceImageId="centos_7_8_x64_20G_alibase_20200622.vhd" #要更新的源镜像 commandType="RunShellScript" # 命令类型 # 命令内容,示例中为安装MySQL软件,请替换为安装服务商软件的命令 commandContent='yum install mysql -y' parameters="{ \"securityGroupId\": \"$securityGroupId\", \"commandType\": \"$commandType\", \"sourceImageId\": \"$sourceImageId\", \"regionId\": \"$regionId\", \"vSwitchId\": \"$vSwitchId\", \"instanceType\": \"$instanceType\", \"commandContent\": \"$commandContent\", \"ramRoleName\": \"\" }" # 启动OOS执行 execution_id=`aliyun oos StartExecution --TemplateName ACS-ECS-UpdateImage --Parameters "${parameters}" | jq -r ".Execution.ExecutionId"` # 等待oos执行完成 while do status=`aliyun oos ListExecutions --ExecutionId ${execution_id} |jq -r '.Executions[0].Status'` if [ "$status" == "Success" ]; then break fi sleep 1 done # 获取image_id image_id=`aliyun oos ListExecutions --ExecutionId ${execution_id} |jq -r '.Executions[0].Outputs | fromjson | .imageId'`
- 持续集成ECS镜像部署物。输入持续集成命令时,请将命令行中
<your_artifact_id>
替换成您创建的部署物ID。# 输入部署物ID artifact_id=<your_artifact_id> # 创建部署物 aliyun computenestsupplier CreateArtifact --ArtifactId ${artifact_id} --ArtifactType EcsImage --Name '持续集成ECS镜像部署物' --VersionName 'NewVersion' --ArtifactProperty "{\"ImageId\":\"${image_id}\",\"RegionId\":\"cn-hangzhou\"}" --SupportRegionIds.1 null # 发布部署物 aliyun computenestsupplier ReleaseArtifact --ArtifactId ${artifact_id}
搭建持续集成环境示例
此处以通过ROS快速创建一台安装有Jenkins的ECS实例并完成Jenkins初始配置为例,搭建持续集成环境。本示例所用操作系统为Alibaba Cloud Linux。
登录资源编排控制台。
在左侧导航栏中,选择 。
找到Jenkins单机版(已有VPC)并单击创建资源栈。
根据界面提示,输入参数然后单击创建。更多信息,请参见创建资源栈。
资源栈创建完成后,可以查看输出信息。
创建完成后,获取资源输出的JenkinsUrl并在本地浏览器打开。如:http://39.**.**.168:8080。
在解锁Jenkins界面的管理员密码框中,输入资源输出页中InitialAdminPassword的值。
在自定义Jenkins界面,选择安装推荐的插件。
安装完成后,设置管理员用户名和密码并登录Jenkins环境。
文档内容是否对您有帮助?