Para usuários mais avançados, o GitLab CI/CD (integração contínua/entrega contínua ou implantação contínua) pode implantar automaticamente as alterações de código no seu site Kinsta sempre que um novo commit for enviado para a branch correspondente. Este método permite que você envie continuamente o código para o seu ambiente de produção na Kinsta sem substituir o banco de dados MySQL do WordPress.
Essa configuração permite que você envie o código do seu ambiente local ou do ambiente de teste da Kinsta e tenha um sistema de controle de versão. No exemplo abaixo, configuraremos um ambiente de teste e enviaremos alterações nesse ambiente para o ambiente de produção por meio do GitLab (usando a funcionalidade Mover para produção da Kinsta).
Se você ainda não possui uma conta GitLab, visite a página de registro deles para começar.
Crie um site Kinsta
Para este tutorial, vamos começar criando um novo site vazio na Kinsta, e instalaremos o WordPress mais tarde. Se você já tem um site WordPress Kinsta, você ainda pode seguir os passos neste tutorial para conectar seu site ao GitLab.
Em MyKinsta, vá para sua página de Sites WordPress. Clique no botão Adicionar site no canto superior direito e selecione Criar novo site a partir do menu suspenso. Selecione a opção Não instalar o WordPress na janela modal/pop-up, e clique no botão Continuar.
Preencha os campos solicitados, clique no botão Continuar para avançar para cada janela, e termine o processo de criação do site.

Crie um projeto GitLab
Para começar, vá até o GitLab e clique em Create a project para criar um novo repositório para o seu site Kinsta.

Selecione a opção Blank Project, e preencha os campos Project name e Project slug.

Para a opção Visibility Level, recomendamos tornar o repositório privado. Como este repositório pode conter plugin premium e código do tema, deixá-lo acessível através da Internet pública permitiria a qualquer um fazer o download dos produtos pelos quais você pagou.
Assim que você terminar de configurar o novo projeto, clique em Create project para continuar.
Configure as chaves SSH
A seguir, você precisará adicionar chaves SSH ao GitLab e MyKinsta para permitir que as duas plataformas se comuniquem.
Adicione a chave pública SSH ao GitLab
Primeiro, faça login no ambiente de produção do seu site Kinsta via SSH e execute o comando cat abaixo para exibir à sua chave pública SSH.
cat ~/.ssh/id_rsa.pub
Sua chave pública deve ser parecida com a abaixo. Mantenha sua janela de linha de comando aberta por enquanto, e volte para o GitLab em seu navegador.
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC7zdjwd6UIUJ5t4YnXNi6yhdHgrvIV2xgjvJ3592wd1Hzmnta4dau7yOIxQDU7/oNIr6DIskuIUii5ruGi4YZpIwB/AWGrn/uWb+FXJFiQHMZq9rCFcqtZXT0fyzKiSNkblV4F1RaPQJRvxfSUsSQ3jJU3FX8CF1c4R40CiBKkSHM8uavVIIESzgIHRiWVxkL9F6SKzg8GeTctJaAa3W+q1F1T60OKYmzH3OLdA37ZNmkm1CYWa8SF0JjOszxOnPwhfQ49P5r+rftXRFLz/7hGJ8CnUyzErSiUdUKNknUAB+w4KEZshQSNuiken0+GKqIw83dWWSyjiJJigcyDez2s+3AqDLHPG45NoBEXuBXjPQ9C08hokVyKlbzd/P2qvcnzUT5S6zTuaYOW+50+fiXeYkJlEoYYxoGRVx6FFdFqWyJx5UyaDv7QY3iQH0qct1iq9XGXMhBxIecIAEPUwF8nOp15in8L+5UIFMiNnihztTAXysc+8xvVwbuRlQIeR/E= ansible-generated on fvj-kinstagit
Clique no ícone do usuário no canto superior direito do GitLab, e clique em Settings.

Na página Settings, clique em SSH Keys na barra lateral.

Cole sua chave pública SSH no campo Key. O campo Title deve ser preenchido automaticamente com um nome, mas sinta-se à vontade para alterá-lo, se desejar. O GitLab também permite que você defina uma data de expiração para a chave SSH. Essa opção é útil se você invalida e substitui as chaves SSH como parte do seu protocolo de segurança da infraestrutura. Se não, deixe o campo Expires at em branco.

Após verificar sua configuração, clique em Add key para finalizar o processo.
Adicione a chave pública SSH ao MyKinsta
Agora que sua chave pública SSH foi adicionada ao GitLab, você precisará adicionar a mesma chave ao MyKinsta. Este passo adiciona sua chave pública SSH ao arquivo authorized_keys do seu site (apenas gravável pelo root e MyKinsta) e permitirá que o GitLab se conecte ao seu site via SSH para implantar alterações de código. No MyKinsta, clique em seu nome no canto superior direito e selecione Configurações do Usuário no menu suspenso.
Role para baixo e clique no botão Adicionar chave SSH.

