【问题标题】:Efficient way to write gitlab ci script编写gitlab ci脚本的高效方法
【发布时间】:2020-10-30 05:27:06
【问题描述】:

我有一个 gitalb CI pipiline,如下所示。

A阶段

  • 工作1
  • 工作2
  • 工作3

B阶段

  • 工作1

在这两个阶段的所有作业中,首先安装包依赖项。如何以有效的方式处理此问题,以使总管道运行时间最少。我也可以使用多个跑步者,所以 job1、job2、job3 可以并行运行。也可以同时运行多个管道。

【问题讨论】:

    标签: gitlab-ci


    【解决方案1】:

    您应该定义一个cache: 规则来缓存您的依赖项。在缓存上使用适当的key: 以确保在适当的位置重新使用缓存。

    另见:caching dependencies

    【讨论】:

    • ty @sytech 问题是我有多个跑步者可以用来并行运行作业。因此,要为多个跑步者缓存它,我必须将缓存存储在 s3 中。但是当多个管道同时运行时会发生什么。它会被覆盖还是最好的方法是什么。
    • 您可以适当地设置key:,以便在您认为缓存有效的情况下保留缓存。作业第一次运行时,显然可能还没有缓存,但之后应该缓存。例如,您可以将key 设置为$CI_COMMIT_REF_NAME,因此同一分支上的所有构建都将利用相同的缓存。有很多方法可以配置它。有关更多信息,请参阅链接文档@Origin
    猜你喜欢
    • 2018-07-25
    • 2011-01-03
    • 1970-01-01
    • 2021-10-14
    • 2019-02-22
    • 2020-08-20
    • 2019-04-10
    • 1970-01-01
    • 2020-04-27
    相关资源
    最近更新 更多