流水线
2021-03-16 09:30:15 11 举报
流水线
作者其他创作
大纲/内容
启动chain
更新当前stage状态
启动stage中第一个chain
判断当前提交的job是否成功
1.获取stage下的所有chain2没有自动启动的chain,则执行结束,等待手动触发3. 有自动启动的chain,更新pipeline_history和pipeline_stage_history为RUNNING4.将当前stage下所有自动触发的chain状态设为为RUNNING
1更新pipeline_history和pipeline_stage_history为RUNNING2.将当前stage下所有自动触发的chain状态设为为RUNNING3.启动每个自启动chain
开始执行回调逻辑
执行chain,将job进行提交
结束
根据回调的日志判断job执行是否成功
是否还有下一个chain
获取firstJob(有job时才会有chain,所以firstJob一定存在)并运行
job提交是否成功
1.更新job、chain表的running_state为FAILED2.同级stage其余chain没有RUNNING,还要更新stage和pipeline_history表的running_state为FAILED
是否还有下一个stage
流水线开始执行
job执行失败后1.job更新状态为FAILED2.chain更新为FAILED3.同级stage其余chain是否有RUNNING,如果没有,其为最后一个运行的chain,则更新stage和pipeline_history为FAILED
更新流水线为RUNNING,本地服务执行完毕
将当前job状态更改为RUNNING
当前stage中的所有chain运行完毕后更新状态为FAILED
提交job
获取当前chain的第一个job进行执行
1.存储结果日志2.判断流水线是否终止3.判断回调结果,失败回调结束更新pipeline状态4.获取主机开始执行回调操作5.当前job全部批次执行成功,更新job为SUCCESS6.执行下一个job7.判断当前chian是否执行完毕8.获取stage进行判断9.根据条件判断是否需要回调cmdb进行主机状态更新
1.同级其余chain有RUNNING,回调完成2.同级其余chain有FAILED,则更新pipeline_stage_history和pipeline_history表的running_state为WAITING3. 同级其余chain有WAITING,则更新pipeline_stage_history和pipeline_history表的running_state为WAITING4.没有以上情况,则同级chain都为SUCCESS,更新stage的running_state为SUCCESS
判断当前chain是否还有下一个job
是否有自动的chain
当前stage下面是否有自动的chain
job提交成功后 本地代码执行完毕 ansible服务进行回调
job提交失败后1.job更新状态为FAILED2.chain更新为FAILED3.同级stage其余chain是否有RUNNING,如果没有,其为最后一个运行的chain,则更新stage和pipeline_history为FAILED
更新当前chain状态
0 条评论
回复 删除
下一页