Hus*_*oiz 5 gitlab gitlab-ci-runner
我有一个 gitlab 管道,其中有两个阶段,一个是构建,另一个是部署。构建阶段在进行提交时运行。我想要一种在合并请求合并到 master 时运行部署作业的方法。我尝试了几件事,但没有运气。任何人都可以帮忙吗?
stages:
- build
- deploy
dotnet:
script: "echo This builds!"
stage: build
production:
script: "echo This deploys!"
stage: deploy
only:
refs:
- master
Run Code Online (Sandbox Code Playgroud)
尝试使用 gitlab-ci.yml “规则”功能来检查合并请求事件。
您当前的 gitlab-ci.yml 将在每次提交、合并请求、调度和手动触发管道时运行您的“dotnet”作业。
https://docs.gitlab.com/ee/ci/yaml/#workflowrules
dotnet:
script: "echo This builds!"
stage: build
rules:
- if: '$CI_BUILD_REF_NAME != "master" && $CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "merge_request_event"'
production:
script: "echo This deploys!"
stage: deploy
rules:
rules:
- if: '$CI_PIPELINE_SOURCE == "push" && $CI_BUILD_REF_NAME == "master"'
Run Code Online (Sandbox Code Playgroud)
小智 6
如果您希望作业仅在合并合并请求后运行,那么您可以根据提交消息触发作业,如下所示。
rules:
- if: '$CI_COMMIT_MESSAGE =~ /See merge request/'
Run Code Online (Sandbox Code Playgroud)
基本上,所有合并请求都带有“查看合并请求”提交消息,因此您可以依赖该消息来触发您的作业。
| 归档时间: |
|
| 查看次数: |
3446 次 |
| 最近记录: |