use*_*273 6 gitlab-ci gitlab-ci-runner
我正在使用 rest API 在 GitLab CI 中运行手动作业。当我从 UI 开始手动作业时,我能够定义可以在作业期间使用的自定义变量。通过 API 运行作业时如何定义它们?
找不到任何关于它的文档。或者在论坛中甚至没有一个问题。
这就是我目前的工作方式
curl -k --request POST --header "PRIVATE-TOKEN: abc" https://mygit.com/api/v4/projects/17/jobs/1956/play
Run Code Online (Sandbox Code Playgroud)
我尝试添加:
--form variables[TEST]=hello
Run Code Online (Sandbox Code Playgroud)
但这没有用。
编辑:关于我在做什么的更多信息。所以我的管道有两个阶段。构建和部署。在每次提交时,我希望构建运行一次,然后我希望能够将此结果部署到多个不同的服务器。因为服务器列表是动态的,而且有很多,所以我希望将服务器的 IP 地址作为我可以提供给部署作业的变量。
传递变量记录在gitlab-org/gitlab issues 2772中,但更多关于触发管道(不是作业)
看看该语法对于触发变量是否有效(语法variables[xxx]=yyy):
# gitlab-ci.yml
build:
script:
- curl --request POST --form "variables[PRE_CI_PIPELINE_SOURCE]=$CI_PIPELINE_SOURCE" --form "token=$CI_JOB_TOKEN" --form ref=master http://192.168.10.3:3001/api/v4/projects/13/trigger/pipeline
Run Code Online (Sandbox Code Playgroud)
或者只是对于常规变量--form key=value:
curl --request POST --form "token=$CI_JOB_TOKEN" --form ref=master https://gitlab.example.com/api/v4/projects/9/trigger/pipeline
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2632 次 |
| 最近记录: |