Doc*_*Who 7 automation qa gitlab-ci
我是 gitlab CI 的新手,所以我仍在尝试解决它,但我想知道是否可以执行以下操作?
开发人员在 REPO A 中工作
REPO B 中的 QA 工作
当来自 REPO A 的管道启动时,是否可以使用命令触发来自 REPO B 的管道并传递变量?
这样,REPO A 中的开发人员可以在他们的项目部分工作,例如登录表单,但 REPO B 可以包含所有功能的整个端到端测试套件,因此如果一个新团队成立并在 REPO C 上工作,他们也可以触发REPO B 中的测试。
这意味着 QA 总是在一个 repo 中工作,如果另一个 repo 想要进行部署,他们可以调用他们的测试子集,但夜间 REPO B 可以使用不同的浏览器、设备等运行完整的端到端套件。
sec*_*tor 22
“下游管道”中有“多项目管道”的概念,它完全允许您想要的行为。
请参阅: https ://docs.gitlab.com/ee/ci/pipelines/downstream_pipelines.html#multi-project-pipelines
在你的情况下,这将在项目 A 和 B 中
externalTest:
variables:
ENVIRONMENT: aVariableValue
stage: deploy
trigger:
project: my-namespace/repo-b
Run Code Online (Sandbox Code Playgroud)
在通过API触发管道的文档中有一种方法,它使我们能够在当前运行的管道中使用GitLab API触发另一个管道:
这种触发方式只能在 .gitlab-ci.yml 内部调用时使用,并且它会创建在管道图上可见的依赖管道关系。例如:
Run Code Online (Sandbox Code Playgroud)build_docs: stage: deploy script: - curl --request POST --form "token=$CI_JOB_TOKEN" --form ref=master https://gitlab.example.com/api/v4/projects/9/trigger/pipeline only: - tags以这种方式触发的管道还会公开一个特殊变量:
CI_PIPELINE_SOURCE=pipeline。
如果您想从REPO A和REPO C触发REPO B管道,请记住,您必须替换上述 URL 中的REPO B项目 id,而不是示例 id。
| 归档时间: |
|
| 查看次数: |
9319 次 |
| 最近记录: |