Integração com Jenkins Git - útil para todos os profissionais de DevOps



Este blog discute sobre a integração do Git com o Jenkins. Ele também discute as vantagens de integrar o Git ao Jenkins junto com o demo.

certamente está incompleto sem Jenkins. Jenkins junto com Git é uma combinação maravilhosa. Portanto, neste artigo, irei falar sobre a Integração Jenkins Git e suas vantagens. As dicas que vamos cobrir são as seguintes:

Portanto, vamos começar com nosso primeiro tópico.





O que é Git - Por que Git Entrou em existência?

Todos nós sabemos que “a necessidade é a mãe de todas as invenções”. Da mesma forma, o Git surgiu para atender a certas necessidades que os desenvolvedores enfrentavam antes do Git. Então, vamos dar um passo atrás para aprender tudo sobre os Sistemas de Controle de Versão (VCS) e como o Git surgiu.

Controle de versão é o gerenciamento de alterações em documentos, programas de computador, grandes sites e outras coleções de informações.



Existem dois tipos de VCS:

  • Sistema de Controle de Versão Centralizado (CVCS)

  • Sistema de controle de versão distribuída (DVCS)



VCS centralizado

Um sistema de controle de versão centralizado (CVCS) usa um servidor central para armazenar todos os arquivos e permite a colaboração em equipe. Ele funciona em um único repositório no qual os usuários podem acessar diretamente um servidor central.

Consulte o diagrama abaixo para ter uma idéia melhor do CVCS:

O repositório no diagrama acima indica um servidor central que pode ser local ou remoto, que está diretamente conectado a cada uma das estações de trabalho do programador.

Cada programador pode extrair ou atualizar suas estações de trabalho com os dados presentes no repositório. Eles também podem fazer alterações nos dados ou comprometer para o repositório. Cada operação é realizada diretamente no repositório.

Mesmo que pareça muito conveniente manter um único repositório, ele tem algumas desvantagens importantes. Alguns deles são:

  • Não está disponível localmente, o que significa que você sempre precisa estar conectado a uma rede para realizar qualquer ação.

    como lidar com pop-up em selênio webdriver
  • Como tudo está centralizado, em qualquer caso o servidor central travar ou ser corrompido resultará na perda de todos os dados do projeto.

É aqui que o Distributed VCS resolve o problema.

VCS Distribuído

Esses sistemas não dependem necessariamente de um servidor central para armazenar todas as versões de um arquivo de projeto.No Distributed VCS, cada contribuidor tem uma cópia local ou “clone” do repositório principal. Aqui, todos mantêm um repositório local próprio que contém todos os arquivos e metadados presentes no repositório principal.

Você entenderá melhor consultando o diagrama abaixo:

Como você pode ver no diagrama acima, cada programador mantém um repositório local por conta própria, que é na verdade a cópia ou clone do repositório central em seu disco rígido. Eles podem confirmar e atualizar seu repositório local sem qualquer interferência.

Eles podem atualizar seus repositórios locais com novos dados do servidor central por uma operação chamada “ Puxe ”E afetam as mudanças no repositório principal por uma operação chamada“ empurrar ”De seu repositório local.

Agora vamos tentar saber sobre a definição de Git.

  • Git é uma ferramenta de controle de versão distribuída que oferece suporte a fluxos de trabalho não lineares distribuídos, fornecendo garantia de dados para o desenvolvimento de software de qualidade. Ferramentas como o Git permitem a comunicação entre o desenvolvimento e a equipe de operações.

  • Normalmente, quando você está desenvolvendo um grande projeto, você tem um grande número de colaboradores. Portanto, é muito importante que haja comunicação entre os colaboradores ao fazer mudanças no projeto.

  • Mensagens de commit no Git desempenham um papel muito importante na comunicação entre a equipe. Além da comunicação, o motivo mais importante para usar o Git é que você sempre tem uma versão estável do código com você.

  • Portanto, o Git desempenha um papel vital no sucesso do DevOps.

O que é Jenkins?

Jenkins é uma ferramenta de automação de código aberto escrita em Java com plug-ins construídos para fins de integração contínua. Jenkins é usado para construir e testar seus projetos de software continuamente, tornando mais fácil para os desenvolvedores integrarem as mudanças ao projeto, e tornando mais fácil para os usuários obter uma nova construção. Ele também permite que você forneça continuamente seu software integrando-se a um grande número de tecnologias de teste e implantação.

