gitlab - 从 gitlab-ci 目录中获取所有工件并使它们成为工件

标签 gitlab gitlab-ci

我正在尝试显示特定目录中的所有工件 .html 文件: $TOOLS_PATH/terraform_results/html 是在我的 gitlab 管道运行时在构建作业阶段生成的。

当它在 gitlab 管道中运行时,我收到警告: 正在上传工件...警告:tools/terraform_results/html/*:没有匹配的文件

我通过 gitlab-ci.yml 文件调用它:

  artifacts:
    paths:
    - "$TOOLS_PATH/terraform_results/html/*"

我做错了什么?

最佳答案

删除引号和通配符并缩进路径列表。这将压缩 html 文件夹中的所有内容。如果需要,您可以使用 *.html 等通配符来过滤文件名:

artifacts:
    paths:
      - $TOOLS_PATH/terraform_results/html/

如果这不起作用,请阅读 artifacts:paths 上的 gitlab-ci.yml 引用资料以确保您没有遗漏任何内容。例如:

Paths are relative to the project directory ($CI_PROJECT_DIR) and can’t directly link outside it.

确保 tools 目录位于项目目录的根目录中。您可以通过将 ls $CI_PROJECT_DIR 添加到您的 scripts 部分并检查运行程序日志来确认该目录是否存在。

关于gitlab - 从 gitlab-ci 目录中获取所有工件并使它们成为工件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66925004/

相关文章:

gitlab - 本地运行者文件存储在哪里?

gitlab - .gitlab-ci.yml 中的条件 after_script

docker - GitLab:无法注册运行者(使用正确的 token !) - 干净/最新的 docker install

ssh - 忽略SSH超时以继续Gitlab CI

docker - GitLab 自动开发 : Dockerfile build-args

gitlab - 是否可以在 Gitlab 中禁用 .txt 文件的语法突出显示?

gitlab - 自定义 GitLab 松弛集成消息

node.js - 在 AWS Ubuntu 实例中为 NodeJS 部署设置 GitLab CI

git - 致命 : Not a gitflow-enabled repo yet. 请先运行 'git flow init'

gitlab - Argocd 与 GITLAB 存储库的连接