.gitlab-ci分阶段执行顺序

时间:2019-05-02 13:43:39

标签: gitlab gitlab-ci gitlab-ci-runner

我有这个.gitlab-ci.yml文件:

stepA:
  script:
    - echo "A"
deploy:
  script:
    - echo "1"
stepB:
  script:
    - echo "B"

如何设置应该首先运行哪个阶段? 一些作业可以由多个gitlab运行程序并行运行。 我只想确保在运行部署阶段之前完成步骤A至B

2 个答案:

答案 0 :(得分:0)

这正是stages的用途。在实际描述“工作”时,您在这里使用“阶段”一词。

同一阶段的工作可以并行运行(如果您有赛跑者来支持),但是阶段按顺序运行。

首先在.gitlab-ci.yml的顶层定义您的2个阶段:

stages:
  - build
  - dist

然后在每个作业上,指定其所属的阶段:

stepA:
  stage: build
  script:
    - echo "A"
deploy:
  stage: dist
  script:
    - echo "1"
stepB:
  stage: build
  script:
    - echo "B"

现在,stepAstepB将首先运行(以任何顺序甚至并行运行),然后运行deploy,前提是第一阶段成功。

答案 1 :(得分:0)

enter image description here下面的代码在inheritance中使用

  <div id="notificationsBody" class="notifications">
              {% for notifications in notification|slice:"0:10" %}
              <a href="{% url 'chat:thread' user %}">
                <span id="notification-{{notification.id}}">
                  {{ notifications.notification_chat.message }}
                  via {{ notifications.notification_chat.user }}
                  at {{ notifications.notification_chat.timestamp }}
                </span>
              </a>
              {% endfor %}

假设:

  1. 您正在为应用程序使用专用的运行程序,并在同一台计算机上配置了运行程序。如果没有,请随时进行修改和ssh步骤。
  2. 这是我在此处回答的概念性构建基块,可以根据要求进行调整。

  3. 在我的情况下,最好的是一次部署在多台服务器上。

注意:出于隐私原因,标签已从图片中删除。