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

Gitlab Releases如何仅打包指定文件/文件夹而非整个仓库?

如何在GitLab Releases中仅发布指定文件/目录

GitLab UI直接发布默认会打包整个仓库,但可以通过CI/CD实现自定义发布内容,只包含你需要的flow-definitions/bin/目录,具体操作如下:

用GitLab CI/CD自定义发布包

步骤1:配置.gitlab-ci.yml

在仓库根目录新建或修改这个配置文件,定义发布任务:

release-custom-package:
  stage: release
  image: alpine:latest
  before_script:
    - apk add --no-cache zip curl
    # 安装GitLab Release CLI(简化发布操作)
    - curl -L "https://gitlab.com/api/v4/projects/gitlab-org%2Frelease-cli/packages/generic/release-cli/latest/release-cli-linux-amd64" -o /usr/local/bin/release-cli
    - chmod +x /usr/local/bin/release-cli
  script:
    # 仅打包目标目录
    - zip -r bin-flow-defs.zip flow-definitions/bin/
    # 创建Release并上传自定义压缩包
    - release-cli create --name "Release $CI_COMMIT_TAG" --tag-name $CI_COMMIT_TAG --assets-link "{\"name\":\"bin-flow-defs.zip\",\"url\":\"$CI_PROJECT_URL/-/jobs/$CI_JOB_ID/artifacts/raw/bin-flow-defs.zip\"}"
  only:
    - tags

步骤2:触发发布流程

  • 给仓库打一个新标签(比如v1.0.1-bin-update),推送到GitLab。
  • GitLab会自动启动CI任务,完成打包和发布。
  • 去项目的Releases页面查看,就能看到仅包含bin/目录内容的bin-flow-defs.zip压缩包。

可选调整

  • 要生成tar.gz包,把打包命令换成tar -czf bin-flow-defs.tar.gz flow-definitions/bin/即可。
  • 如果想同时保留GitLab默认的全仓库包,不用修改配置,CI会在默认包之外额外添加你的自定义包。
  • 确保CI/CD权限正常:项目默认已包含CI_JOB_TOKEN,足以调用Release API完成操作。

内容的提问来源于stack exchange,提问作者DataWrangler

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 10:55:22