Gitlab CI 运行 当提交消息与正则表达式匹配时
Gitlab CI run when commit message matches the regex
我试图仅在提交消息具有条件短语时触发管道。我知道这个问题已经被问了很多次,并且有有用的答案。我还检查了 gitlab ci 文档,它还提供了正确的方法。
无论提交消息中是否包含所需的短语,阶段都会构建。这是 .yml 代码。
before_script:
- export LC_ALL=en_US.UTF-8
- export LANG=en_US.UTF-8
- export BUILD_TIME=$(date '+%Y-%m-%d %H:%M:%S')
- echo $branch
stages:
- build
build_job:
stage: build
only:
variables:
- $branch
- $CI_COMMIT_MESSAGE =~ /\[ci build]/
script:
- bundle fastlane
- fastlane build
有人知道它有什么问题吗?
也许你可以删除变量 $branch 并使用 only: refs
这里有一些例子
before_script:
- export LC_ALL=en_US.UTF-8
- export LANG=en_US.UTF-8
- export BUILD_TIME=$(date '+%Y-%m-%d %H:%M:%S')
stages:
- build
build_job:
stage: build
script:
- bundle fastlane
- fastlane build
only:
variables:
- $CI_COMMIT_MESSAGE =~ /\[ci build]/
refs:
- /^develop*.*$/
您可以在 refs 中使用正则表达式,在我的示例中意思是:当分支名称包含 develop
并且提交消息包含 [ci build]
时,然后 运行 阶段
你可以修改正则表达式。
这就是我制作中使用的方法。
考虑下一个解决方案:
before_script:
- export LC_ALL=en_US.UTF-8
- export LANG=en_US.UTF-8
- export BUILD_TIME=$(date '+%Y-%m-%d %H:%M:%S')
stages:
- build
build_job:
stage: build
rules:
- if: $CI_COMMIT_MESSAGE =~ /\[ci build]/
script:
- bundle fastlane
- fastlane build
我试图仅在提交消息具有条件短语时触发管道。我知道这个问题已经被问了很多次,并且有有用的答案。我还检查了 gitlab ci 文档,它还提供了正确的方法。
无论提交消息中是否包含所需的短语,阶段都会构建。这是 .yml 代码。
before_script:
- export LC_ALL=en_US.UTF-8
- export LANG=en_US.UTF-8
- export BUILD_TIME=$(date '+%Y-%m-%d %H:%M:%S')
- echo $branch
stages:
- build
build_job:
stage: build
only:
variables:
- $branch
- $CI_COMMIT_MESSAGE =~ /\[ci build]/
script:
- bundle fastlane
- fastlane build
有人知道它有什么问题吗?
也许你可以删除变量 $branch 并使用 only: refs
这里有一些例子
before_script:
- export LC_ALL=en_US.UTF-8
- export LANG=en_US.UTF-8
- export BUILD_TIME=$(date '+%Y-%m-%d %H:%M:%S')
stages:
- build
build_job:
stage: build
script:
- bundle fastlane
- fastlane build
only:
variables:
- $CI_COMMIT_MESSAGE =~ /\[ci build]/
refs:
- /^develop*.*$/
您可以在 refs 中使用正则表达式,在我的示例中意思是:当分支名称包含 develop
并且提交消息包含 [ci build]
时,然后 运行 阶段
你可以修改正则表达式。
这就是我制作中使用的方法。
考虑下一个解决方案:
before_script:
- export LC_ALL=en_US.UTF-8
- export LANG=en_US.UTF-8
- export BUILD_TIME=$(date '+%Y-%m-%d %H:%M:%S')
stages:
- build
build_job:
stage: build
rules:
- if: $CI_COMMIT_MESSAGE =~ /\[ci build]/
script:
- bundle fastlane
- fastlane build