Implantação contínua do Jenkins [com exemplo prático]
Publicados: 2020-12-28A implantação do Jenkins é um processo acelerado de desenvolvimento de software automatizado complexo. Este artigo esclarece como o Jenkins integra todos os processos do ciclo de vida de desenvolvimento ou estágios de DevOps, como construção, documentação, teste, empacotamento, preparação, implantação, análise estática e muito mais, praticados em várias organizações.
Hoje, muitas organizações estão adotando o DevOps em suas ofertas. No ciclo de vida de desenvolvimento de software, você deve liberar o software continuamente como parte do projeto.
Ferramentas como Jenkins são amplamente populares por seu potencial de permitir a integração e entrega contínuas dos aplicativos, independentemente da plataforma. Jenkins é uma ferramenta gratuita e de fonte única que pode lidar com qualquer tipo de compilação na implantação do Jenkins , que será discutida no artigo.
O Jenkins pode ser integrado a muitas tecnologias de teste e implantação. Este artigo descreve como o Jenkins é usado para criar e testar seus projetos de software continuamente.
Aprenda o curso online de engenharia de software das melhores universidades do mundo. Ganhe Programas PG Executivos, Programas de Certificado Avançado ou Programas de Mestrado para acelerar sua carreira.
Assim, antes de mergulhar em como o Jenkins funciona, precisamos entender os seguintes tópicos que são a base para aprender o Jenkins:

- Implantação contínua
- Entrega contínua versus implantação contínua
- Um exemplo prático de implantação do Jenkins
- Benefícios da implantação do Jenkins
Vamos dar uma olhada em todos eles um por um!
Índice
Implantação Contínua
Na implantação contínua, o software é lançado nos servidores de produção continuamente com automação. O código passa por etapas como compilação do código-fonte, validação, revisão, empacotamento do aplicativo e realização de testes de unidade e testes de integração.
O código é então implantado nos servidores de teste quando o teste de aceitação do usuário é executado. O software será implantado nos servidores de produção para lançamento do software. Leia sobre integração contínua com jenkins.
Entrega Contínua vs. Implantação Contínua
A entrega contínua e a implantação contínua são dois estágios cruciais de um SDLC em que a entrega contínua não é implantada na produção para nenhuma alteração. O desenvolvedor precisa garantir que o código seja sempre implementável e implementá-lo sempre que necessário.
Crédito da imagem
A implantação contínua precisa de todas as alterações implantadas automaticamente, sem qualquer arbitragem humana.
No diagrama acima, após a conclusão das etapas de integração contínua, o aplicativo construído é implantado automaticamente nos servidores de produção, o que nada mais é do que uma implantação constante.
Ou então, se precisarmos de aprovação humana para implantar a versão mais recente para automatizar tudo, estamos executando uma entrega contínua.
Devido a essa diferença central, houve várias implicações, tornando cada processo adequado para diferentes circunstâncias.
Jenkins
Jenkins é uma ferramenta de código aberto que acelera o processo de software por meio de um servidor de automação usado para construir e testar continuamente projetos de software, permitindo um ambiente de CI/CD para os desenvolvedores. É escrito em Java, portanto, realmente portátil.
Jenkins tem milhares de plugins e integrações. Por isso, é adequado para grandes projetos que exigem muita personalização. Ele suporta ferramentas de controle de versão como Git, Maven, Mercurial e Subversion.
Um exemplo prático de implantação do Jenkins
Agora que aprendemos sobre que tipo de ferramenta Jenkins é e pode ser aplicada em um processo de desenvolvimento de software para implantação contínua, vamos agora ver como ela funciona em um ambiente de produção.
Primeiro, o Jenkins é configurado em um servidor e o projeto de um cliente é adicionado para compilação e teste. O cliente pode então baixar o aplicativo que foi testado. A implantação dos ativos do projeto em um novo local no servidor pode ser complicada.

