在Gitlab CI版本8.9中,我似乎找不到任何手动升级的文档。如何执行手动阶段,如"Deploy to Test"?
我希望Gitlab CI将一个成功的RPM部署到dev,然后一旦我审查了它,就推送到测试,并从那里生成一个版本。目前Gitlab CI可以做到这一点吗?
发布于 2015-08-18 19:33:47
更新:在GitLab 8.10中引入了手动操作。手动操作是一种特殊类型的作业,不会自动执行;它们需要由用户显式启动。手动操作可以从流水线视图、生成视图、环境视图和部署视图启动。您可以多次执行相同的手动操作。手动操作的一个示例用法是部署到生产环境。这个答案的其余部分仅适用于Gitlab 8.9和更早的版本。
历史答案:
Gitlab在8.9中似乎没有提供手动部署/发布。
一种可能性是有一个受保护的分支来触发释放。请在此处查看有关受保护分支的信息:http://doc.gitlab.com/ce/workflow/protected_branches.html
从本质上讲,受保护的分支将允许您创建一个分支(testdeploybranch),只有您才能将代码合并到其中。只要提交到dev将通过Gitlab CI测试和部署任务,以及您的手动审查,您可以将该提交合并到protected分支中以触发发布。对于此分支,您可以使用.gitlab-ci.yml作业定义中的唯一选项在Gitlab CI中设置特殊发布作业。点击此处阅读更多信息:http://doc.gitlab.com/ci/yaml/README.html
所以就像这样:
release:
only: testdeploybranch
type: release
script: some command or script invocation to deploy to Test这可能不是你想要的,但它确实允许你从Gitlab进行手动发布。它不提供一种为不同服务器手动执行相同发布过程的简单方法。也许其他人可以在这个策略上进行扩展。
发布于 2018-12-12 18:39:40
您可以在作业(documentation)中使用when: manual将任务设置为手动任务。
因此,例如,如果您希望在每次推送时都进行部署,但提供手动拆除基础设施的选项,则可以这样做:
stages:
- deploy
- destroy
deploy:
stage: deploy
script:
- [STEPS TO DEPLOY]
destroy:
stage: destroy
script:
- [STEPS TO DESTROY]
when: manual使用上面的配置,如果您转到GitLab项目>Pipeline,您应该会看到最后一次提交旁边的play按钮。单击play按钮时,您可以看到destroy选项。
发布于 2016-08-21 19:18:32
最后,我们有在Gitlab 8.10中引入的GitLab CI manual actions。
https://stackoverflow.com/questions/31904686
复制相似问题