1. 产品简介
  2. 快速开始
  3. 编写构建流程
  4. 配置构建计划
  5. 构建节点
  6. 管理构建计划
  7. 系统插件
  8. 自定义团队插件
  9. 最佳实践
  10. 常见问题
  11. 词汇表
持续集成 / 构建制品 / 自动生成版本号

自动生成版本号

文章内容
  1. 插件
  2. if 判断

在持续集成中打包时,需要根据场景生成不同的版本号:

场景 版本号规则 版本号示例 常用环境
合并请求 mr-{合并请求 ID}-{hash} mr-123-3a11e12 开发/测试
合并后(或推送分支) {分支名}-{hash} main-3a11e12 测试
推送 tag {tag} 1.2.0 预发布/生产

有两种方式可以实现。

插件

使用「魔法版本号」插件:

stage('打包') {
  steps {
    useCustomStepPlugin(key: 'coding-public:magic-version', version: 'latest')
    script {
      readProperties(file: env.CI_ENV_FILE).each {key, value -> env[key] = value }
    }
    echo "${env.MAGIC_VERSION}"
    // codingArtifactsGeneric(files: 'web.tar.gz', repoName: 'my-generic', version: env.MAGIC_VERSION)
  }
}

if 判断

写代码进行判断:

stage('打包') {
  steps {
    script {
      if (env.TAG_NAME ==~ /.*/ ) {
        ARTIFACT_VERSION = "${env.TAG_NAME}"
      } else if (env.MR_SOURCE_BRANCH ==~ /.*/ ) {
        ARTIFACT_VERSION = "mr-${env.MR_RESOURCE_ID}-${env.GIT_COMMIT_SHORT}"
      } else {
        ARTIFACT_VERSION = "${env.BRANCH_NAME.replace('/', '-')}-${env.GIT_COMMIT_SHORT}"
      }
    }
    echo "${ARTIFACT_VERSION}"
    // codingArtifactsGeneric(files: 'web.tar.gz', repoName: 'my-generic', version: ARTIFACT_VERSION)
  }
}
上一篇外部制品库认证
最近更新
感谢反馈有用
感谢反馈没用

在阅读中是否遇到以下问题?

您希望我们如何改进?

工单咨询