Nik*_*nko 6 gitlab-ci gitlab-ci-runner
Gitlab 文档说明了以下内容GIT_STRATEGY: none:
none还重新使用项目工作区,但跳过所有 Git 操作(包括 GitLab Runner 的预克隆脚本,如果存在)。它对于专门对工件进行操作(例如部署)的作业最有用。Git 存储库数据可能存在,但肯定会过时,因此您应该只依赖从缓存或工件带入项目工作区的文件。
我仍然有点困惑这应该如何运作。如果不能保证源代码存在,则项目工作区中可能没有源代码,因此文件.gitlab-ci.yml也会丢失。如果没有构建脚本,作业必定会失败。如果根据外部因素,源仅部分丢失,则作业将随机失败,这比每次都失败更糟糕。但是,如果每次都失败,那么该功能还有什么意义呢?
我看到的另一种可能性是.gitlab-ci.yml可能在运行时注入,因此即使没有存储库的新副本,也会有一个构建脚本。如果是这样,我可以从存储库中定义更多文件以注入构建过程吗?这些特定工作有哪些限制?
Jak*_*nia 12
是的,.gitlab-ci.yml 文件不会像所有其他文件一样复制到系统上。但这并不重要,因为该作业不是从文件运行的。该作业作为脚本在您的目标上运行(甚至在此之前,因为它定义了它将运行的目标)。尽管您可能想从其他服务器复制文件,但在没有 git 克隆的情况下无法仅复制选定的文件。
当您想要运行GIT_STRATEGY: noneslackchat 通知之类的一个很好的例子作为构建的最后阶段时,您确实不想克隆千兆字节的存储库数据只是为了推送通知。
| 归档时间: |
|
| 查看次数: |
15275 次 |
| 最近记录: |