Hoje em dia, os desenvolvedores de WordPress utilizam o Git para tornar o desenvolvimento mais fluido e permitir que várias pessoas trabalhem no mesmo projeto sem conflitos.

O Bitbucket é uma plataforma Git popular, mas apenas ter seu código lá não é suficiente – você também quer uma maneira de conectar esse repositório ao seu servidor. Dessa forma, as atualizações enviadas para o Bitbucket podem ser implantadas automaticamente no seu servidor, mantendo o site WordPress atualizado sem etapas manuais e repetitivas.

É aí que entra o Bitbucket Pipelines. O Bitbucket Pipelines permite que você configure um fluxo de trabalho para implantação contínua, de modo que as atualizações no seu repositório sejam implantadas automaticamente no seu site. Se estiver usando a Kinsta como provedor de hospedagem de sites, você poderá usar o SSH e o Bitbucket Pipelines para automatizar completamente o processo.

Este artigo explica como configurar a implantação contínua do seu site WordPress hospedado na Kinsta usando o Bitbucket Pipelines.

Pré-requisitos

Antes de configurar a implantação contínua do seu site WordPress na Kinsta, certifique-se de ter os seguintes itens prontos:

  1. Seu site WordPress já deve estar hospedado na Kinsta.
  2. Acesso de máquina local aos arquivos do seu site WordPress.
  3. Uma conta Bitbucket onde você armazenará e enviará o código do seu site.
  4. Você deve ter familiaridade básica com o Git, por exemplo, como enviar código e trabalhar com um arquivo .gitignore.

Configure seu site WordPress no Bitbucket

Como usuário da Kinsta, você tem duas maneiras fáceis de acessar os arquivos do seu site WordPress. Você pode mover seu site do servidor Kinsta para o DevKinsta, o que permite que você trabalhe localmente, ou pode criar um backup para download diretamente do seu painel MyKinsta. Para este guia, usaremos o método de backup.

Baixe os arquivos do seu site WordPress

Para baixar uma cópia de seus arquivos WordPress da Kinsta, siga estas etapas:

  1. Navegue até seu site no painel MyKinsta.
  2. Na barra lateral esquerda, clique em Backups para acessar os backups do ambiente do seu site.
  3. Vá até a aba Download e crie um backup para download.
  4. Quando o download estiver pronto, salve em seu computador local.

Esse backup será um arquivo compactado. Descompacte para acessar todos os seus arquivos do WordPress.

Configure seu projeto para o Git e crie um repositório no Bitbucket

Abra a pasta que contém os arquivos do seu site no editor de código de sua preferência. Para evitar que você carregue arquivos desnecessários do núcleo do WordPress, uploads de mídia ou informações confidenciais, adicione um arquivo .gitignore ao diretório raiz do seu projeto.

Você pode usar um template padrão, copiar seu conteúdo e salvá-lo para garantir que somente os arquivos essenciais sejam rastreados.

Agora, seus arquivos locais do WordPress estão preparados para o Git. No Bitbucket, vá para o seu espaço de trabalho e crie um novo repositório sem arquivos. (Não inclua um arquivo .gitignore, pois já criamos um localmente).

Configure a autenticação SSH e faça push para o Bitbucket

Para se conectar com segurança ao seu repositório do Bitbucket, você deve configurar a autenticação SSH e, em seguida, enviar seu código.

  1. Gere um par de chaves SSH em seu computador local. Use seu próprio endereço de e-mail no comando a seguir:
    ssh-keygen -t ed25519 -C "[email protected]"

    Salve o par de chaves em um local que você possa consultar facilmente (por exemplo, ~/.ssh/id_rsa_bitbucket).

  2. Copie a chave pública (~/.ssh/id_rsa_bitbucket.pub) e adicione-a em Personal Bitbucket Settings > SSH Keys. Isso autoriza sua máquina a enviar código com segurança.
    Adicionar chave SSH ao Bitbucket.
    Adicionar chave SSH ao Bitbucket.

  3. Com a chave SSH adicionada, use os seguintes comandos para enviar seu código para o Bitbucket:
    # Initialize a new Git repository
    git init
    # Stage all files for the first commit
    git add .
    # Commit the files with a message
    git commit -m "Initial commit of WordPress site files"
    # Add the Bitbucket repository as the remote origin
    git remote add origin [email protected]:your-username/your-repo.git
    # Push the files to Bitbucket
    git push -u origin main

     

Substitua your-username e your-repo pelo seu nome de usuário do Bitbucket e pelo nome do repositório.

