如何将值传递给 Gitlab CI 作业

abh*_*i88 5 git gitlab gitlab-ci-runner

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

我正在使用 Windows 运行程序。

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

在 GitLab 中是不可能的吗?

编辑:

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

dju*_*rez 5

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

\n
\n

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

\n
\n

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

\n
\n

包含管道中可用变量的数组,与结构匹配 [{ \xe2\x80\x98key\xe2\x80\x99 => \xe2\x80\x98UPLOAD_TO_S3\xe2\x80\x99, \xe2\x80\x98value\xe2 \x80\x99 => \xe2\x80\x98true\xe2\x80\x99 }]

\n
\n