我当前正在设置质量检查小组的存储库yml文件。 因此开发团队拥有自己的存储库,并拥有自己的yml文件,而质量保证团队也是如此。
所以我要实现的是,当开发团队做出某些承诺时,开发仓库会触发质量保证团队的仓库,以便随后执行测试。
目前,开发团队的yml如下所示:
- build
- test
andbuildonly:
environment: staging
stage: build
image: android-team-image-name
script:
- export BUILD_DIST_NAME=`date +%s`.tar.gz
- tar -czvf $BUILD_DIST_NAME ./app/build/outputs/apk/staging/apk-staging.apk ./app/build/outputs/apk/staging/output.json
only:
- ci_tester
artifacts:
paths:
- ./app/build/outputs/apk/staging/apk-staging.apk
expire_in: 1 day
triggertestand:
environment: staging
stage: test
image: qa-tester-image-name
script:
- "curl -X POST -F token=<my-token-here> -F ref=master https://git.office.com/api/v4/projects/17/trigger/pipeline"
only:
- ci_tester
因此,在完成构建阶段之后,将触发测试阶段(在质量保证团队的仓库yml上的其他yml文件中配置)。
目前,质量检查小组的yml如下所示:
environment: sanity
stage: sanity
script:
- robot --exitonfailure -i "sanityweb" --outputdir ./output WEB/SANITY_2.txt
- export BUILD_DIST_NAME=robot-result_`date +%s`.tar.gz
- tar -czvf $BUILD_DIST_NAME ./output/output.xml ./output/log.html ./output/report.html
这可以正常工作,但是它执行写在质量检查小组yml文件中的所有作业。 我如何才能仅从开发团队的yml文件中触发在质量保证团队的yml上定义的特定工作(而不是所有工作)?为此我是否需要另一个API?