代码之家  ›  专栏  ›  技术社区  ›  Nikolai Prokoschenko

是的。gitlab ci。yml是否可用于GIT_策略在Gitlab CI中=无的作业?

  •  4
  • Nikolai Prokoschenko  · 技术社区  · 7 年前

    GIT_STRATEGY: none :

    none 还重新使用项目工作区,但跳过所有Git操作(包括GitLab Runner的预克隆脚本,如果存在)。它主要适用于只在工件上操作的作业(例如部署)。Git存储库数据可能存在,但肯定已经过时,因此您应该只依赖从缓存或工件带入项目工作区的文件。

    我仍然有点困惑这应该如何工作。如果不保证源代码存在,那么项目工作区中可能没有源代码,因此 .gitlab-ci.yml 文件也将丢失。如果没有构建脚本,作业肯定会失败。如果源仅在部分时间内丢失(取决于外部因素),则作业将随机失败,这比每次失败都要糟糕。然而,如果它每次都失败,那么该功能的意义是什么?

    我看到的另一种可能性是

    1 回复  |  直到 7 年前
        1
  •  7
  •   Jakub Kania    7 年前

    是的,这个。gitlab ci。与所有其他文件一样,yml文件不会复制到系统中。但这并不重要,因为作业不是从文件运行的。作业作为脚本在目标上运行(甚至在此之前,因为它定义了将在其上运行的目标)。虽然您可能希望从其他服务器复制文件,但不可能在没有git克隆的情况下仅复制选定的文件。

    GIT_STRATEGY: none 当你真的不想仅仅为了推送一个通知而克隆千兆字节的存储库数据时,就像是在构建的最后阶段发布聊天通知一样。