从 gitlab-ci dir 中获取所有工件并使其成为工件
Posted
技术标签:
【中文标题】从 gitlab-ci dir 中获取所有工件并使其成为工件【英文标题】:Grab all artifacts from gitlab-ci dir and make them an artifact 【发布时间】:2021-06-29 15:52:08 【问题描述】:我正在尝试在特定目录中显示所有工件 .html
文件:
$TOOLS_PATH/terraform_results/html
在我的 gitlab 管道运行时在构建作业阶段生成。
当它在gitlab
管道中运行时,我收到警告:
Uploading artifacts... WARNING: tools/terraform_results/html/*: no matching files
我通过 gitlab-ci.yml 文件通过以下方式调用它:
artifacts:
paths:
- "$TOOLS_PATH/terraform_results/html/*"
我做错了什么?
【问题讨论】:
刚刚跟进,您解决了这个问题吗?如果是,请选择一个答案。谢谢! 【参考方案1】:仅适用于 .html
文件
artifacts:
paths:
- $TOOLS_PATH/terraform_results/html/*.html
【讨论】:
【参考方案2】:删除引号和通配符并缩进路径列表。这将压缩html
文件夹中的所有内容。如果需要,您可以使用诸如*.html
之类的通配符来过滤文件名:
artifacts:
paths:
- $TOOLS_PATH/terraform_results/html/
如果这不起作用,请阅读artifacts:paths 上的 gitlab-ci.yml 参考,以确保您没有遗漏任何内容。例如:
路径是相对于项目目录 ($CI_PROJECT_DIR) 的,不能直接链接到项目目录之外。
确保tools
目录位于项目目录的根目录中。您可以通过将ls $CI_PROJECT_DIR
添加到您的scripts
部分并检查运行器日志来确认该目录存在。
【讨论】:
以上是关于从 gitlab-ci dir 中获取所有工件并使其成为工件的主要内容,如果未能解决你的问题,请参考以下文章
如何创建一个工件,以便它可以在 .gitlab-ci.yml 中下载