Com o Jenkins, as organizações podem acelerar o processo de desenvolvimento de software por meio da automação. Jenkins integra processos de ciclo de vida de desenvolvimento de todos os tipos, incluindo construção, documento, teste, pacote, estágio, implantação, análise estática e muito mais.

Jenkins alcança a integração contínua com a ajuda de plug-ins. Os plug-ins permitem a integração de vários estágios DevOps. Se você deseja integrar uma ferramenta específica, você precisa instalar os plug-ins para essa ferramenta. Por exemplo, Git, projeto Maven 2, Amazon EC2, editor HTML, etc.

As vantagens do Jenkins incluem:

  • É uma ferramenta de código aberto com grande suporte da comunidade.

  • Muito fácil de instalar.

  • Possui mais de 1000 plug-ins para facilitar seu trabalho. Se um plugin não existir, você pode codificá-lo e compartilhá-lo com a comunidade.

  • É gratuito.

  • Ele é construído com Java e, portanto, é portátil para todas as principais plataformas.

Agora você sabe como o Jenkins supera as deficiências tradicionais do SDLC. A tabela abaixo mostra a comparação entre “Antes e Depois do Jenkins”.

Antes de JenkinsDepois de Jenkins
Todo o código-fonte foi construído e depois testado. Localizar e corrigir bugs no caso de falha de construção e teste era difícil e demorado, o que, por sua vez, tornava o processo de entrega do software mais lento.Cada confirmação feita no código-fonte é construída e testada. Portanto, em vez de verificar todo o código-fonte, os desenvolvedores só precisam se concentrar em um determinado commit. Isso leva a novos lançamentos de software frequentes.
Os desenvolvedores têm que esperar pelos resultados dos testesOs desenvolvedores sabem o resultado do teste de cada confirmação feita no código-fonte durante a execução.
Todo o processo é manualVocê só precisaconfirme as alterações no código-fonte e o Jenkins automatizará o resto do processo para você.

Por que Jenkins e Git são usados ​​juntos?

Como discutido anteriormente, Ir é um gerenciador de controle de origem. É onde você mantém seu código-fonte para rastrear todas as alterações de código que acontecem ao longo do tempo e para definir a linha de base das versões quando estiverem prontas para lançamento.

Jenkins , por outro lado, é uma solução de integração contínua. Ele é projetado para automatizar a maioria das tarefas que um desenvolvedor tem que fazer enquanto desenvolve um novo aplicativo (verificações de qualidade de código, construção, arquivamento de artefatos de construção, teste de integração, implantação em vários ambientes, etc.) Sem uma solução de CI, um desenvolvedor tem que gastar muito tempo fazendo essas tarefas repetitivas não produtivas.

Vantagens:

  • Git e Jenkins são muito poderosos, mas com grande poder vêm grandes responsabilidades. É muito comum justificar uma quantidade desnecessária de complicação em um pipeline de construção simplesmente porque você pode.
  • Embora Jenkins tenha muitos truques legais na manga, é fácil aproveitar os recursos do Git, pois ele faz o gerenciamento de versões e rastreamento de bugs significativamente mais fácil hora extra.
  • Podemos fazer isso tomando cuidado com as versões de código que construímos e marcando-as adequadamente. Isso mantém informações relacionadas ao lançamento próximas ao código , em oposição a depender de números de compilação do Jenkins ou outros identificadores de origem.
  • Protegendo branches do Git reduz o risco de erro humano , e automatizar tantas tarefas quanto possível reduz a frequência com que temos que incomodar (ou esperar) esses humanos.

Exemplo:

Tomemos o exemplo de um novo recurso em um aplicativo da web. Um desenvolvedor será identificado e designado para a tarefa, ele pega a base de código existente do controle de origem - digamos, Git, faz suas alterações, realiza testes de unidade, garante a qualidade do código manualmente e verifica o novo código de volta no Git.

Em seguida, ele precisa construir o código, implantá-lo na instância de integração, executar o teste de integração e, quando a mudança parecer satisfatória, levantar uma solicitação de implantação de produção. Agora, se apenas tivéssemos um lacaio para cuidar dessas seções de teste, construção, verificações de qualidade e implantação, o pobre desenvolvedor poderia ter se concentrado melhor nas coisas em que ele é realmente bom - implementar e melhorar a lógica do recurso.

