将材料的特定修订版本部署到环境
GoCD 允许您手动选择要部署到环境的材料修订版本。这是大型项目中非常常见的需求,这些项目在其部署流水线中有多个材料。有时您可能希望控制哪个应用程序修订版本被部署到特定环境(例如 UAT)。
选择要部署的材料特定修订版本
考虑一个部署流水线‘deploy_bookstore’有2个材料 - 材料 ‘svn’ 和上游流水线 ‘bookstore’ 的情况。通常我们知道依赖流水线‘bookstore’的标签,例如“3.4-RELEASE”是稳定的。您想要在UAT环境中应用的所有更改都是对材料 ‘svn’ 进行的。在这种情况下,当您将“deploy_bookstore”部署到UAT时,您可能总是希望选择流水线‘bookstore’的标签“3.4-RELEASE”以及材料 ‘svn’ 的最新版本(或由开发者指定的已知修订版本)。
一旦任何材料有任何新更改,Go 将向用户指示有新的可部署修订版本可用。您可以使用此信息部署自定义构建并手动选择修订版本,或者部署最新的可用修订版本。
选择要部署的材料修订版本的步骤
- 转到环境页面并找到您感兴趣的特定部署流水线。
- 点击“部署特定修订版”。
- 这将为您提供每个材料的可用修订列表。
- 点击“要部署的修订版”搜索框。这将列出您的材料的最新5个修订/标签,按提交时间排序(最新提交在顶部)。
- 选择您希望用于部署的所有材料的修订版本。您可以通过以下方式搜索所需的修订版本:
- 版本哈希/管道标签
- 签入注释
- 用户身份进入容器
- 如果您未选择某个材料的特定修订版本,则将保留当前已部署的修订版本。
- 在点击“部署更改”之前,请检查“要部署”列以验证将部署哪个修订版本。
- 点击“部署更改”以开始部署。
为什么“部署更改”按钮被禁用?
这可能发生的原因有3个
- 正在进行部署,因此无法启动另一个
- 您的部署流水线正在锁定模式
- 您对该流水线的操作权限不足
部署所有材料的最新版本
如果您总是希望将所有材料的最新版本部署到您的环境中,那么这是如何使用Go来实现的。
- 点击部署最新
- 这将触发部署流水线
- 这将在流水线调度时选取所有材料的最新可用修订版本
部署时使用密码
-
您可以在Go中设置安全变量,这些变量会作为环境变量传递给执行任务。您可以使用此功能将密码传递给部署脚本。例如,您可以定义一个名为‘DB_DEPLOY_PASSWORD’的安全变量,并将其值设为数据库密码。该值将被Go加密并传递给任务。
-
此外,当您使用“带选项触发”功能时,可以覆盖安全变量。