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.
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 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.
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.
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
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:
ssh -T [email protected]
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.
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 branchmain
. Isso significa que qualquer novo commit na branchmain
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.