Gitlab CI:找不到生成阶段的输出

Gitlab CI:找不到生成阶段的输出,gitlab,gitlab-ci,gitlab-ci-runner,Gitlab,Gitlab Ci,Gitlab Ci Runner,我在典型的三个阶段中设置了.gitlab-ci.yml文件:测试、构建、部署。在构建阶段,我运行一个命令来编译我的项目并将其放入tarball中。构建阶段似乎成功地执行了,因为它进入了部署阶段,但是部署阶段说它找不到tarball。它在另一个目录中吗?怎么了?谢谢。对于每个测试gitlab ci,请清理生成文件夹,因此生成阶段的输出文件在部署阶段不可用 您还需要在部署阶段重建项目 “阶段”仅用于排序测试,即避免在生成测试失败时尝试执行部署测试 编辑: 自从Gitlab 8.6以来,可以使用我惊讶

我在典型的三个阶段中设置了.gitlab-ci.yml文件:测试、构建、部署。在构建阶段,我运行一个命令来编译我的项目并将其放入tarball中。构建阶段似乎成功地执行了,因为它进入了部署阶段,但是部署阶段说它找不到tarball。它在另一个目录中吗?怎么了?谢谢。

对于每个测试gitlab ci,请清理生成文件夹,因此生成阶段的输出文件在部署阶段不可用

您还需要在部署阶段重建项目

“阶段”仅用于排序测试,即避免在生成测试失败时尝试执行部署测试

编辑:
自从Gitlab 8.6以来,可以使用

我惊讶地看到同样的行为(在Gitlab 8.4上)

我使用
cmake
创建makefile,然后
make
构建,然后
maketest
运行测试。我在
build/
目录中运行所有这些

我不想重复我自己,也不想轻易地确定哪些步骤失败了。因此,我创建了不同的gitlab ci阶段:
cmake
make
test
,等等。然后我告诉gitlab ci使用
缓存
选项保留
构建
目录:

cache:
    key: "$CI_BUILD_REF_NAME"
    untracked: true
    paths:
        - build/
我认为
选项将为作用于同一分支的所有阶段保持相同的构建目录。请参见此处的gitlab ci文档:

编辑:不要为此使用
缓存
!GitLab在8.4中的各个阶段之间实现了可重用工件:
CI运行人员必须进行调整以支持这一点。请参阅:

怪异。将汇编放在单独的工作中会更好吗?干的方法是什么?哦,是的,这会更好,但此时您不能重用其他阶段/测试的输出。我回到post#3423,但我看到您已经这样做了+1.不过,该功能似乎已被向后推了几次。您可以创建相关的
工件:路径:
。这允许以后下载。是的,我很确定这是在我发布这篇文章之后添加的。