Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

O modelo DevOps (união das palavras development e operations) combina filosofia de trabalho, ferramentas e práticas que agilizam o processo de entregas e implantação de softwares. Todo o fluxo ocorre em cima de uma estrutura conhecida como Esteira DevOps ou CI/CD (continuous integration / continuous delivery) pipeline e possui uma série de etapas cíclicas que podem variar um pouco, mas em geral possui os seguintes elementos: codificação, compilação. teste, pacote, liberação, configuração e monitoramento.


*Figura 1 - Etapas da Esteira DevOps


Nesse tutorial veremos como configurar um projeto criado no Cronapp para executar algumas etapas do pipeline.

Pré-requisitos

Esse tutorial não prevê os passos iniciais para instalação e configuração do Jenkins e Docker. Por isso, o seu ambiente deve ter, no mínimo, as seguintes configurações.

Credenciais no Jenkins

Passos


Novas credenciais

Vamos usar o Jenkins para armazenar as credenciais de acesso do Github e Dockerhub, impedindo que esses dados fiquem expostos.

Acesse Para isso, abra e logue na interface de configuração do seu Jenkins. No menu Jenkins , em seguida clique em Credentials e depois em Add Credentials para exibir os campos:(destaque 1 da figura 2.1, acesse Jenkins > Gerenciar Jenkins > Manage Credentials. Na página de Credentials, acesse o menu (Global) na lista Stores scoped to Jenkins e selecione a opção Add Credentials (destaque 2 na figura 2.1) para exibir os campos de cadastros.


Image Added

Figura 2.1 - Acesso ao gerenciador de Credenciais do Jenkins

Github

Alimente os campos como informado abaixo.


Image Added

Figura 2.2 - Adicionando as credenciais de acesso do Github


  • Kind: deixe a opção padrão "Username with password".
  • Scope: selecione a opção "Global".
  • Username do serviçoGithub.
  • Password do serviçoGithub.
  • ID: para facilitar a identificação, sugerimos adicionar o nome do projeto e serviço da credencial.
    Ex,: "nome_do_meu_projeto-github".
  • Description: adicione uma descrição própria ou informe o mesmo valor do ID.
    Ex,: "nome_do_meu_projeto-github".

Salve ao final. Esse procedimento deve ser feito para as suas contas do Github e Dockerhub.

Jenkinsfile

em seguida.

Dockerhub

Faça o mesmo procedimento com a conta do Dockerhub.

  • Kind: deixe a opção padrão "Username with password".
  • Scope: selecione a opção "Global".
  • Username do Dockerhub.
  • Password do Dockerhub.
  • ID: para facilitar a identificação, sugerimos adicionar o nome do projeto e serviço da credencial.
    Ex,: "nome_do_projeto-dockerhub".
  • Description: adicione uma descrição própria ou informe o mesmo valor do ID.
    Ex,: "nome_do_projeto-dockerhub".

Salve em seguida.

Jenkinsfile

Após criarmos as credenciais de acesso no Jenkins, podemos configurar o arquivo Jenkinsfile em seu projeto no Cronapp. Abra o arquivo que fica na pasta raiz do seu projeto para alterarmos o conteúdo destacado na imagem abaixo.


Image Added

Figura 3.1 - Arquivo Jenkinsfile


  1. INFO_SEU_USUARIO/NOMEDAIMAGEM: substitua pelo seu usuário do Dockerhub e nome da imagem para esse projeto no Dockerhub, separe as duas informações com uma barra "/".
    Ex.: "tutorialcronapp/esteiradevops".
  2. INFO_ID_CREDENCIAL_DOCKERHUB: informe a credencial criada para o Dockerhub no Jenkins (passo anterior).
    Ex,: "nome_do_projeto-dockerhub".
  3. INFO_URL_REPO_GIT_HTTPS: substitua pelo endereço Git (https) do seu projeto.
    Ex.: "https://github.com/igorandrade83/Esteira-DevOps.git".
  4. INFO_ID_CREDENCIAL_GITHUB: informe a credencial criada para o Github no Jenkins (passo anterior).
    Ex,: "nome_do_projeto-github".
  5. CRONAPP_TAG_VERSION: não é necessário realizar qualquer alteração nesse parâmetro, destacamos pois usaremos ela mais tarde nas configurações do pipeline do Jenkins.


Após salvar o arquivo, efetue um Commit/Push para salvar as alterações no repositório Git do seu projeto.

Criar o Job

Acesse novamente a interface de configuração do seu Jenkins e selecione no menu: Jenkins > Novo Job (destaque 1 da figura 4.1). Na próxima tela, informe o nome do Job no campo Enter an item name (2 da figura 4.1), selecione a opção Pipeline (3) e clique em OK ao final (4).


Image Added

Figura 4.1 - Criando um Job do tipo Pipeline


Na aba General, marque a caixa de seleção Este build é parametrizado, clique em Adicionar parâmetro e escolha a opção List Git branches (and more) (Figura 4.2). Se você não estiver vendo essa opção, é provável que ainda não tenha instalado o plugin List Git Branches Parameter em seu Jenkins.


Image Added

Figura 3.2 - Exibindo os campos de parâmetros do build


Após selecionar a opção List Git branches (and more), apenas os primeiros campos serão exibidos, clique no botão Avançado, logo abaixo do campo Parameter Type, para exibir os demais campos.


Image Added

Figura 3.3 - Configuração do parâmetro CRONAPP_TAG_VERSION


  • Name: informe o parâmetro "CRONAPP_TAG_VERSION", mesmo valor do destaque 5 na figura 3.1.

  • Repository URL: endereço Git (https) do seu projeto.

  • Credentials: selecione a credencial de acesso Git criado no primeiro passo desse tutorial.

  • Parameter Type: selecione a opção "Branch or Tag".

  • Sort Mode: escolha a opção "DESCENDING".

  • Tag Filter: informe a expressão regular "refs/heads/(.*)$", ela irá ocultar o início das tags no momento da seleção, facilitando a visualização.

  • Branch Filter: informe a expressão regular "refs/heads/(.*)$", ela irá ocultar o início das branchs no momento da seleção, facilitando a visualização.

  • Default Value: deixe em branco. (valor padrão)

  • Selected Value: selecione a opção "TOP".

  • Quick Filter: deixe desmarcado. (valor padrão).

  • List Size: deixe o valor "5". (valor padrão).


Ainda nessa tela, clique na aba superior Pipeline e preencha os campos abaixo.


Image Added

Figura 3.4 - Configuração do sistema de controle de código do pipeline


  • Definition: selecione a opção "Pipeline script from SCM".
  • SCM: selecione a opção "Git".
  • Repositories / Repository URL: endereço Git (https) do seu projeto.
  • Repositories / Credentials: selecione a credencial de acesso Git criado no primeiro passo desse tutorial.
  • Demais campos: deixe a configuração padrão do Jenkins nos outros campos.


Finalizada as configurações, clique em Salvar.



Nessa página

Índice

* A Figura 1 foi criada por Kharnagy e está sob licença CC BY-SA 4.0.