DevOps Flashcards

1
Q

O que é JENKINS?

A

É um servidor de automação independente e de código aberto que pode ser usado para automatizar todos os tipos de tarefas relacionadas à criação, teste e distribuição ou implementação de software.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Quais são as funcionalidades do JENKINS?

A
  • Gerar relatórios de testes.
  • Integrar com muitos sistemas diferentes de controle de versão.
  • Enviar para vários repositórios de artefatos.
  • Implantar diretamente em ambientes de produção ou teste.
  • Notificar os participantes do status de build
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Qual o fluxo do JENKINS?

A
  1. Desenvolvedores -> Código e testes -> -> Repositório -> JEKINS
    Depois vai em paralelo para os seguintes:
    * Artifact Repository
    * Testing reports
    * Deployment
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

O que é SONARQUBE?

A

O SonarQube é uma plataforma de software livre desenvolvida para gerenciar a qualidade do código-fonte.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Quais são as funcionalidades do SONARQUBE?

A

Geração de relatórios da base de código em relação a:
- código duplicado;
- padrões de codificação;
- testes unitários;
- complexidade de código;
- erros potenciais;
- comentário;
- design e arquitetura.

Portão de qualidade (quality gate): esse conceito central do SonarQube é um conjunto de requisitos que informa se uma nova versão de um projeto pode ou não entrar em produção. O quality gate padrão do SonarQube verifica o que aconteceu no período e falha se o novo código piorar nesse período.
Código com “mau cheiro” (code smells): o código “fedido” faz (provavelmente) o que deveria, mas será difícil de manter.
Vulnerabilidade de segurança: o SonarQube ajuda a encontrar e rastrear as inseguranças no código.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

O que é Artifactory?

A

O JFrog Artifactory é um gerenciador universal de artefatos binários usado na integração contínua (CI)/fluxo de trabalho de entrega contínua (CD) no processo de DevOps.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Qual o fluxo do Artifactory?

A

Desenvolvedores -> Repositório -> JENKINS -> Artifactory

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Quais as práticas/pipeline do DevOps?

A

Integração contínua (CI): Promove a colaboração entre a equipe, automatizando a integração de alterações de código. Cada integração é verificada por uma build automatizada (incluindo testes) para detectar erros rapidamente.
Entrega contínua (CD): Automatiza a preparação e implantação de alterações de código. Permitindo que as equipes de desenvolvimento liberem novas funcionalidades e correções de bugs de forma mais rápida e eficiente.
Automação: Automatiza o ciclo de vida do desenvolvimento de software, reduzindo erros e aumentando a produtividade
Monitoramento: Monitora o desempenho do sistema em tempo real para identificar e corrigir problemas rapidamente
Gerenciamento de configuração: Controla e gerencia as configurações de software e infraestrutura
Testes automatizados: Testa o código de forma automatizada para garantir a qualidade
Infraestrutura como código (IaC): Usa ferramentas para automatizar a infraestrutura
Virtualização e conteinerização: Usa ferramentas para virtualizar e conteinerizar o software

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Quais os tipos de pipelines do JENKINS?

A

Declarativo: Uma sintaxe mais estruturada e simples para definir pipelines. É uma versão avançada do pipeline com script.
Ex.:

pipeline { 
    agente quaisquer 
    opções { 
        retry(3) 
        skipStagesAfterUnstable() 
    } 
    estágios { 
        estágio('Construir') { 
          etapas {   
	 sh 'cmake' 
                sh 'criar sampleapp'   
            } 
      } 
        estágio('Teste'){ 
            etapas { 
                sh './testcasescript'   
	 sh './verifytestoutputscript' 
            } 
        } 
        estágio('Implantar') { 
            etapas { 
                sh './deployscript' 
            } 
        } 
    } 
}

Com script: Uma sintaxe mais flexível e poderosa que usa a linguagem de programação Groovy. Uma definição de pipeline com script começa com a palavra-chave node.
Ex.:

node {
stage('Build') {
echo 'Building....'
}
stage('Test') {
echo 'Testing....'
}
stage('Deploy') {
echo 'Deploying....'
}
}

Multibranch: Um tipo de pipeline que usa o pipeline declarativo como código.
Shared Library: Um tipo de pipeline que oferece capacidades distintas.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly