gitlab cicd 自动构建遇到的问题。
第一问题:如何保证在特定分支,和特定提交下,触发构建。
在特定分支中提交的时候,可以增加这么一条规则:
rules:
- if: $CI_COMMIT_BRANCH == "main"
这个规则主要是判断当合并分支是main 分支的时候,才会触发构建。
在进行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) 在页面中也是可以进行修改的。
默认是选择了run untagged jobs