是否可以跨多个gitlab管道“锁定”一组作业

时间:2020-01-15 05:55:13

标签: gitlab gitlab-ci

我有多个作业使用单个外部资源(服务器)。第一项工作将应用程序部署到环境中,第二项在此环境中执行测试,第三项在此环境中执行集成测试。

我知道有Resource group选项。但是它仅锁定作业。如果两个管道同时运行,则需要从第一个管道执行job1job2job3,并且只有在第一个管道释放资源时,第二个管道才能启动jobs1-3。有没有办法做到这一点?管道中还有其他作业-它们应该同时工作。

2 个答案:

答案 0 :(得分:4)

与 gitlab 支持沟通后 issue 已创建。你可以点赞。

答案 1 :(得分:1)

为工作1-3设置专用转轮。

  1. Setup a new runner,带有唯一标签,例如'jobs-1-2-3'和set the option concurrent to 1

  2. 将唯一标签(例如“ jobs-1-2-3”)添加到有问题的作业中。

    job1:
      tags:
        - jobs-1-2-3
    job2:
      tags:
        - jobs-1-2-3
    job3:
      tags:
        - jobs-1-2-3
    

恕我直言,这省事又可靠。