如何在.gitlab-ci.yml中获取嵌套目录产物且不含上级目录链?
解决GitLab CI打包嵌套目录内容的问题
要只把myapp目录内的内容作为压缩产物,而不带完整目录层级,有两种简单的实现方式:
方法一:利用artifacts的root参数
直接通过指定root设置打包的根目录,让paths基于这个根目录选择内容,最终产物只会包含myapp里的文件和子目录:
artifacts: root: ${CI_PROJECT_DIR}/application/windows/AppPackages/myapp/ paths: - ./
方法二:先复制内容到临时目录再打包
如果需要更灵活的处理(比如后续调整打包内容),可以先把myapp内的内容复制到项目根目录下的新文件夹(比如dist),再打包这个新文件夹:
before_script: - mkdir -p dist - cp -r ${CI_PROJECT_DIR}/application/windows/AppPackages/myapp/* dist/ artifacts: paths: - dist/
这样生成的压缩包就只会包含你需要的myapp内部内容,不会附带前面的完整目录层级链。
内容的提问来源于stack exchange,提问作者cjhines
相关产品推荐
相关产品推荐

