Integração com o GitHub Actions

Para usuários avançados, o GitHub CI/CD (Continuous Integration/Continuous Delivery ou Continuous Deployment) pode implantar automaticamente alterações de código no seu site na Kinsta sempre que um novo commit for enviado para o branch designado. Essa configuração permite a implantação perfeita do código a partir do seu ambiente local via SSH e GitHub Actions, possibilitando atualizações contínuas em seu site.

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

1. Baixar um backup do seu site

Você pode baixar um backup do seu site para configurar o repositório do GitHub 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á em Sites > nome do site > Backups > Download > Criar backup agora.

Criar um backup para download no MyKinsta.
Criar um backup para download no MyKinsta.

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

2. Configurar o repositório no GitHub

Abra a pasta que contém os arquivos do seu site no editor de código de sua preferência. Para evitar o upload de arquivos principais do WordPress desnecessários, uploads de mídia ou informações sensíveis, adicione um arquivo .gitignore ao diretório raiz do seu projeto. Você pode usar um template padrão de .gitignore para WordPress, copiar seu conteúdo e salvá-lo para garantir que somente os arquivos essenciais sejam rastreados.

Crie um repositório do GitHub e envie os arquivos do seu site para o GitHub.

3. Configurar secrets do GitHub para a Kinsta

Para automatizar as implantações do GitHub para a Kinsta, você precisa dos principais detalhes do SSH, incluindo seu nome de usuário, senha, porta e endereço IP. Como essas informações são sensíveis, você deve armazená-las com segurança, como GitHub Secrets.

No GitHub, vá até o seu repositório, clique em Settings > Secrets and variables > Actions > New repository secret.

Adicione os seguintes segredos usando os detalhes do usuário SFTP/SSH principal na página de informações do seu site no MyKinsta:

Secret nameSecret
KINSTA_SERVER_IPHost, por exemplo, 12.34.56.78
KINSTA_USERNAMENome de usuário, por exemplo, kinstahelp
PASSWORDSenha
PORTPorta, por exemplo, 12345
Informações de SSH para adicionar secrets ao GitHub.
Informações de SSH para adicionar secrets ao GitHub.

4. Gerar uma chave SSH no seu servidor da Kinsta

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

Comando de terminal SSH para o seu site.
Comando de terminal SSH para o 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.

5. Adicionar a chave SSH ao GitHub

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

No GitHub, vá em Settings > SSH and GPG keys > New SSH key, insira um título (por exemplo, “Kinsta Server Key”), certifique-se de que o Key type é Authentication Key, cole a chave pública no campo Key e clique em Add SSH Key. Se você for membro de uma organização que usa Deploy keys, deve adicionar sua chave SSH como uma deploy key. Para mais detalhes, consulte a documentação do GitHub sobre Deploy keys.

6. Configurar o Git para usar SSH no servidor Kinsta

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

Caminho da página de informações do seu site.
Caminho da página de informações do seu site.

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 git e repositório:

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

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

Você deverá ver uma mensagem semelhante a: “Hi seu-username! You’ve successfully authenticated, but GitHub does not provide shell access.” Seu servidor da Kinsta agora está pronto para receber e implantar atualizações do GitHub diretamente por meio do GitHub Actions.

7. Criar o fluxo de trabalho do GitHub Actions

Este fluxo de trabalho implanta alterações na Kinsta automaticamente sempre que você faz push para o branch main. Para automatizar a implantação, você precisa definir como ela será executada usando um arquivo YAML.

No seu repositório do GitHub, crie um novo diretório chamado .github/workflows dentro desse diretório, crie um novo arquivo chamado deploy.yml e adicione o seguinte conteúdo ao arquivo, substituindo your-site pelo nome da pasta do caminho em seu site Kinsta:

name: Deploy to Kinsta

on:
  push:
    branches:
      - main # Trigger the workflow only when changes are pushed to the main branch

jobs:
  deploy:
    runs-on: ubuntu-latest

    steps:
      # Setup Node.js (only if needed for build tasks)
      - name: Setup Node.js
        uses: actions/setup-node@v4
        with:
          node-version: '20.x'

      # Checkout the latest code from the GitHub repository
      - name: Checkout code
        uses: actions/[email protected]

      # Deploy to Kinsta via SSH
      - name: Deploy via SSH
        uses: appleboy/[email protected]
        with:
          host: ${{ secrets.KINSTA_SERVER_IP }}
          username: ${{ secrets.KINSTA_USERNAME }}
          password: ${{ secrets.PASSWORD }}
          port: ${{ secrets.PORT }} # Optional, default is 22
          script: |
            # Navigate to the live site directory
            cd /www/your-site/public

            # Pull the latest changes from the GitHub repository
            git fetch origin main
            git reset --hard origin/main  # Ensure the live site matches the latest main branch

Esse fluxo de trabalho faz o seguinte:

  • Trigger: o fluxo de trabalho é acionado toda vez que o código é enviado para o branch main do seu repositório no GitHub.
  • Jobs: o fluxo de trabalho contém um job chamado deploy, que é executado em uma máquina virtual do Ubuntu (ubuntu-latest).
  • Código de checkout: isso usa a ação actions/[email protected] para extrair o código mais recente do seu repositório do GitHub.
  • Implantar na Kinsta via SSH:
    • O plugin appleboy/ssh-action estabelece uma conexão SSH com seu servidor Kinsta usando os segredos que você armazenou no GitHub (host, nome de usuário, senha e, opcionalmente, a porta). O script nessa etapa executa os seguintes comandos:
    • Comandos de implantação:
      • cd /www/seu-site/private: navega até o diretório ativo onde o WordPress está hospedado.
      • git fetch origin main: obtém as alterações mais recentes do branch main em seu repositório do GitHub.
      • git reset --hard origin/main: Atualiza o site ativo com o código mais recente do branch.

8. Testar o fluxo de trabalho

Depois de configurar o fluxo de trabalho, você pode testá-lo fazendo push de uma pequena alteração no branch maindo seu repositório do GitHub. Cada vez que você faz push de uma alteração, o GitHub Actions aciona automaticamente a implantação, puxando a versão mais recente do seu código e implantando-a no seu site de produção na Kinsta.

Você pode monitorar o status da sua implantação acessando a aba Actions no seu repositório do GitHub. Se o fluxo de trabalho encontrar erros, você verá registros detalhados para ajudá-lo a solucionar e corrigir os problemas.

Este artigo foi útil?

© 2013 - 2026 Kinsta Inc. Todos os direitos reservados. Kinsta®, MyKinsta®, DevKinsta® e Sevalla® são marcas registradas de propriedade da Kinsta Inc.A marca registrada WordPress® é propriedade intelectual da WordPress Foundation, e as marcas registradas Woo® e WooCommerce® são propriedade intelectual da WooCommerce, Inc. O uso dos nomes WordPress®, Woo® e WooCommerce® neste site é apenas para fins de identificação e não implica endosse por parte da WordPress Foundation ou da WooCommerce, Inc. A Kinsta não é endossada, não é de propriedade, nem está afiliada à WordPress Foundation ou à WooCommerce, Inc. Informações legais