Este lacaio é Jenkins. Ele atua como um orquestrador para executar todas essas atividades, uma vez que a mudança é verificada no controle de origem (Git) e, portanto, fornece um feedback rápido para o desenvolvedor se as mudanças que ele fez são boas o suficiente para implantação de produção ou não.É extremamente flexível, de código aberto e tem uma tonelada de plug-ins que podem fazer quase tudo o que você desejar.

Demo

Aqui veremos como integrar o Git ao Jenkins. Existem 5 etapas que você deve seguir:

1. Crie um programa de amostra:

Você pode criar qualquer programa de amostra que desejar, como Java ou Python ou qualquer outro programa. Aqui vamos escrever um simples Programa Python que imprime Hello, World!

2. Crie um trabalho do Jenkins:

  • Aqui primeiro você precisa iniciar Jenkins usando o prompt de comando.

  • Para isso, primeiro você precisa navegar até o local do Jenkins em seu sistema e usar o comando java -jar jenkins.war

  • Depois de executar este comando, abra o navegador da web e vá para a página inicial do Jenkins usando o link localhost: 8080 . Este é o número da porta padrão.

  • Abra a página inicial do Jenkins por inserindo o nome de usuário e a senha.

  • Para criar um projeto, clique em Novo item e entrar no Nome do Projeto e selecione Projeto Freestyle . Clique em OK.

3. Adicione este programa ao Github:

  • Abrir git bash em seu sistema. Navegar para o local do seu programa. Inicialize um repositório vazio usando o comando git init .

  • Use o comando git add. para adicionar o arquivo à área de teste do diretório de trabalho.

  • Agora adicione o arquivo ao repositório local usando o comando git commit -m “arquivo demo.py adicionado” .

  • Agora você tem que empurrar este arquivo para o repositório remoto. Para fazer isso, vá para sua conta GitHub e crie um novo repositório público. Agora copie a localização deste repositório e vá para o terminal git bash. Aqui digite o comando git remote add origin . Como agora você se conectou ao repositório remoto, você pode enviar seu código para lá usando o comando git push -u origin master. Para verificar isso, acesse a conta do GitHub e atualize a página. Você verá o arquivo adicionado lá.

4. Adicione o plug-in Git ao Jenkins:

  • Na página inicial do Jenkins, vá para Gerenciar Jenkins .

  • Próximo clique em Gerenciar Plugins . Aqui, verifique o plugin Git obtido na seção instalada. Se não estiver disponível aqui, procure-o na seção de disponíveis e faça o download.

5. Configure o trabalho do Jenkins para acionar a construção:

  • Vá para o projeto no Jenkins que criamos na etapa 2. Aqui na seção Gerenciamento do código-fonte, selecione git e insira o link do repositório público que você criou na etapa 3. Avançar no Seção Build Triggers , Clique em Opção de enquete SCM . Aqui na parte de programação, você deve inserir cinco asteriscos separados por espaço. Isso nada mais é do que sintaxe cron para o seu trabalho. Isso significa que o Jenkins verificará todas as alterações no código-fonte a cada minuto e, se houver alguma alteração, ele acionará a construção do Jenkins.

  • Clique em Aplique e então em Salve  . Em seguida, na página inicial do seu projeto, clique em Construa agora . Isso executará o projeto e, na saída do console, você poderá ver a saída do programa, o status do trabalho do Jenkins. Se tudo estiver bem, ele será exibido como Sucesso .

Então é assim que a Integração com Jenkins Git é feita. Com isso, chegamos ao final deste artigo sobre Integração Jenkins Git. Eu espero que você tenha gostado deste artigo.

Agora que você entendeu o que Integração Jenkins Git é, dê uma olhada nisso pela Edureka, uma empresa de aprendizagem online confiável com uma rede de mais de 250.000 alunos satisfeitos espalhados por todo o mundo. O curso Edureka DevOps Certification Training ajuda os alunos a entender o que é DevOps e ganhar experiência em vários processos e ferramentas DevOps, como Puppet, Jenkins, Nagios, Ansible, Chef, Saltstack e GIT para automatizar várias etapas no SDLC.

mesclar classificação pseudocódigo c ++

Tem alguma questão para nós? Mencione isso na seção de comentários e entraremos em contato com você