【发布时间】:2021-10-25 15:07:16
【问题描述】:
在因为忘记更改版本号而不得不手动更新我的存储库之后......两次,我决定是时候使用一些 CI 魔法了。
这是交易:如果我向main 发出合并请求,我预计应用程序版本号会在 3 个不同的文件中更改。
到目前为止,这是我的代码:
stages:
- test
- deploy
workflow:
# some rules
unit_test:
stage: test
script:
# run UT
# This is the part the question is about
check_version:
stage: test
rules:
- if: '$CI_PIPELINE_SOURCE' == "merge_request_event" && '$CI_MERGE_REQUEST_TARGET_BRANCH_NAME' == '$CI_DEFAULT_BRANCH'
changes:
- composer.json
- resources/index.php
- Doxyfile
deploy:
stage: deploy
script:
# deployment script
rules:
- if: '$CI_COMMIT_BRANCH' == '$CI_DEFAULT_BRANCH'
如果我理解正确,我所做的是“如果是合并请求到 main,请检查 composer.json、resources/index.php 和 Doxyfile 中的更改”。
首先:对吗?
第二:我该怎么做才能允许在其他分支中推送和合并请求? “if”后面是否有某种“else”?
【问题讨论】: