我一直在尝试制作一个 GitLab CI/CD 管道来部署我的 MEAN 应用程序。我分为三个阶段:
1. 测试
2. 构建
3.部署

构建阶段有一个生成工件的 build_angular 作业。现在我想在下一阶段使用这些工件,即部署。
部署作业告诉我它已下载工件(已附加图像),但现在我想提取此工件,但我不知道工件下载到哪里。

文档中的任何地方都没有提到正在下载工件的路径。
Gitlab:如何在构建后的后续作业中使用工件-LMLPHP

最佳答案

GitLab 正在清理两个后续作业之间的工作目录。这就是为什么您必须使用 artifactsdependencies 在作业之间传递文件的原因。

当“部署”作业表示已下载构建工件时,这仅意味着它们已像以前一样重新创建。下载的工件的位置与工件路径的位置(如 .yml 文件中声明的)相匹配。

例子

build_job:
  stage: build
  script:
  - echo "create bin/ directory"
  - make
  artifacts:
    paths:
      - bin/

deploy_job:
  stage: deploy
  script:
  - ls bin/
  dependencies:
  - build_job

目录 bin/deploy_job 传递到 build_job

关于Gitlab:如何在构建后的后续作业中使用工件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56721584/

10-13 05:23