PHA*_*PHA 2 gitlab gitlab-ci gitlab-ci-runner
我在gitlab上有一个带有gitlab-runner机器的三个项目A,B,C.项目A包含gitlab-ci.yml文件,该文件在A上提交时调用脚本来构建程序:
build:
stage: build
script:
- ./build-platform.sh
Run Code Online (Sandbox Code Playgroud)
A取决于B和C项目.当在B或C上有提交时,如何在A上触发构建.我不能将B,C放在A中,我无法轻松地将build-platform.sh转换为gitlab-ci.yml文件语法.
有几种方法可以做你想要的,但是它们都依赖于你在gitlab中设计A的设置并添加一个触发器令牌.<project A's gitlab URL>/settings/ci_cd通过单击Add trigger" 触发器"部分,可以通过页面完成此操作.
您还将找到从该页面使用该触发器令牌的不同方法.
为了完整起见,这里提到了一些方法:
如果您可以在项目B或C的构建结束时使用curl,那么只需添加以下内容:
curl -X POST \
-F token=TOKEN \
-F ref=REF_NAME \
<gitlab_url>/api/v3/projects/1/trigger/builds
Run Code Online (Sandbox Code Playgroud)
其中TOKEN是您刚为项目A生成的触发器令牌,REF_NAME是运行构建的分支或标记的名称.
如果您有项目B和C的自动构建(.gitlab-ci.yml例如使用文件),则可以执行此操作.
您可以通过这些项目的设置/集成页面向项目B和C添加webhook.
只需在推送事件中添加以下webhook:
<gitlab_url>/api/v3/projects/1/ref/REF_NAME/trigger/builds?token=TOKEN
Run Code Online (Sandbox Code Playgroud)
TOKEN和REF_NAME与上述相同.
| 归档时间: |
|
| 查看次数: |
1659 次 |
| 最近记录: |