Quando isso for feito, você estará configurado no Bitbucket. Você pode então configurar seu servidor Kinsta para receber atualizações do seu repositório Bitbucket.

Configure seu servidor Kinsta para implantações automáticas

Para habilitar implantações automáticas do Bitbucket, você precisará estabelecer o acesso SSH ao Bitbucket e configurar o Git para usar SSH no servidor Kinsta.

Etapa 1: Configure o acesso SSH ao Bitbucket para conexões seguras

Para permitir que o servidor Kinsta extraia código do Bitbucket, você deve gerar uma chave SSH no servidor e adicionar sua chave pública à sua conta do Bitbucket.

SSH em seu servidor Kinsta usando o comando do terminal SSH disponível em seu painel MyKinsta:

Comando do terminal SSH do MyKinsta.
Comando do terminal SSH do MyKinsta.

Em seguida, gere uma nova chave SSH (pule esta etapa se você já tiver uma):

ssh-keygen -t rsa -b 4096 -C "[email protected]"

Pressione Enter para salvar a chave no local padrão e deixe a frase secreta em branco quando solicitado.

Gerar chave pública SSH.
Gerar chave pública SSH.

Em seguida, você precisará adicionar a chave pública ao Bitbucket. Para acessar a chave, use este comando:

cat ~/.ssh/id_rsa.pub

Copie toda a saída do comando e vá para Configurações do Bitbucket > Chaves SSH em sua conta do Bitbucket e adicione a chave pública. Isso autorizará o servidor Kinsta a acessar seu repositório Bitbucket com segurança.

Etapa 2: Configure o Git para usar SSH no servidor Kinsta

Navegue até o diretório ativo do seu site no servidor Kinsta executando o comando abaixo:

cd /www/your-site/public

Você pode encontrar esse caminho na seção Detalhes do ambiente do painel do seu site MyKinsta, conforme mostrado abaixo:

Caminho do servidor do site WordPress.
Caminho do servidor do site WordPress.

Em seguida, inicialize o diretório como um repositório Git e defina a URL remota para usar SSH:

git init
git remote add origin [email protected]:your-username/your-repo.git

Substitua your-username e your-repo pelo nome de usuário do Bitbucket e pelo nome do repositório, respectivamente.

Confirme que a configuração do SSH funciona executando:

ssh -T [email protected]

Se for bem-sucedida, você deverá ver uma mensagem como: “authenticated via SSH key. You can use git to connect to Bitbucket. Shell access is disabled”

Com essa configuração, seu servidor Kinsta agora está pronto para receber e implantar atualizações do Bitbucket diretamente por meio dos pipelines do Bitbucket.

Configure o Bitbucket Pipelines para implantação automatizada

O Bitbucket Pipelines é uma ferramenta de integração e entrega contínua (CI/CD) que permite automatizar tarefas quando você envia alterações para o seu repositório. Nesta configuração, vamos criar um pipeline que aciona uma implantação para a Kinsta sempre que houver uma nova atualização na branch main.

Adicione variáveis de ambiente necessárias

Antes de configurar o pipeline, você precisará definir algumas variáveis de ambiente no Bitbucket para armazenar informações confidenciais com segurança. Navegue até Configurações do repositório > Variáveis do repositório no Bitbucket e adicione o seguinte com seu valor correspondente:

  • KINSTA_USERNAME: Este é o seu nome de usuário SSH para o servidor Kinsta. Ele é usado pelo Bitbucket Pipelines para fazer login e executar comandos de implantação.
  • KINSTA_SERVER_IP: Este é o endereço IP do seu servidor Kinsta. Ele permite que o Bitbucket Pipelines saiba para qual servidor se conectar durante a implantação.
  • PORT: Esta é a porta SSH usada pelo seu servidor Kinsta. Os servidores Kinsta usam uma porta personalizada, portanto você deve especificá-la aqui. Você pode encontrar esses detalhes na página de informações do seu site no painel MyKinsta.

    Detalhes do STFP/SSH do MyKinsta.
    Detalhes do STFP/SSH do MyKinsta.

  • SSH_PRIVATE_KEY: Esta é a chave privada SSH codificada em base64 de sua máquina local. O Bitbucket Pipelines usará essa chave para você se autenticar no servidor Kinsta. Para codificar sua chave privada em base64, execute:
    cat ~/.ssh/id_rsa | base64

    Copie a saída e adicione como o valor para SSH_PRIVATE_KEY.

