Bitbucket Pipelines

Para usuários avançados, o Bitbucket CI/CD (Integração Contínua/Entrega Contínua ou Implantação Contínua) pode implantar automaticamente alterações de código no seu site Kinsta sempre que um novo commit for enviado para a branch designada. Essa configuração permite a implantação perfeita do código a partir do seu ambiente local via SSH e Bitbucket Pipelines, permitindo atualizações contínuas em seu site.

Para seguir essas etapas, você deve ter um site existente hospedado na Kinsta e uma conta no Bitbucket.

1. Baixe um backup do seu site

Você pode baixar um backup do seu site para configurar o repositório do Bitbucket e trabalhar nele localmente. Como alternativa, você pode usar o DevKinsta para extrair seu site do servidor Kinsta e trabalhar nele localmente.

No MyKinsta, vá para Sites WordPress > nome do site > Backups > Download > Criar backup agora.

Crie um backup para download no MyKinsta.
Crie um backup para download no MyKinsta.

Quando seu backup estiver pronto, clique em Download, salve-o em seu computador local e descompacte os arquivos em uma pasta.

2. Configure o 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 o envio de arquivos desnecessários, como arquivos do núcleo do WordPress, uploads de mídia ou informações sensíveis, adicione um arquivo .gitignore ao diretório raiz do projeto. Você pode usar um modelo padrão de .gitignore para WordPress, copiar o conteúdo e salvá-lo para garantir que apenas os arquivos essenciais sejam rastreados.

No Bitbucket, vá para o seu espaço de trabalho e crie um novo repositório. Certifique-se de que as opções Incluir README e Incluir .gitignore estejam definidas como Não. Depois que o repositório for criado, você também precisará habilitar os pipelines. No repositório, vá para Configurações e selecione Habilitar Pipelines.

3. Configure a autenticação SSH

Para se conectar com segurança ao seu repositório Bitbucket, você deve configurar a autenticação SSH.

Gere um par de chaves SSH em sua máquina local usando o seguinte comando, substituindo [email protected] pelo seu endereço de e-mail:

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).

Abra e copie a chave pública (~/.ssh/id_rsa_bitbucket.pub). No Bitbucket, vá para Configurações > Configurações pessoais do Bitbucket > Chaves SSH > Adicionar chave e cole os detalhes da chave pública. Isso autoriza seu computador a enviar códigos com segurança.

Adicione a chave SSH às configurações do Bitbucket.
Adicione a chave SSH às configurações do Bitbucket.

Adicione a mesma chave no MyKinsta, vá para seu nome de usuário > Configurações do usuário > Adicionar chave SSH, cole os mesmos detalhes da chave pública e clique em Adicionar chave SSH.

4. Envie seu código para o Bitbucket

Abra a pasta que contém os arquivos do seu site no editor de código de sua preferência e use os seguintes comandos para enviar seu código para o Bitbucket, substituindo your-username e your-repo pelo seu nome de usuário do Bitbucket e nome do repositório:

# 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

5. Configure o acesso SSH no MyKinsta para o Bitbucket

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

Abra um novo terminal e SSH em seu servidor Kinsta usando o comando de terminal SSH da página de informações do seu site no MyKinsta.

Comando do terminal SSH para seu site.
Comando do terminal SSH para seu site.

Digite a senha do seu site e gere uma nova chave SSH usando o seguinte comando, substituindo [email protected] pelo seu endereço de e-mail:

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 uma chave SSH.
Gerar uma chave SSH.

6. Adicione a chave SSH ao Bitbucket

Acesse o conteúdo do arquivo de chave pública (por exemplo, ~/.ssh/id_rsa.pub), com o seguinte comando:

cat ~/.ssh/id_rsa.pub

Copie toda a saída gerada, depois vá para Configurações > Configurações pessoais do Bitbucket > Chaves SSH > Adicionar chave e adicione a chave pública. Isso autoriza o servidor Kinsta a acessar seu repositório Bitbucket com segurança.

7. Configure o Git para usar SSH no servidor Kinsta

No MyKinsta, na página de informações, copie o caminho dos detalhes do ambiente.

No terminal, navegue até o diretório ativo do seu site com o seguinte comando, substituindo /www/your-site/public pelo caminho copiado do MyKinsta.

cd /www/your-site/public

