我似乎无法在版本8.9中的Gitlab CI中找到任何手动登台的文档.如何进行"部署测试"等手动阶段?
我希望Gitlab CI将一个成功的RPM部署到开发人员,然后在我审阅之后,推送到Test,然后从那里生成一个版本.目前Gitlab CI可以实现吗?
小智 7
更新:GitLab 8.10中引入了手动操作.从手册"手动操作是一种特殊类型的作业,不是自动执行的;它们需要由用户显式启动.可以从管道,构建,环境和部署视图启动手动操作.您可以执行相同的手册多次行动." 手动操作的示例用法是部署到生产.本答案的其余部分仅适用于Gitlab 8.9及更早版本.
历史答案:
看起来好像8.9中的Gitlab中没有手动部署/发布.
一种可能性是使受保护的分支触发释放.请在此处查看有关受保护分支的信息:http://doc.gitlab.com/ce/workflow/protected_branches.html
本质上,受保护的分支将允许您创建一个分支(testdeploybranch),只允许您将代码合并到其中.每当提交dev都会通过Gitlab CI测试并部署作业以及手动审核时,您可以将该提交合并到受保护的分支中以触发发布.对于此分支,您可以使用.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
Run Code Online (Sandbox Code Playgroud)
这可能不是您所追求的,但它确实允许您从Gitlab手动发布.它不提供为不同服务器手动手动执行相同发布过程的简便方法.也许其他人可能能够扩展这一战略.
您可以通过when: manual在作业(文档)中使用来将任务设置为手动。
因此,例如,如果您想让部署人员在每次推送时都发生,但可以选择手动拆除基础架构,这就是您的做法:
stages:
- deploy
- destroy
deploy:
stage: deploy
script:
- [STEPS TO DEPLOY]
destroy:
stage: destroy
script:
- [STEPS TO DESTROY]
when: manual
Run Code Online (Sandbox Code Playgroud)
使用上面的配置,如果转到GitLab项目>管道,则应该在最后一次提交旁边看到一个播放按钮。当您单击播放按钮时,您会看到该destroy选项。