Pular para o conteúdo principal

Questão de Engenharia de Software — Geral — FCC 2024

Engenharia de SoftwareGeral
Código
fc147278
Banca
FCC
Órgão
BAHIAGÁS
Ano
2024
Cargo
APO ( )

Um Analista criou um repositório no Gillab CCD e fez um push do código-fonte para ele. Em seguida, criou o arquivo na raiz do seu projeto para o Gitlah Runner gerenciar o pipeline. Nesse arquivo, definiu as etapas do seu pipeline, como build, test e deploy. O arquivo criado normalmente tem o nome padrão de

  1. Agitlab.conf
  2. Bgitlab-conf.yml
  3. Cgitlab-ciyml
  4. Dgillab.bat
  5. Egitrunnerymi
Revelar gabarito e comentário

GabaritoC — gitlab-ciyml

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

GitLab CI/CD: o arquivo de configuração do pipeline

Gabarito: letra C. O arquivo padrão que o GitLab Runner procura na raiz do repositório para gerenciar o pipeline é o gitlab-ci.yml — a alternativa C traz exatamente esse nome, com a extensão .yml (YAML). As demais opções ou usam extensões erradas (.conf, .bat), ou grafias incorretas do nome, ou não correspondem a nenhum arquivo de configuração do GitLab.

O GitLab CI/CD é a ferramenta de integração e entrega contínua embutida no GitLab. Quando você faz um push de código para um repositório, o GitLab verifica se existe um arquivo de configuração na raiz do projeto que descreve o pipeline — a sequência de etapas (como build, test e deploy) que serão executadas automaticamente. Esse arquivo é escrito em YAML (YAML Ain't Markup Language), um formato de serialização de dados legível por humanos, e segue a convenção de nomenclatura gitlab-ci.yml. O GitLab Runner é o agente que executa os jobs definidos nesse arquivo, mas quem define o pipeline é o próprio arquivo gitlab-ci.yml.

A razão de ser dessa convenção é a padronização: o GitLab, ao receber um push, procura automaticamente por um arquivo chamado gitlab-ci.yml na raiz do repositório. Se ele existir, o pipeline é disparado; se não, nenhuma automação ocorre. É um mecanismo de convenção sobre configuração — o nome do arquivo é parte do contrato da ferramenta, não uma escolha livre do desenvolvedor.

Na prática, um projeto com CI/CD configurado tem uma estrutura parecida com esta:

meu-projeto/
├── .git/
├── src/
├── README.md
└── gitlab-ci.yml   ← arquivo que define o pipeline

Dentro do gitlab-ci.yml, você define os stages (etapas) e os jobs (tarefas) que serão executados. Por exemplo:

stages:
  - build
  - test
  - deploy

build-job:
  stage: build
  script:
    - echo "Compilando..."

test-job:
  stage: test
  script:
    - echo "Rodando testes..."

deploy-job:
  stage: deploy
  script:
    - echo "Fazendo deploy..."

A pegadinha desta questão é puramente de memorização do nome do arquivo. A banca não testa conceitos complexos de CI/CD, mas sim se o candidato conhece a convenção padrão do GitLab. É uma questão de letra de lei — ou, neste caso, de letra de ferramenta. O candidato que já usou GitLab ou estudou CI/CD reconhece gitlab-ci.yml na hora; quem nunca viu, precisa decorar.

Guarde o padrão: gitlab-ci.yml — sempre com hífen entre "gitlab" e "ci", e a extensão .yml (não .yaml, embora ambas sejam aceitas pelo YAML, o GitLab documenta oficialmente gitlab-ci.yml). É exatamente esse nome que as alternativas tentam distorcer.

  1. 1Push do código
  2. 2GitLab procura gitlab-ci.yml
  3. 3Runner executa pipeline
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

gitlab.conf — a extensão .conf é usada para arquivos de configuração de diversos softwares (como Apache, nginx, etc.), mas não é a extensão do arquivo de pipeline do GitLab. O GitLab CI/CD usa YAML, portanto a extensão correta é .yml (ou .yaml). Além disso, o nome "gitlab.conf" não segue a convenção gitlab-ci.

Alternativa B — ❌ Incorreta

gitlab-conf.yml — aqui a extensão está correta (.yml), mas o nome está errado: o correto é gitlab-ci.yml, com "ci" (de Continuous Integration) entre "gitlab" e o hífen. "gitlab-conf" não é um nome reconhecido pelo GitLab para o arquivo de pipeline.

Alternativa C — ✅ Correta ⟵ GABARITO

gitlab-ci.yml — este é exatamente o nome padrão do arquivo de configuração do GitLab CI/CD. O GitLab procura por esse arquivo na raiz do repositório para detectar e executar o pipeline. A extensão .yml indica que o conteúdo é escrito em YAML, a linguagem de serialização usada para definir stages, jobs e scripts.

Alternativa D — ❌ Incorreta

gillab.bat — além do erro de grafia ("gillab" em vez de "gitlab"), a extensão .bat é de arquivos de lote do Windows (batch files), que não têm relação com a configuração de pipelines do GitLab. O GitLab CI/CD não usa arquivos .bat para definir pipelines.

Alternativa E — ❌ Incorreta

gitrunnerymi — esta alternativa mistura "gitrunner" (referência ao GitLab Runner) com uma extensão inexistente "ymi". O arquivo de configuração não é nomeado em homenagem ao Runner, mas sim à ferramenta de CI (Continuous Integration). O nome correto é gitlab-ci.yml, não "gitrunnerymi".

NÃO CAIA NESSA!

A banca aposta no candidato que não conhece o nome exato do arquivo e tenta confundir com variações plausíveis: troca a extensão (.conf, .bat), inverte a ordem das palavras (gitlab-conf), ou mistura com o nome do Runner (gitrunnerymi). O nome gitlab-ci.yml é uma convenção fixa — decore-o como decora uma fórmula. Quem já configurou um pipeline reconhece na hora; quem nunca viu, precisa memorizar. Com treino, você não cai mais nessa.

PEGA ESSA DICA!

Para fixar, lembre da estrutura: gitlab (ferramenta) + -ci (Continuous Integration) + .yml (extensão YAML). Compare com outras ferramentas de CI/CD: o Jenkins usa Jenkinsfile, o GitHub Actions usa .github/workflows/*.yml, o Travis CI usa .travis.yml. Cada ferramenta tem sua convenção — e as bancas adoram cobrar esses nomes padrão.

Gabarito: letra C

Link permanente: /questoes/fc147278