FC ConcursosFC Concursos

Questão FC370165

Considere o seguinte arquivo .gitlab-ci.yml, que define um pipeline no GitLab CI/CD: workflow: rules: - if: $CI_PIPELINE_SOURCE == "web" - if: $CI_PIPELINE_SOURCE == "push" stages:

Automação e Gestão de Projetos de Software

FGV · 2024

Considere o seguinte arquivo .gitlab-ci.yml, que define um pipeline no GitLab CI/CD:

 

workflow:
rules:
  - if: $CI_PIPELINE_SOURCE == "web"
  - if: $CI_PIPELINE_SOURCE == "push"

 

stages:
  - primeiro

 

primeiro:
  stage: primeiro
  script:
    - echo "Executando..."

 

O pipeline do GitLab CI/CD descrito acima:

  1. não será executado, pois um job não pode ter o mesmo nome de um stage;
  2. não será executado, pois a palavra-chave workflow é inválida;
  3. será executado apenas no clique do botão Run Pipeline na interface do GitLab e nos eventos de push de branches ou de tags;
  4. será executado apenas nos acionamentos via API do GitLab, e nos eventos de push de branches, mas não nos de tags;
  5. será executado apenas nos acionamentos via WebHooks registrados no GitLab, e nos eventos de push de branches, mas não nos de tags.
Mostrar resposta e comentário

Gabarito

Certo

Comentário do professor

O bloco workflow com rules define quando o pipeline será criado, antes mesmo dos jobs. Aqui há duas condições baseadas na variável pré-definida $CI_PIPELINE_SOURCE.

A regra if: $CI_PIPELINE_SOURCE == "web" corresponde ao acionamento via interface do GitLab — ou seja, ao clicar em Run Pipeline (botão Run).

A regra if: $CI_PIPELINE_SOURCE == "push" cobre eventos de push, que incluem commits enviados a branches e o push de tags; nesses casos o pipeline também é criado automaticamente.

Como não há outras regras, o pipeline só será executado nas duas situações acima. Quando acionado, o stage e o job definidos (nomeados como primeiro) serão executados e rodarão o script que contém.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo