post - 如何在 gitlab 中触发特定作业
问题描述
我想在管道中运行一个特定的作业,我认为为作业分配一个标签,然后在 post 方法中再次指定这个标签将满足我的需求。问题是当我使用 api(post) 触发时,所有的作业尽管只有其中一个标记为 .
gitlab-ci.yml:
job1:脚本:- 回显“helloworld!” 标签:[我的标签]
job2: 脚本: - echo "hello gitlab!"
api调用: curl -X POST -F token="xxx" -F ref="myTag" https://gitlab.com/api/v4/projects/12345678/trigger/pipeline
解决方案
向您的触发器 api 调用添加一个变量,如下所示:
https://docs.gitlab.com/ee/ci/triggers/#making-use-of-trigger-variables
然后使用文件中的only
prperty gitlab.yml
,如下所示:
https://docs.gitlab.com/ee/ci/variables/#environment-variables-expressions
那么只有当变量存在时才会执行作业
例如
job1:
script: echo "HELLO"
only:
variables:
- $variables[API_CALL]=true
推荐阅读
- c++ - 为什么sqlite的delete总是成功,即使要删除的行不存在?
- javascript - OpenVidu - 为现有发布者添加流 - Javascript
- javascript - Unable to check the multi-select checkbox filter of the Kendo Grid Programmatically
- java - findAll() 在 SpringBoot Rest MySql CRUD 操作应用程序中不起作用
- c++ - 通过 Wininet 的 HTTP POST 请求
- html - 为什么不同视口中的浏览器一直隐藏我只想隐藏某些视口大小的内容?
- javascript - 为什么我不能只声明脚本?
- php - 如何在 PHP 中获取“列 + 7 天”>= NOW 的位置
- python - 熊猫df中每15分钟一次的分组值
- java - 如何使用杰克逊从 JsonNode 对象中检索 JSON 元素作为字符串?