Configuração do Bitbucket Pipeline

Agora, vamos escrever o arquivo de configuração, bitbucket-pipelines.yml, para automatizar as implementações. Esse arquivo define o pipeline, especificando quando ele deve ser executado, quais comandos devem ser executados e como você deve se conectar ao servidor Kinsta. Você pode fazer isso localmente em seu IDE.

Aqui está a configuração completa:

pipelines:
  branches:
    main:
      - step:
          name: Deploy to Kinsta
          script:
            - pipe: atlassian/ssh-run:0.8.1
              variables:
                SSH_USER: $KINSTA_USERNAME
                SERVER: $KINSTA_SERVER_IP
                PORT: $PORT
                COMMAND: |
                  cd /www/your-site/public &&
                  git fetch origin main &&
                  git reset --hard origin/main
                SSH_KEY: $SSH_PRIVATE_KEY
                DEBUG: 'true'

Entendendo melhor esta configuração de pipeline

Esse pipeline está configurado para automatizar as implementações no seu servidor Kinsta sempre que houver um novo push na branch principal main. Veja o que cada parte faz:

  • Gatilho do pipeline: A seção pipelines está configurada para ser acionada quando você fizer push para a branch main. Isso significa que qualquer novo commit em main iniciará automaticamente a implantação.
  • Etapa: A etapa é denominada “Deploy to Kinsta” para maior clareza. Essa etapa contém as principais ações de implantação.
  • Pipe SSH-run: Usamos o pipe atlassian/ssh-run que permite que o Bitbucket se conecte ao seu servidor Kinsta via SSH e execute comandos remotamente. Esse pipe simplifica o processo de configurar uma sessão SSH, executar os comandos e fechar a sessão, de modo que não há necessidade de gerenciar os detalhes do SSH manualmente no script.
  • Comandos de implantação: O bloco COMMAND contém os comandos que implementam o código mais recente em seu site WordPress. Veja a seguir o que cada comando faz:
    • O primeiro comando navega até o diretório ativo onde o WordPress está hospedado.
    • O segundo comando executa git fetch origin main para buscar o código mais recente da branch main no Bitbucket.
    • O último comando atualiza o site ativo com o código mais recente da branch main.

Essa configuração lida com todos os aspectos da implantação – desde a conexão com a Kinsta até a atualização dos arquivos do seu site – para que seu site WordPress na Kinsta fique atualizado automaticamente a cada envio para main.

Teste o pipeline

Salve o arquivo bitbucket-pipelines.yml no diretório raiz do seu repositório e faça o commit das alterações. Quando você fizer push para a branch main, o pipeline será acionado automaticamente e iniciará o processo de implantação.

Você pode monitorar o progresso da implantação no painel Bitbucket Pipelines. Se tudo estiver configurado corretamente, o Bitbucket se conectará ao seu servidor Kinsta, buscará o código mais recente e o implantará no seu site ativo.

Registros de pipeline do Bitbucket.
Registros de pipeline do Bitbucket.

Para solucionar problemas, verifique os registros do pipeline no Bitbucket, especialmente se o DEBUG estiver definido como "true". Os registros fornecem informações detalhadas sobre cada etapa, o que pode ajudar a identificar qualquer problema de conexão ou configuração.

Resumo

A configuração de implementações automatizadas do Bitbucket para a Kinsta é uma maneira poderosa de manter seu site WordPress atualizado sem o incômodo de atualizações manuais. Depois de conectar o Bitbucket Pipelines e seu servidor Kinsta, cada push no seu repositório será refletido imediatamente no site ativo, minimizando o tempo de inatividade e reduzindo erros de implantação.

Lembre-se de que o DevKinsta oferece uma alternativa mais simples para desenvolvedores solo. Com o DevKinsta, você pode mover o ambiente de desenvolvimento local diretamente para a Kinsta com um único clique, sem a necessidade de configurar pipelines. Uma vantagem adicional desse método é que as alterações no banco de dados também são incluídas, mantendo o código e o conteúdo sincronizados de maneira fácil e prática.

O que você achou deste processo? Tem dúvidas ou encontrou algum problema? Compartilhe seu feedback ou pergunte nos comentários abaixo!

Joel Olawanle Kinsta

Joel é um desenvolvedor Frontend que trabalha na Kinsta como Editor Técnico. Ele é um professor apaixonado com amor pelo código aberto e já escreveu mais de 200 artigos técnicos, principalmente sobre JavaScript e seus frameworks.