如何在GitLab CI中获取提交版本并按提交版本命名制品压缩包
GitLab CI 制品打包为带提交版本号ZIP的配置修改方案
前置说明
你当前提供的配置存在重复定义build-docker job的问题,会触发CI语法校验报错,需要先删除重复的job内容,再做后续调整。
调整后的完整配置
build-docker: stage: build before_script: - git clean -xfdf # 若使用debian系基础node镜像保留此行,alpine系镜像请替换为 apk add --no-cache zip - apt update && apt install -y zip tags: - docker-linux image: node script: - echo "Start building App" - npm install - npm run build - npm run test - echo "Build successfully!" - if [ $CI_COMMIT_REF_NAME == "master" ]; then node ./sonarqube-scanner.js --serverUrl $SONAR_URL --token $SONAR_PAT --projectName 'blk-support-portal' --sources 'src'; fi; # 打包dist目录为ZIP,以最近一次提交的短哈希作为版本号命名,可自行修改压缩包前缀 - zip -r ./dist-${CI_COMMIT_SHORT_SHA}.zip dist/ artifacts: paths: # 直接上传打包好的ZIP文件,如需同时保留原始dist目录可再加一行 - dist/ - ./dist-${CI_COMMIT_SHORT_SHA}.zip
补充说明
- 配置中使用的
CI_COMMIT_SHORT_SHA是GitLab CI内置变量,对应最近一次提交的短哈希值,是常用的版本号标识;如需使用完整40位提交哈希可替换为CI_COMMIT_SHA,如果是打tag的版本可以替换为CI_COMMIT_TAG - 如果你的自定义node镜像已经预装了zip工具,可以删除
before_script里的安装命令
内容的提问来源于stack exchange,提问作者Rohith
相关产品推荐
相关产品推荐

