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:
- não será executado, pois um job não pode ter o mesmo nome de um stage;
- não será executado, pois a palavra-chave workflow é inválida;
- será executado apenas no clique do botão Run Pipeline na interface do GitLab e nos eventos de push de branches ou de tags;
- será executado apenas nos acionamentos via API do GitLab, e nos eventos de push de branches, mas não nos de tags;
- 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