触发/执行另一个回购作业(仅需要触发特定作业)

时间:2019-06-18 07:57:20

标签: git testing automated-tests gitlab-ci gitlab-ci-runner

我当前正在设置质量检查小组的存储库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?

0 个答案:

没有答案