Title: Desenvolvimento de Software / Jenkins
Tags: Desenvolvimento_de_Software Resumo
On every note of this deck, unless a note says otherwise:
tldr: - Jenkins é um servidor de automação open source (Java) para CI/CD, automatizando build, testes e deploy e outras tarefas repetitivas.
- Atua em:
- CI: build/test a cada mudança no código, ajudando a detectar falhas cedo.
- CD: automatiza implantação em ambientes (dev/test/prod).
- Automação geral: relatórios, testes de performance, notificações, cobertura etc.
- Integrações: Git/SVN, Maven/Gradle, cloud, servidores de app, etc.
- Arquitetura: modelo Master/Agent (Master/Slave).
- Agentes estáticos: configurados manualmente (comuns on-premises).
- Agentes dinâmicos: provisionados automaticamente sob demanda (ex.: via nuvem).
- Jobs & Pipelines:
- Job = tarefa automatizada (build, test, deploy).
- Pipeline = encadeamento dessas etapas.
- Definição via DSL em Groovy:
  - Declarative Pipeline (mais estruturado/opinativo)
  - Scripted Pipeline (mais flexível/programático)
- Agentes (agents) executam os jobs e permitem paralelismo e escalabilidade.
- Conexão Master–Agent pode ocorrer via SSH (porta 22) ou JNLP (porta 50000).
- Segurança:
- Autenticação via base própria, LDAP ou SAML/SSO.
- Gestão de segredos: Credentials, Secret text, Secret file, plugins (ex.: Vault), variáveis de ambiente (criptografadas).
- IaC no Jenkins:
- JCasC (Jenkins Configuration as Code): configuração do Jenkins em YAML.
- Pipeline as Code (PaC): pipeline versionada no repositório via Jenkinsfile (Groovy).
- API: acesso remoto estilo REST em .../api, com formatos como XML, JSON (e suporte via Python).
link: https://documentacao.online/estudos/1ant.html

front: (CEBRASPE/AGER MT/2023) Assinale a opção que apresenta exemplo de ferramenta que permite realizar automação de código — incluindo a execução de tarefas relacionadas à criação, ao teste e à entrega ou implantação de software — e, assim, realizar, no DevOps, integração contínua e entrega contínua (CI/CD).
a) jenkins
b) maven
c) ansible
d) puppet
e) docker
response: Alternativa A
comment: Das afirmativas apontadas, a única que apresenta uma ferramenta responsável por fazer entregas e integrações contínuas é o Jenkins. (Gabarito: Letra A)
title: Jenkins
Other fields (not shown on cards):
back: Alternativa A - Das afirmativas apontadas, a única que apresenta uma ferramenta responsável por fazer entregas e integrações contínuas é o Jenkins. (Gabarito: Letra A)

front: (CEBRASPE/TELEBRAS/2022) A respeito da ferramenta de automação Jenkins, julgue o item que se segue. Um modelo definido pelo usuário que construa estágios para uma aplicação ser entregue é considerado um pipeline.
response: Certo
comment: Perfeito! Uma pipeline no Jenkins constrói um conjunto de passos, ou estágios, para ser realizado pelos agentes. (Gabarito: Certo)
title: Jenkins
Other fields (not shown on cards):
back: Certo - Perfeito! Uma pipeline no Jenkins constrói um conjunto de passos, ou estágios, para ser realizado pelos agentes. (Gabarito: Certo)

front: (CEBRASPE/SERPRO/2021) No que se refere ao uso de Jenkins, julgue o item a seguir. O Jenkins permite interagir com diferentes tipos de credenciais, sendo uma delas a utilização de SSH com chaves públicas e privadas, para autenticar somente o username com a chave privada.
response: Certo
comment: Apesar da construção “estranha” no final da questão, ela está correta. Temos, de fato, o uso do SSH com chaves públicas e privadas, permitindo autenticar o username com sua chave privada. (Gabarito: Certo)
title: Jenkins
Other fields (not shown on cards):
back: Certo - Apesar da construção “estranha” no final da questão, ela está correta. Temos, de fato, o uso do SSH com chaves públicas e privadas, permitindo autenticar o username com sua chave privada. (Gabarito: Certo)

