我的配置看起来像这样:
java-prod-build:
stage: build
only:
- tags
before_script:
- env
- declare RELEASE_VERSION=$(echo "$CI_COMMIT_TAG" | sed 's/.*-//') && echo $RELEASE_VERSION
- echo $CI_COMMIT_SHA && echo $CI_JOB_STARTED_AT
script:
- ...
只有当标记是在提交时创建的;属于";到master分支。
不幸的是,扫描变量会发现典型的字段现在包含标签名称:
CI_COMMIT_REF_ NAME=rpk-10.9.117,CI_BUILD_REF_NAME=rpk-10.9.117
有简单的方法吗?
我是GitLab CI的新手,阅读文档时我找不到任何具体的东西来帮助我:/
谢谢你的帮助!
你可以这样做(很抱歉格式不好,但你明白了(:
only:
refs:
- my-branch
tags:
- my-tag
比";仅";,没有被积极开发的,将是使用规则:如果。
您还可以检查CI/CD环境变量,以帮助您实现目标。
没有测试,但它可能看起来像这样:
job:
script: my_script
rules:
- if: '$CI_COMMIT_TAG == my-commit-tag && $CI_COMMIT_BRANCH == master'
我会让你摆弄变量和if
规则来满足你的需求