Para isso, preliminarmente, vamos supor que um projeto cliente esteja configurado no Jenkins, vinculado ao seu sistema de controle de versão.
Etapa 1: criando um item do Jenkins
No menu principal, selecione 'Novo item' e nomeie-o. Ele exportará os arquivos do seu projeto cliente para uma pasta do servidor.
Etapa 2: criar uma ação pós-compilação
Vá para o projeto do cliente e selecione configurar. Agora, origine uma ação pós-compilação e escolha 'arquivar artefatos' no menu suspenso. Adicione os tipos de arquivo a serem arquivados e exportados.
Depois disso, anexe outra ação pós-compilação, 'Construir outro projeto' e insira o item de compilação criado anteriormente.
Arquivo
Passo 3: Instalando o plugin 'Copy Artifact'
Na terceira etapa, você instalará o 'plugin Copy Artifact' do Jenkins.
Vá para 'Nome do projeto' para configurar e adicionar uma etapa de compilação. Conforme o plugin Copy Artifact estiver instalado, você verá a opção 'copiar artefatos de outro projeto'. Designe a pasta para copiar os artefatos e defina o caminho do local.
Defina o local como “var/www/clients/..” . Isso criará uma nova pasta no servidor. Especifique o caminho com um endereço HTTP(!).
Salvando o projeto
Etapa 4: realizando testes
Após os estágios primários, agora é a hora de testar o aplicativo.
Para isso, defina uma compilação do projeto do cliente. Isso solicitará uma nova compilação. Verifique a pasta de implantação no servidor. Aqui, você verá os arquivos implantados.
Mas, mesmo depois de todas as ações, a compilação falhou e você recebeu um erro 'FileException'.
Por quê?
Os possíveis motivos podem ser:
- Jenkins não tinha permissões para gravar na pasta e não pode implantar os arquivos.
- Vincule o SSH ao servidor.
- Verifique as permissões da pasta de saída.
- Você saberá, enfrentamos um problema.
Execute as seguintes etapas para resolver isso:
- Adicione Jenkins a um grupo, aqui, o grupo 'www-data'.
- Alterando a propriedade da pasta de saída para o grupo 'www-data' com o comando sudo chown – R : 'www – data' clientes.
- Permita o acesso de gravação na pasta com o comando sudo chmod .
- Reinicie o servidor e veja o aplicativo implantado
Quais benefícios o Jenkins oferece?
- Jenkins é uma ferramenta de código aberto e oferece excelente suporte à comunidade.
- Jenkins é relativamente fácil de instalar.
- Jenkins tem mais de 1000 plugins. Se um plugin não estiver disponível, você pode codificá-lo facilmente.
- Jenkins é gratuito.
- Jenkins é construído com Java; portanto, portátil para todas as principais plataformas.
Leia também: Ideias e tópicos do projeto Jenkins

Últimas palavras
Jenkins é uma robusta ferramenta de automação escrita em Java que tem sido amplamente utilizada para Integração Contínua. Com o Jenkins, é mais fácil construir e testar projetos de software continuamente com o que está escrito. É a ferramenta definitiva para entregar seu software sempre integrando-se a um grande número de tecnologias de teste e implantação.
Aprendizado de desenvolvimento de software – DevOps com upGrad
O upGrad está oferecendo o Executive PG Program in Software Development – Especialização em DevOps no qual você aprenderá a entregar aplicações e serviços em altíssima velocidade na organização. O corpo docente da upGrad ensinará todos os detalhes do DevOps e por que aprendê-lo será uma carreira lucrativa para você.
Diploma PG do upGrad em Especialização em Desenvolvimento de Software em Destaques do Programa DevOps:
Este curso on-line estendido de 12 meses oferece os seguintes recursos:
- Sessões on-line experientes com palestras ao vivo
- Acesso ao conteúdo valioso em Ciência de Dados e Aprendizado de Máquina gratuitamente
- Trabalhando em mais de 7 projetos e atribuições ao vivo
- Aprendendo dez linguagens e ferramentas de programação
- Garantia de colocação garantida
- Suporte de carreira 360° com assistência no trabalho