你能帮忙吗,我有下面的场景,我浏览了很多视频,博客,但没有找到任何与我的用例匹配的东西
要求
:
- verify # unit test, sonarqube, pages
- build # package
- publish # copy artifact in repository
- deploy # Deploy artifact on runtime in an test environment
- integration # run postman\integration tests
所有其他阶段都很好,但对于deploy阶段,由于一些限制,我必须使用Jenkin remote API和以下脚本提交一个现有的Jenkins作业,但是存在这样一个问题:脚本返回一个异步响应并启动Jenkins作业,deploy阶段完成,然后它将进入下一个阶段(集成)。
Run Jenkins Job:
image: maven:3-jdk-8
tags:
- java
environment: development
stage: deploy
script:
- artifact_no=$(grep -m1 '<version>' pom.xml | grep -oP '(?<=>).*(?=<)')
- curl -X POST http://myhost:8081/job/fpp/view/categorized/job/fpp_PREP_party/build --user mkumar:1121053c6b6d19bf0b3c1d6ab604f22867 --data-urlencode json="{\"parameter\":[{\"name\":\"app_version\",\"value\":\"$artifact_no\"}]}"
注意:不能使用GitLab CE edition和Jenkins CI项目服务。
我正在寻找一种可能的方法,从管道触发Jenkins作业,只有在成功完成Jenkins作业后,我的集成阶段才开始执行。
谢谢你的帮助!