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

如何在Gitlab CI中指定以点开头的artifact产物名称?

GitLab CI指定带前导点的artifact名称解决方案

GitLab CI的artifact命名逻辑默认会自动裁剪名称开头的点、空格等特殊字符,直接在name字段写带前导点的名称、或是加转义符都无法绕过这个规则,可通过以下两种方案解决:

方案一:手动打包目标文件(推荐)

自己在执行脚本阶段提前将产物打包为符合命名要求的压缩包,再直接将该压缩包设置为artifact,完全绕开GitLab的自动命名裁剪逻辑:

your_job:
  script:
    # 手动将目标文件打包为带前导点的zip包
    - zip .last_version.zip .last_version
  artifacts:
    when: on_success
    # 直接指定已经打包好的压缩包路径
    paths: [.last_version.zip]
    expire_in: 1 week

该方案生成的artifact下载后文件名就是完全符合预期的.last_version.zip,无隐含问题,适配后续自动化脚本处理的场景。

方案二:零宽空格取巧法

如果需要保留GitLab的自动打包逻辑,可以在name字段的前导点之前添加一个零宽空格(Unicode编码U+200B),GitLab会将这个不可见字符识别为合法的名称开头,不会裁剪后续的点:

artifacts:
  when: on_success
  paths: [.last_version]
  # 引号内第一个字符为零宽空格,后续为你需要的带点名称
  name: "​.last_version"
  expire_in: 1 week

注意:该方案生成的压缩包名称实际开头包含不可见的零宽空格,如果后续需要用脚本自动匹配处理该文件,需要额外处理这个字符,否则会出现找不到文件的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 08:06:02