front: (CEBRASPE/TELEBRAS/2022) A respeito da ferramenta de automação Jenkins, julgue o item que se segue. A ferramenta em questão possui o recurso JCasC (Jenkins Configuration as code), que é capaz de parametrizar configurações em arquivo do tipo yaml.
response: Certo
comment: Perfeito! No Jenkins, a ferramenta de IaC usada para gerenciar configurações gerais é o JCasC – ou Jenkins Configurantion as Code. Com ela, usamos um arquivo YAML para gerenciar as configurações gerais do componentes do Jenkins. (Gabarito: Certo)
title: Jenkins
Other fields (not shown on cards):
back: Certo - Perfeito! No Jenkins, a ferramenta de IaC usada para gerenciar configurações gerais é o JCasC – ou Jenkins Configurantion as Code. Com ela, usamos um arquivo YAML para gerenciar as configurações gerais do componentes do Jenkins. (Gabarito: Certo)

front: (FCC/TRT 17/2022) Para construir um pipeline como código no Jenkins, um analista utilizou um arquivo de texto simples conhecido como
a) Pipejenkins que especifica o encadeamento dos estágios do processo DevSecOps.
b) Scripted que especifica o enlace crítico entre as etapas primárias DevOps.
c) JenkinsFile que normalmente contém um código Groovy Domain Specific Language.
d) JenkinsGroovy que especifica o enlace crítico usando código DomainPline.
e) Declarative que especifica o enlace crítico usando código GroovyPline.
response: Alternativa C
comment: Como vimos, as configurações são feitas num arquivo Jenkins Files, usando uma abordagem DSL com a linguagem Groovy (Groovy Domain Specific Language). (Gabarito: Letra C)
title: Jenkins
Other fields (not shown on cards):
back: Alternativa C - Como vimos, as configurações são feitas num arquivo Jenkins Files, usando uma abordagem DSL com a linguagem Groovy (Groovy Domain Specific Language). (Gabarito: Letra C)

front: (CEBRASPE/SERPRO/2021) No que se refere ao uso de Jenkins, julgue o item a seguir. É possível consumir recursos pela API disponibilizada pelo Jenkins, utilizando-se Python para buscar e instalar artefatos.
response: Certo
comment: Perfeito! Podemos acessar as APIs remotas do Jenkins, dentre outros, por meio de Python. Correta a assertiva. (Gabarito: Certo)
title: Jenkins
Other fields (not shown on cards):
back: Certo - Perfeito! Podemos acessar as APIs remotas do Jenkins, dentre outros, por meio de Python. Correta a assertiva. (Gabarito: Certo)

front: (AOCP/IF MA/2023) No contexto do Jenkins, qual é a abordagem eficiente para implementar pipelines de Continuous Integration e Continuous Delivery (CI/CD) em um ambiente de desenvolvimento com várias equipes e projetos?
a) Criar um único pipeline para todas as equipes e projetos, compartilhando recursos e ferramentas entre todos os desenvolvedores.
b) Utilizar somente plugins padrão do Jenkins, evitando plugins de terceiros para manter a simplicidade do ambiente.
c) Configurar pipelines específicos para cada equipe ou projeto, utilizando a funcionalidade de Pipeline as Code com arquivos Jenkinsfile.
d) Ignorar a integração contínua e focar apenas na entrega contínua, reduzindo a complexidade do ambiente de desenvolvimento.
e) Utilizar várias instâncias do Jenkins em um único servidor, isolando cada equipe e projeto.
response: Letra C
comment: Vamos ver cada afirmativa. a) Errado. O Jenkins trabalha com múltiplos pipelines. A indicação é que seja usado uma para cada equipe e/ou projeto. b) Errado. O Jenkins possui integração com plugins externos justamente por serem eficientes. c) Certo. Vide letra A. d) Errado. Não devemos ignorar a integração contínua. e) Errado. O ideal é que tenhamos instâncias em servidores distribuídos, evitando problemas de disponibilidade. Correta a letra C, portanto.
title: Jenkins
Other fields (not shown on cards):
back: Letra C - Vamos ver cada afirmativa. a) Errado. O Jenkins trabalha com múltiplos pipelines. A indicação é que seja usado uma para cada equipe e/ou projeto. b) Errado. O Jenkins possui integração com plugins externos justamente por serem eficientes. c) Certo. Vide letra A. d) Errado. Não devemos ignorar a integração contínua. e) Errado. O ideal é que tenhamos instâncias em servidores distribuídos, evitando problemas de disponibilidade. Correta a letra C, portanto.

