gitlab cicd 自动触发

123 阅读1分钟

gitlab cicd 自动构建遇到的问题。

第一问题:如何保证在特定分支,和特定提交下,触发构建。

在特定分支中提交的时候,可以增加这么一条规则:

rules: 
     - if: $CI_COMMIT_BRANCH == "main"

这个规则主要是判断当合并分支是main 分支的时候,才会触发构建。

image.png 在进行rules 标签,条件筛选的时候,判断什么条件的合并才触发构建,在使用变量的时候,最开始使用的是BUILD,导致验证失败。 修改为

rules:
  - if: '$CI_COMMIT_MESSAGE =~ /\bBUILD\b/'

当在进行提交的时候,输入BUILD ,则会自动触发构建。

第二问题:gitlab.yml 中的tag 和gitlab-runner中的tag 有什么区别

gitlab.yml 中的tag ,是用来选择使用哪些gitlab-runner 。

deploy_job:
  stage: deploy
  tags:
    - docker
    - production
  script: ./deploy.sh

job 仅会被同时拥有docker 和production 标签的gitlab-runner 执行。

gitlab-runner 在创建的时候,会让你输入tags.可以指定一个或者多个标签(利润docker、production) 在页面中也是可以进行修改的。

image.png

image.png 默认是选择了run untagged jobs