【问题标题】:How to pass values to a Gitlab CI Job如何将值传递给 Gitlab CI 作业
【发布时间】:2019-08-18 20:15:24
【问题描述】:

我有一个 GitLab ci 工作来下载和构建一些文件,然后发布到另一台服务器。我做了一个 POC 并且成功了。问题是我想在手动或通过 API 触发时自定义作业。如何传递动态值(用户给定)以反映在 CI 作业中(如文件名、格式等)?

我正在使用 Windows 运行程序。

我看到了触发变量和环境变量,但是一旦在 UI 中设置了值,就可以在执行时检索。我想要从用户那里获取值的地方有点不同。

在 GitLab 中不可能吗?

编辑:

关于我如何使用管道的更多信息。我的管道有两个阶段 - 构建和部署。我希望构建运行一次,但我希望能够调用 deploy multiple 来部署到不同的服务器。我可以使用该变量来确定要部署到哪个服务器。通过 GitLab UI,这是可能的——我可以为管道设置变量,也可以为覆盖管道变量的作业设置变量。我只是想通过 API 做同样的事情。

【问题讨论】:

    标签: git gitlab gitlab-ci-runner


    【解决方案1】:

    启动管道时可以传递变量:https://docs.gitlab.com/ee/ci/pipelines/#run-a-pipeline-manually

    可以使用预定义的或手动指定的变量手动执行管道。

    这些变量也可以在 API 调用中指定:https://docs.gitlab.com/ee/api/pipelines.html#create-a-new-pipeline

    包含管道中可用变量的数组,匹配结构 [{ ‘key’ => ‘UPLOAD_TO_S3’, ‘value’ => ‘true’ }]

    【讨论】:

      猜你喜欢
      • 2022-08-16
      • 2019-11-04
      • 2022-12-22
      • 2019-08-05
      • 2022-01-05
      • 2021-12-05
      • 2021-12-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多