front: (CETREDE/UFC/2022) Durante os processos de integração, diferentes ferramentas podem ser utilizadas para automatizar ou apoiar tarefas. Nesse contexto, as ferramentas Jenkins e Maven têm sido bastante utilizadas. Sobre essas ferramentas, marque a alternativa correta.
a) Ambas as ferramentas são de controle de versão de código e apoiam a automação de testes unitários e funcionais.
b) Jenkins é um analisador estático que retorna métricas do código enquanto que Maven é uma ferramenta de testes unitários.
c) Jenkins é uma tecnologia que permite executar aplicações em containers autossuficientes enquanto que Maven é um servidor de integração contínua e entrega contínua.
d) Jenkins é um servidor de automação que ajuda a automatizar processos como integração contínua enquanto que Maven é uma ferramenta que auxilia a gerenciar build e dependências.
response: Letra D
comment: Vamos ver as alternativas. a) Errado. Jenkins é uma ferramenta de automação do CI e CD, enquanto Maven é uma ferramenta de automação de build de projetos feitos em Java. b) Errado. Vide letra A. c) Errado. Vide letra A. d) Certo. Vide letra A. Portanto, correta a letra D.
title: Jenkins
Other fields (not shown on cards):
back: Letra D - Vamos ver as alternativas. a) Errado. Jenkins é uma ferramenta de automação do CI e CD, enquanto Maven é uma ferramenta de automação de build de projetos feitos em Java. b) Errado. Vide letra A. c) Errado. Vide letra A. d) Certo. Vide letra A. Portanto, correta a letra D.

front: (FEPESE/PREF. B. CAMBORIÚ/2023) Analise as afirmativas abaixo sobre integração contínua e implantação contínua com Jenkins.
1. Um agente é tipicamente uma máquina ou container que se conecta a um controlador Jenkins e direciona o controlador para executar tarefas específicas.
2. Um Node pode ter zero ou mais executores configurados que correspondem a quantos Jobs ou pipelines concorrentes são passíveis de execução naquele Node.
3. Um item é uma entidade na interface de usuário web correspondendo a uma pasta, pipeline ou job.
Assinale a alternativa que indica todas as afirmativas corretas.
a) É correta apenas a afirmativa 1.
b) São corretas apenas as afirmativas 1 e 2.
c) São corretas apenas as afirmativas 1 e 3.
d) São corretas apenas as afirmativas 2 e 3.
e) São corretas as afirmativas 1, 2 e 3.
response: Alternativa D
comment: Vamos analisar cada um dos itens. 1. O controlador que direciona o agente a executar tarefas, não o contrário. 2. Segundo a documentação oficial do Jenkins: Executor Um slot para execução de trabalho definido por um Pipeline ou trabalho em um Node. Um Node pode ter zero ou mais Executores configurados, o que corresponde a quantos Jobs ou Pipelines simultâneos são capazes de executar naquele Node. 3. Segundo a documentação oficial do Jenkins: Item Uma entidade na interface do usuário da Web correspondente a: Pasta, Pipeline ou trabalho. Portanto, certos os itens 2 e 3.
title: Jenkins
Other fields (not shown on cards):
back: Alternativa D - Vamos analisar cada um dos itens. 1. O controlador que direciona o agente a executar tarefas, não o contrário. 2. Segundo a documentação oficial do Jenkins: Executor Um slot para execução de trabalho definido por um Pipeline ou trabalho em um Node. Um Node pode ter zero ou mais Executores configurados, o que corresponde a quantos Jobs ou Pipelines simultâneos são capazes de executar naquele Node. 3. Segundo a documentação oficial do Jenkins: Item Uma entidade na interface do usuário da Web correspondente a: Pasta, Pipeline ou trabalho. Portanto, certos os itens 2 e 3.