Na janela modal/pop-up, especifique uma etiqueta (nome) para a chave SSH, cole sua chave pública no campo chave SSH, e clique em Adicionar chave SSH para finalizar o processo.

Adicione chave privada SSH ao GitLab
A seguir, você precisará adicionar a chave privada SSH do ambiente de produção do seu site como uma variável de ambiente no GitLab.
Para localizar sua chave privada, volte para a janela do terminal e execute o comando a seguir. Lembre-se de nunca compartilhar sua chave privada SSH em nenhum lugar além do GitLab.
cat ~/.ssh/id_rsa
No GitLab, clique no projeto que você criou anteriormente. Na barra lateral, passe o mouse sobre Settings e clique em CI/CD no menu que aparece.

Vá até a seção de Variables, clique no botão Expand, e clique em Add variable. Use SSH_PRIVATE_KEY
para o nome da chave, cole sua chave privada no campo Value, e clique no botão Add variable para continuar.
Após a variável ter sido adicionada, você poderá vê-la em suas configurações de repositório.

Clone o repositório do GitLab para o MyKinsta
Agora que as chaves SSH necessárias foram adicionadas, você pode clonar seu repositório GitLab no seu ambiente de produção da Kinsta. No GitLab, navegue até o seu repositório, clique no botão azul Clone, e clique no ícone copiar/clipboard para copiar o endereço do repositório em Clone with SSH.

Volte para sua janela de linha de comando e navegue até o diretório home do seu ambiente de produção. Se você não tem certeza de como chegar ao seu diretório home, use o comando abaixo.
cd ~/
Quando você estiver no diretório home, execute o comando git clone
com o endereço do repositório que você copiou do GitLab.
git clone [your-repository-url-here]
Após clonar o repositório, você verá um aviso que diz “você parece ter clonado um repositório vazio” Isso é de se esperar porque o repositório está vazio no momento.

Em Kinsta, nossa configuração Nginx serve o conteúdo da pasta ~/public. Assim, você precisa apagar a pasta ~/public e renomear sua pasta repo clonada para ~/public. Para fazer isso, execute os dois comandos abaixo.
rm -rf ~/public
mv ~/your-repo-folder-name ~/public
Configure o repositório GitLab
A seguir, use o comando abaixo para navegar para a pasta ~/public.
cd ~/public
Execute os dois comandos abaixo para configurar seu repo do GitLab. Certifique-se de especificar seu endereço de e-mail válido e um nome de usuário associado à sua conta no GitLab.
git config --global user.email "[email protected]"
git config --global user.name "brian"
Instale o WordPress com WP-CLI
Agora que o GitLab repo foi clonado para o seu ambiente de produção da Kinsta e configurado, vamos instalar o WordPress. Você pode instalar o WordPress manualmente baixando do wordpress.org, ou você pode instalá-lo com o WP-CLI. Para este exemplo, usaremos o WP-CLI para instalar o WordPress com o comando abaixo na pasta ~/public.
wp core download
Após instalar o WordPress, sua pasta ~/public deve se parecer com esta:

A seguir, vá para a página Domínios do seu site no MyKinsta e clique no link Abrir URL para visitar seu domínio principal.

Ao iniciar a instalação do WordPress, você será guiado através de um processo de cinco minutos. Se você não se sentir seguro sobre como configurar o WordPress, temos um guia detalhado disponível aqui.

Após o WordPress ter sido instalado, você deve conseguir ver seu novo site WordPress visitando seu domínio principal.

Configure o GitLab CI/CD Pipeline
A seguir, você precisará configurar um arquivo de configuração para instruir o GitLab para iniciar implantações automáticas após a atualização da branch principal do repo. Para fazer isso, certifique-se de estar na pasta ~/public em seu ambiente de produção da Kinsta (execute cd ~/public
para navegar lá se necessário) e crie um novo arquivo chamado .gitlab-ci.yml com o comando abaixo.
touch .gitlab-ci.yml
Após o arquivo ter sido criado, adicione o seguinte texto ao arquivo. Você pode tanto editar o arquivo com nano ou vim na linha de comando ou com SFTP e um editor de texto ou código. Se você usar um cliente SFTP, certifique-se de ativar arquivos ocultos para ver o arquivo .gitlab-ci.yml.
before_script:
- apt-get update -qq
- apt-get install -qq git
# Setup SSH deploy keys
- 'which ssh-agent || ( apt-get install -qq openssh-client )'
- eval $(ssh-agent -s)
- ssh-add <(echo "$SSH_PRIVATE_KEY")
- mkdir -p ~/.ssh- '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking none" > ~/.ssh/config'
deploy_live:
environment:
name: Live
url: your-primary-domain
script:
- ssh user@ip-address -p port-number "cd public-root && git checkout main && git pull origin main && exit"
only:
- main
Altere os parâmetros url
e script
no bloco deploy_live
; substituindo os valores em negrito pelos detalhes do seu site do MyKinsta.
- Substitua seu domínio principal pelo domínio principal do seu site.
- Substitua ssh user@ip-address -p port-number pelo comando do terminal SSH no MyKinsta (Sites WordPress > nomedosite > Informações > Detalhes básicos).
- Substitua public-root pelo caminho no MyKinsta (Sites WordPress > nomedosite > Informações > SFTP/SSH).

