1. 准备应用服务
从平台层模版导入GoTemplate和SpringBoot作为测试用的应用服务
2. 创建Pipeline triggers
以Go应用触发SpringBoot流水线为例
A. 进入SpringBoot应用的gitlab库
B. 点击Settings ➔ CI/CD ➔ PipelineTriggers

C. 创建trigger

D. 点击`Add trigger`创建trigger,保存token

3. 创建SpringBoot应用流水线
可参考 创建一条流水线文档
4. 创建Go应用中带有自定义任务触发任务的流水线
A. 创建流水线

B. 维护CI变量

-
维护TRIGGER_TOKEN变量
image
-
维护SpringBoot项目的gitlab projectId变量。(projectId可在SpringBoot项目的点击Settings ➔ General ➔ General project
中获得)
image
C. 添加触发其它流水线任务

新建ci阶段➔选择自定义任务类型➔添加如下脚本
```
# job模板,使用时根据需求替换
# job名称(与任务名称保持一致)
job_1:
# job所属阶段名称,与创建阶段时保持一致
stage: 触发其它应用流水线
# job执行内容。
script:
- curl -X POST -F token=${TRIGGER_TOKEN} -F ref=${CI_COMMIT_REF_NAME} "https://code.choerodon.com.cn/api/v4/projects/${SPRING_BOOT_PROJECT_ID}/trigger/pipeline"
# 执行job的必须条件
only:
refs:
- master
# 不执行job的条件
except:
refs:
- tags
# 详细定义,请参考:https://docs.gitlab.com/ee/ci/yaml/README.html
```
界面会提供job模版,需要修改的内容包括job名称、stage、script。执行job的必须条件和不执行job的条件根据自己业务进行修改。script的内容需要改成 `curl -X POST -F token=${TRIGGER_TOKEN} -F ref=${CI_COMMIT_REF_NAME} "https://code.choerodon.com.cn/api/v4/projects/${SPRING_BOOT_PROJECT_ID}/trigger/pipeline"`。其中域名需要修改成对应的gitlab地址,`TRIGGER_TOEKN`和`SPRING_BOOT_PROJECT_ID`为刚才维护的CI变量,`CI_COMMIT_REF_NAME`为执行当前流水线的分支名称。`ref`表示目标项目需要执行流水线的分支。这里设置成`${CI_COMMIT_REF_NAME}`表示目标项目执行流水线的分支和当前项目执行流水线的分支保持一致。如果设置ref=feature-C7NCD-1180,则表示触发目标项目feature-C7NCD-1180分支的流水线。
网友评论