Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Gitlab CI:基于前一阶段的状态触发阶段_Gitlab_Gitlab Ci - Fatal编程技术网

Gitlab CI:基于前一阶段的状态触发阶段

Gitlab CI:基于前一阶段的状态触发阶段,gitlab,gitlab-ci,Gitlab,Gitlab Ci,您好-我正在使用Gitlab 10.x企业版 这是在生产部署到具有八台服务器的环境中进行的。要求首先部署到一台服务器,然后在几天后只需按一个按钮就可以部署到其余的服务器 管道阶段: 发布标签创建->生产OneServer部署->OneButtonPush->部署到所有服务器 问题: 如何将阶段“OneButtonPush”和“DeploytoAllServers”之间的依赖关系联系起来?。只有当“OneButtonPush”阶段中的作业状态成功时,“DeploytoAllServers”阶段才应

您好-我正在使用Gitlab 10.x企业版

这是在生产部署到具有八台服务器的环境中进行的。要求首先部署到一台服务器,然后在几天后只需按一个按钮就可以部署到其余的服务器

管道阶段: 发布标签创建->生产OneServer部署->OneButtonPush->部署到所有服务器

问题:

如何将阶段“OneButtonPush”和“DeploytoAllServers”之间的依赖关系联系起来?。只有当“OneButtonPush”阶段中的作业状态成功时,“DeploytoAllServers”阶段才应启动。“部署到所有服务器”阶段将有并行作业部署到每个服务器

我根据Gitlab CI文档进行了一些尝试,但没有成功。此外,可以在GitLab CI的上下文中使用滚动部署的概念

谢谢

在Gitlab CI中,一个接一个地运行。每个阶段可以有多个并行运行的阶段

根据您的用例,对于发布标签的创建、生产OneServer部署、OneButtonPush和部署到所有服务器,您需要有不同的阶段。通过在作业定义中指定
when:manual
,可以为特定作业设置手动触发器(本例中为OneButtonPush)

默认情况下,如果有作业等待手动触发,则后续阶段的作业将开始执行,并将手动触发的作业视为成功。要更改此行为,需要使用
allow\u failure:false
。允许故障转移的模式详细信息