titulo

Resultados da Busca

conteudo
Não foi encontrado nenhum resultado. Tente outras palavras-chave como PMO, Lean, etc.
Ocorreu um erro ao buscar. Tente novamente mais tarde.
Publicado em:
Tempo de leitura:5 minutos

Deploy com BitBucket – Pipeline

Sobreviver sem um deploy automatizado é árduo e abre brechas para disparidades entre o código desenvolvido…

Sobreviver sem um deploy automatizado é árduo e abre brechas para disparidades entre o código desenvolvido e o que foi enviado manualmente para o servidor ( produção ou homologação ) . O Bitkuket da Atlassian descontinuou o produto Bamboo substituindo-0 pela ferramenta Pipeline, com ela o deploy é feito diretamente pelo commit enviado para o repositório, dando agilidade e confiabilidade ao processo.

Utilizaremos para o exemplo um servidor revenda comum hospedado na DreamHost ( não é necessário o acesso root ao servidor – SSH ).

Vamos apresentar o passo-a-passo de como implementar esta ferramenta.

Habilitando Pipeline

– Acesse sua conta no Bitbuket:
https://bitbucket.org/account/signin/

Informe usuário e senha e efetue o login.

–  Escolha qual dos repositórios deseja aplicar a integração contínua ( continuous integration ):

Painel inicial – BitBuket

– Após escolher o repositório, abra-o e vá até a opção Pipeline New:

– Habilite o recurso clicando no botão Enable Pipelines:

– Neste passo será gerado um modelo do bitbucket-pipelines.yml, este arquivo é o responsável pelas configuração do(s) seu(s) ambiente(s) de deploy. Não é necessário fazer qualquer ajuste no modelo sugerido, iremos fazer as configurações neste aquivo em um próximo passo, então, apenas clique no botão next:

Após clicar no botão Next você será redirecionado para esta tela:

Deixe esta aba aberta no seu browser, crie uma nova aba onde iremos fazer a configuração das variáveis de ambiente na etapa abaixo.

Variáveis de ambiente

Feita a etapa Habilitando Pipelines precisamos agora criar as variáveis de ambiente que armazenam:

  • Host ( ou IP )
  • Username FTP
  • Password FTP

Dos nosso ambientes de deploy ( staging & production ). Para isso siga os passos abaixo:

– Precisamos criar variáveis de ambiente para serem utilizadas pelo arquivo de configuração do deploy ( bitbucket-pipelines.yml ), para isso acesse a aba de configurações do seu repositório:

– Clique no botão Environment variables:

– Agora iremos criar as variáveis com os dados de acesso ao FTP de produção e homologação. Para isso preencha o formulário com os seguintes dados:

  • FTP_USERNAME – Usuário do FTP do servidor de homologação.
  • FTP_PASSWORD – Senha do FTP do servidor de homologação.
  • FTP_USERNAME_PROD Senha do FTP do servidor de produção.
  • FTP_PASSWORD_PROD – Senha do FTP do servidor de produção.

Para isso preencha o formulário conforme imagem abaixo e clique no botão Add:

Após cadastrar todas as variáveis de ambiente do(s) seu(s) ambientes de deploy, você terá uma lista com os usuário(s) e senha(s) dos seus ambientes, conforme imagem abaixo:

Agora precisamos usar estas variáveis de ambiente no arquivo de configuração do Pipelinebitbucket-pipelines.yml ), isso será feito na etapa abaixo.

Editando o bitbucket-pipelines.yml

Volte na aba anterior do passo Habilitando Pipeline:

Faremos agora a configuração dos ambientes de deploy, em nosso exemplo são dois:

  • Servidor de desenvolvimento ( Ambiente 1 )
  • Servidor de produção ( Ambiente 2 )

Para isso iremos substituir o conteúdo do arquivo ( bitbucket-pipelines.yml ), usando o modelo abaixo:

# This is a sample build configuration for PHP.
# Check our guides at https://confluence.atlassian.com/x/VYk8Lw for more examples.
# Only use spaces to indent your .yml configuration.
# -----
# You can specify a custom docker image from Docker Hub as your build environment.
image: samueldebruyn/debian-git

pipelines:
  custom: # Pipelines que podem ser chamadas manualmente
    deployment-to-staging: # Bloco do deploy para ambiente de homologação ( desenvolvimento - staging )
      - step:
        script:
          - apt-get update
          - apt-get -qq install git-ftp
          - git ftp push --user $FTP_USERNAME --passwd $FTP_PASSWORD ftp://AQUI.HOST.OU.IP.DO.SERVIDOR.DES/CAMINHO.DO.DIRETORIO.PROD/
    deployment-to-prod: # Bloco do deploy para ambiente de produção ( production )
      - step:  
        script:   
          - apt-get update
          - apt-get -qq install git-ftp
          - git ftp push --user $FTP_USERNAME_PROD --passwd $FTP_PASSWORD_PROD ftp://AQUI.HOST.OU.IP.DO.SERVIDOR.PROD/CAMINHO.DO.DIRETORIO.PROD/  
  branches: # Pipelines que será executado no exáto momento que o Commit é feito no BitBuket
    staging:  
      - step:  
        script:  
          - echo "Aqui você pode habilitar tasks automaticas que serão executadas em cada commit feito."

Substitua as variáveis no código de acordo com os dados de seu ambiente FTP. Ficará algo assim:


E clique no botão Commit.

Testando o uso

Agora caso as configurações do arquivo ( bitbucket-pipelines.yml ) estejam corretos, você poderá enviar para produção ou desenvolvimento os commits existentes no seu repositório.

Acesse a área de commits do BitBuket:

Como podem ver na imagem acima o commit com o nosso arquivo de configuração já está na lista de arquivos do nosso repositório. Escolha o commit que deseja enviar para o servidor e abra-o:

Clique no link Run pipeline, abrirá o seguinte diálogo:

Você será redirecionado para a aba PipeLine News onde o seu deploy será executado:

Clicando no item referente ao deploy feito você será direcionado a uma tela com maiores detalhes, caso o mesmo tenha falhado esta tela com maiores detalhes poderá lhe ajudará a corrigir o problema:

Categorias e tags

blog