front: (CEBRASPE/TELEBRAS/2022) A respeito da ferramenta de automação Jenkins, julgue o item que se segue. A ferramenta em apreço tem a capacidade de configurar e armazenar credenciais criptografadas.
response: Certo
comment: O Jenkins usa o algortimo AES (criptografia simétrica) para armazenar seus segredos (elementos sensíveis, como senhas e chaves criptográficas). O diretório que armazena esses segredos é o JENKINS_HOME/secrets.
title: Jenkins
Other fields (not shown on cards):
back: Certo - O Jenkins usa o algortimo AES (criptografia simétrica) para armazenar seus segredos (elementos sensíveis, como senhas e chaves criptográficas). O diretório que armazena esses segredos é o JENKINS_HOME/secrets.

front: (CEBRASPE/BNB/2022) Considerando a figura a seguir, julgue o próximo item, acerca dos conceitos de DevOps. Com base nas etapas do DevOps, é correto afirmar que a ferramenta Jenkins está mais relacionada à etapa monitor que à etapa deploy.
response: Errado
comment: O Jenkins atua provendo os recursos e tarefas necessários para fazermos a integração e a entrega. Ele atua em todo o processo – até a entrega. Acontece que o monitoramento é feito em etapa depois. Não é que o Jenkins não faça monitoramento, ele o faz a partir dos logs gerados, porém seu enfoque é muito maior nas etapas anteriores.
title: Jenkins
Other fields (not shown on cards):
back: Errado - O Jenkins atua provendo os recursos e tarefas necessários para fazermos a integração e a entrega. Ele atua em todo o processo – até a entrega. Acontece que o monitoramento é feito em etapa depois. Não é que o Jenkins não faça monitoramento, ele o faz a partir dos logs gerados, porém seu enfoque é muito maior nas etapas anteriores.

front: (CEBRASPE/MPE CE/2020) Com relação a ferramentas de controle de versão, de automação de build e de integração contínua, julgue o item seguinte. Jenkins é um servidor de automação de código aberto com recursos nativos voltados para tarefas inerentes à integração contínua.
response: Certo
comment: Perfeito – o Jenkins é um programa de código aberto que atua tanto na integração quanto na entrega contínua.
title: Jenkins
Other fields (not shown on cards):
back: Certo - Perfeito – o Jenkins é um programa de código aberto que atua tanto na integração quanto na entrega contínua.

front: (CESGRANRIO/IPEA2024) O Jenkins Pipeline, ou simplesmente Pipeline, é um conjunto de plug-ins que suporta a implementação e a integração de pipelines de entrega contínua no Jenkins. A definição de um Jenkins Pipeline é normalmente escrita em um arquivo de texto chamado Jenkinsfile, como mostrado no exemplo a seguir.
node {
stage('Build') {
echo 'Building....'
}
stage('Test') {
echo 'Testing....'
}
stage('Deploy') {
echo 'Deploying....'
}
}
Esse arquivo de texto é um exemplo de uma
a) Depictive Pipeline
b) Descriptive Pipeline
c) Declarative Pipeline
d) Scripted Pipeline
e) Hybrid Pipeline
response: Letra D
comment: Temos duas pipelines no Jenkins: a declarativa e a scriptada. A pipeline demonstrada é a scriptada, que define passo a passo o que deve ser executado – como as funções “echo” em cada estágio da operacionalização.
title: Jenkins
Other fields (not shown on cards):
back: Letra D - Temos duas pipelines no Jenkins: a declarativa e a scriptada. A pipeline demonstrada é a scriptada, que define passo a passo o que deve ser executado – como as funções “echo” em cada estágio da operacionalização.

front: (CEBRASPE/CAU BR/2024) Julgue o item subsequente, a respeito das ferramentas de DevOps e das soluções mobile. O Jenkins é uma ferramenta de integração contínua de código aberto que pode ser instalada e configurada em qualquer servidor, enquanto o Travis CI é uma ferramenta de integração contínua hospedada na nuvem que se integra com o GitHub.
response: Certo
comment: Certíssimo! O Jenkins é uma ferramenta para CI/CD, de código aberto, operacionalizando em qualquer servidor. Já o Travis CI é uma ferramenta de integração contínua hospedada na nuvem, fornecendo integração com repositórios de código e facilitando a integração contínua com esses repositórios.
title: Jenkins
Other fields (not shown on cards):
back: Certo - Certíssimo! O Jenkins é uma ferramenta para CI/CD, de código aberto, operacionalizando em qualquer servidor. Já o Travis CI é uma ferramenta de integração contínua hospedada na nuvem, fornecendo integração com repositórios de código e facilitando a integração contínua com esses repositórios.