我将工件发布到Google云中的工件注册表中。我想有一个语义版本控制发布周期使用git注释标签到主分支。
steps:
# This step show the version of Gradle
- id: Gradle Install
name: gradle:7.4.2-jdk17-alpine
entrypoint: gradle
args: ["--version"]
# This step build the gradle application
- id: Build
name: gradle:7.4.2-jdk17-alpine
entrypoint: gradle
args: ["assemble"]
- id: Publish
name: gradle:7.4.2-jdk17-alpine
entrypoint: "sh"
args:
- -c
- |
if [ $BRANCH_NAME == 'master' ]
then
echo "Branch is = $BRANCH_NAME"
gradle publish
fi
在最后一个发布步骤中,我想编写一个条件来查找最新版本的git标签,如1.0.0,并且应该只有在该条件匹配时才运行该步骤。类似于其他自动工具
Now on TRAVIS CI/CD
skip_cleanup: true
on:
all_branches: false
branch: master
tag: true
condition: "$TRAVIS_TAG = ~^vd+.d+.d+$"
GCP中与上述语义版本控制版本等价的是什么?如何在google cloud build上编写正则表达式条件
Cloud Build没有语义版本控制,因为它不包括一个顺序的构建号,它的增量取决于提交的数量。替换变量值将是语义版本控制最接近的等效,因为用户可以选择定义自己的替换。
下面是用于用户定义替换的示例yaml
文件:
steps:
- name: 'gcr.io/cloud-builders/docker'
args: ['build',
'--build-arg',
'node_version=${_NODE_VERSION_1}',
'-t',
'gcr.io/$PROJECT_ID/build-substitutions-nodejs-${_NODE_VERSION_1}',
'.']
- name: 'gcr.io/cloud-builders/docker'
args: ['build',
'--build-arg',
'node_version=${_NODE_VERSION_2}',
'-t',
'gcr.io/$PROJECT_ID/build-substitutions-nodejs-${_NODE_VERSION_2}',
'.']
substitutions:
_NODE_VERSION_1: v6.9.1 # default value
_NODE_VERSION_2: v6.9.2 # default value
images: [
'gcr.io/$PROJECT_ID/build-substitutions-nodejs-${_NODE_VERSION_1}',
'gcr.io/$PROJECT_ID/build-substitutions-nodejs-${_NODE_VERSION_2}'
]
您可以查看下面的链接以获取有关云构建substitutions
的其他信息:
- 在Google Cloud build 中获取(伪)顺序构建号
- 云构建食谱-增加构建号
如果你有问题或需要澄清,请告诉我。