使用git注释标签的google cloud CI/CD语义发布



我将工件发布到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
  • 中获取(伪)顺序构建号
  • 云构建食谱-增加构建号

如果你有问题或需要澄清,请告诉我。

相关内容

  • 没有找到相关文章

最新更新