You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 09:15:03