Inicialize o diretório como um repositório Git e defina a URL remota para usar SSH com o seguinte comando, substituindo your-username e your-repo por suas credenciais e repositório do Bitbucket:

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

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

Você deverá ver uma mensagem semelhante a: “authenticated via ssh key. You can use git to connect to Bitbucket. Shell access is disabled.” Agora, seu servidor Kinsta está pronto para receber e implementar atualizações do Bitbucket diretamente por meio de pipelines do Bitbucket.

8. Adicione variáveis de ambiente ao Bitbucket

Para armazenar informações confidenciais da Kinsta de forma segura, você precisa adicionar variáveis de ambiente ao Bitbucket. No MyKinsta, vá para sites WordPress > nome do site > Informações; na seção SFTP/SSH, você precisa do Host, Porta e Nome de usuário.

Nome de usuário, endereço IP e porta na página de informações do site.
Na seção SFTP/SSH, você precisa do nome de usuário, endereço IP e porta da página de informações do site.

No Bitbucket, vá para Configurações do repositório > Variáveis do repositório e adicione o seguinte:

  • KINSTA_USERNAME: Este é o seu nome de usuário SSH para o servidor Kinsta. O Bitbucket Pipelines o utiliza para fazer login e executar comandos de implantação.
  • KINSTA_SERVER_IP: Este é o endereço do host SSH do seu servidor Kinsta. Ele permite que o Bitbucket Pipelines saiba a qual servidor você deve se conectar para 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.
  • SSH_PRIVATE_KEY: Esta é a chave privada SSH codificada em base64 do computador local. Os pipelines do Bitbucket usam essa chave para autenticar no seu servidor Kinsta. Para codificar sua chave privada em base64, execute o seguinte comando, copie a saída e adicione-a como o valor:
    cat ~/.ssh/id_rsa | base64

9. Configuração do Bitbucket Pipeline

Para automatizar as implantações, você precisa criar um arquivo de configuração bitbucket-pipelines.yml. Na pasta local que contém os arquivos do seu site, crie um novo arquivo chamado bitbucket-pipelines.yml e adicione o seguinte conteúdo ao arquivo, substituindo your-site pelo nome da pasta do caminho no seu site Kinsta:

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'

Esse pipeline está configurado para automatizar as implantações no seu servidor Kinsta sempre que houver um novo envio para a branch main. O fluxo de trabalho faz o seguinte:

  • Gatilho do Pipeline: A seção pipelines é configurada para ser acionada quando um envio é feito para a branch main. Isso significa que qualquer novo commit na branch main inicia automaticamente a implantação.
  • Etapa: Para maior clareza, ela é denominada “Implantar na Kinsta”. Ela contém as principais ações de implantação.
  • Pipe SSH-run: Usa 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 a configuração de uma sessão SSH, a execução dos comandos e o fechamento da 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 do WordPress. Veja a seguir o que cada comando faz:
    • O primeiro comando navega até o diretório ativo em que o WordPress está hospedado.
    • O segundo comando executa git fetch origin main para extrair o código mais recente da branch principal no Bitbucket.
    • O último comando atualiza o site ativo com o código mais recente da branch principal.

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 – de modo que o seu site WordPress na Kinsta permanecerá atualizado automaticamente a cada envio para main.

10. Teste o pipeline

Faça o commit e envie o arquivo de configuração bitbucket-pipelines.yml para a branch main. Isso aciona automaticamente o pipeline e inicia o processo de implantação. Você pode monitorar o progresso da implementação no painel do Bitbucket Pipelines. Você pode monitorar o progresso da implantação no painel do Bitbucket Pipelines. Se tudo estiver configurado corretamente, o Bitbucket se conectará ao servidor Kinsta, buscará o código mais recente e o implantará no seu site ativo.

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

Se o pipeline não estiver se conectando corretamente ao servidor Kinsta, isso pode ser devido ao URL remoto estar configurado como HTTPS em vez de SSH. Para confirmar, conecte-se ao servidor Kinsta via SSH e execute o seguinte comando no diretório do seu site:

git remote -v

Se o comando retornar https:// em vez de ssh://, você precisará atualizar a URL remota para que a chave SSH possa ser usada para autenticação. Execute o seguinte comando para alternar para SSH:

git remote set-url origin [email protected]:your-username/your-repo.git

Depois de atualizar a URL, envie suas alterações novamente e o pipeline deverá se conectar usando a chave SSH.

Este artigo foi útil?