- Criado por Igor Andrade, última alteração em 07/10/2020
Você está vendo a versão antiga da página. Ver a versão atual.
Comparar com o atual Ver Histórico da Página
« Anterior Versão 9 Próxima »
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.
- Padrão dos repositórios:
- Jenkins:
- Plugin do List Git Branches Parameter instalado;
- Acesso ao Docker para build da imagem.
Passos
Criar credenciais
Vamos usar o Jenkins para armazenar as credenciais de acesso do Github e Dockerhub, impedindo que esses dados fiquem expostos.
Para isso, abra e logue na interface de configuração do seu Jenkins. No menu Jenkins (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.
Figura 2.1 - Acesso ao gerenciador de Credenciais do Jenkins
Github
Alimente os campos como informado abaixo.
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 Github.
- Password do Github.
- ID: para facilitar a identificação, sugerimos adicionar o nome do projeto e serviço da credencial.
Ex,: "nome_do_projeto-github". - Description: adicione uma descrição própria ou informe o mesmo valor do ID.
Ex,: "nome_do_projeto-github".
Salve 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.
Figura 3.1 - Arquivo Jenkinsfile
- 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". - INFO_ID_CREDENCIAL_DOCKERHUB: informe a credencial criada para o Dockerhub no Jenkins (passo anterior).
Ex,: "nome_do_projeto-dockerhub". - INFO_URL_REPO_GIT_HTTPS: substitua pelo endereço Git (https) do seu projeto.
Ex.: "https://github.com/igorandrade83/Esteira-DevOps.git". - INFO_ID_CREDENCIAL_GITHUB: informe a credencial criada para o Github no Jenkins (passo anterior).
Ex,: "nome_do_projeto-github". - 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).
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.
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.
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.
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.
- Script Path: nesse campo deve ser informado o endereço do arquivo Jenkinsfile dentro do seu projeto,
- Demais campos: deixe a configuração padrão do Jenkins nos outros campos.
Finalizada as configurações, clique em Salvar.
Nessa página
* A Figura 1 foi criada por Kharnagy e está sob licença CC BY-SA 4.0.
- Sem rótulos