A seção only: - main
do arquivo se refere ao branch do repositório que irá acionar o processo de CI/CD do GitLab. Com essa configuração, os envios para a branch principal iniciarão uma implantação em seu ambiente de produção na Kinsta. Se você quiser especificar outra branch para acionar a implantação, sinta-se à vontade para alterar a configuração.
Se você quiser adicionar mais detalhes à configuração para incluir um ambiente de teste, pode adicionar um bloco adicional chamado deploy_staging
, com a URL e detalhes SSH correspondentes ao seu ambiente de teste na Kinsta.
deploy_staging:
environment:
name: Staging
url: your-staging-domain
script:
- ssh user@ip-address -p port-number "cd public-root && git checkout main && git pull origin staging && exit"
only:
- staging
Observe também a seção only: - staging
– isso significa que enviar/envio para a branch staging
, o processo de CI/CD do GitLab será iniciado. Você pode ajustar isso conforme necessário para implantar a partir da branch de sua escolha.
Commit inicial ao GitLab
Agora que o WordPress e o arquivo de configuração do GitLab estão configurados, vamos fazer um commit inicial no GitLab. Vamos criar uma branch chamado v0.1, começar a rastrear os arquivos do repositório, confirmar as alterações e enviar as alterações para o GitLab na branch v0.1. Execute os comandos abaixo a partir de ~/public para acionar o commit inicial.
git checkout -b v0.1
git add .
git commit -a -m 'Initial Commit'
git push origin v0.1
Se você verificar seu repositório no GitLab, você verá agora os arquivos do seu commit inicial.

Configure o ambiente de teste da Kinsta
O próximo passo é criar e configurar um ambiente de teste no MyKinsta para que você tenha um lugar seguro para testar novos plugins, temas e códigos sem impactar seu ambiente de produção/ativo.

Após criar o ambiente de teste do seu site, o SSH entra no ambiente de teste em uma nova janela de linha de comando (mantenha a janela separada para o seu ambiente de produção aberta) e execute o comando abaixo para verificar qualquer alteração de código.
cd ~/public && git status
Você deverá ver uma mensagem como a que está abaixo. Nela, é possível observar que o branch criado anteriormente é o v0.1 e que o arquivo wp-config.php foi alterado. Isso acontece porque a Kinsta adiciona algumas linhas adicionais ao wp-config.php ao criar o ambiente de teste.

Commit e implante alterações no ambiente de produção
Por fim, vamos fazer algumas alterações no ambiente de teste e enviar um novo commit para o ambiente de produção da Kinsta usando o GitLab. Lembre-se de que este método irá ignorar a opção de Enviar para produção da Kinsta.
Para este exemplo, vamos instalar o plugin Yoast SEO usando o WP-CLI com o seguinte comando:
wp plugin install wordpress-seo
Após o plugin Yoast SEO ter sido instalado, execute os comandos abaixo para fazer um commit e envie as alterações para a branch v0.1.
git add .
git commit -a -m ‘Installed Yoast SEO plugin.’
git push origin v0.1
Finalmente, vamos mudar para a branch main, fundir v0.1 para main, e enviar main para o GitLab com os comandos abaixo. Isso fará com que o GitLab inicie um processo de implantação no seu ambiente de produção da Kinsta devido à configuração only: - main
no arquivo de configuração do GitLab.
git checkout main
git merge v0.1
git push origin main
No GitLab, vá para CI/CD > Jobs na barra lateral do repositório e você verá o trabalho sendo executado. Esse trabalho é o GitLab implantando o plugin Yoast SEO no seu ambiente de produção da Kinsta.

Após o término do trabalho, mude de volta para a janela de linha de comando do seu ambiente de produção e execute wp plugin list
naquela janela. Você deve ver wordpress-seo
na lista. Este é o plugin Yoast SEO que foi instalado no ambiente de teste mais cedo.

Se você é um desenvolvedor de temas ou plugins que trabalha com sites na Kinsta, a configuração de implantações automáticas via GitLab CI/CD pode ajudar a acelerar o seu fluxo de trabalho enquanto fornece controle de versão.