发布到环境
将构建映射为管道的最有用方面之一,是能够确切知道特定环境中包含的内容。例如,您可能有一个用户验收测试(UAT)环境,并希望GoCD自动将您的二进制文件部署到该环境。由于公司内部流程限制,您可能希望手动安装二进制文件,但仍让GoCD保留当前已发布内容的信息。
示例用法
自动部署到UAT
在这个例子中,我们假设您的构建中已经定义了一个ant任务,该任务将获取一个二进制文件并将其部署到您的环境中。另一个任务将验证安装是否成功。如果失败,将运行一个任务来回滚部署。我们还假设在管道的早期有一个分发阶段,包含一个创建安装程序作业,它已经为我们创建了要使用的二进制文件。
- 添加一个新阶段命名为UAT并且有一个名为部署
- 确保UAT阶段是手动触发的
- 确保以下任务块在部署作业配置中没有任务块
<tasks>
<fetchartifact stage="dist" job="create-installers" srcdir="pkg" dest="installers" />
<ant target="deploy_to_uat" />
<ant target="verify_uat_works_correctly" />
<ant target="rollback_to_previous_install_in_uat">
<runif status="failed" />
</ant>
</tasks>
当您准备将某些内容部署到UAT环境时...
- 转到管道历史页面
- 找到您要部署的提交记录
- 单击手动转换到UATstage
- 当部署成功时,阶段将显示为绿色,UAT环境将包含所选的提交记录
- 如果部署因某种原因失败,阶段将显示为红色,UAT环境将包含原始提交记录
手动部署到生产环境
在此示例中,我们假设有一种已知的方法可以回滚到之前的安装。我们还假设在管道的早期有一个分发阶段,包含一个创建安装程序作业,它已经为我们创建了要使用的二进制文件。
- 添加一个新阶段命名为生产并且有一个名为部署
- 确保生产阶段是手动触发的
- 确保在部署作业配置中没有任务块
当您准备将某些内容部署到生产环境时...
- 转到管道历史页面
- 找到您要部署的提交记录
- 单击分发stage
- 在工件选项卡中下载安装程序二进制文件
- 手动将二进制文件安装到生产环境中
- 如果出现问题,手动回滚到上一个已知良好的安装
- 如果一切看起来都正常,请单击手动转换到生产stage