Ao analisar um diagrama de Venn, os ambientes de teste da Kinsta se conectariam tanto ao desenvolvimento do WordPress quanto ao seu ciclo de vida DevOps preferido. Eles podem ser integrados ao seu fluxo de trabalho desde o planejamento inicial até a fase de operações. Isso inclui trabalhar localmente com o WordPress, usar controle de versão e quase todas as outras tarefas que você executa durante um ciclo de desenvolvimento.

Para este artigo, vamos analisar o desenvolvimento de sites com os ambientes de teste da Kinsta. Durante todo o processo, vamos vincular isso a um ciclo de vida típico de DevOps. Há muito a ser feito, então vamos iniciar explicando por que acreditamos ser vantajoso utilizar os ambientes de teste oferecidos pela Kinsta.

Os benefícios de usar os ambientes de teste da Kinsta

O ambiente de teste da Kinsta proporciona versatilidade e flexibilidade no desenvolvimento e teste de sites. Esses ambientes possibilitam a criação em uma configuração que reflete seu ambiente de produção. Como o servidor de produção também fica na Kinsta, isso garante um campo de testes confiável e preciso para o seu trabalho.

Obviamente, você pode criar, gerenciar, clonar e excluir ambientes de teste por meio do painel MyKinsta:

Você pode criar, gerenciar, clonar e excluir ambientes de teste por meio do painel MyKinsta.
Você pode criar, gerenciar, clonar e excluir ambientes de teste por meio do painel MyKinsta.

Se você precisar de mais flexibilidade, o complemento de ambiente de teste premium oferece cinco ambientes adicionais. Além disso, você se beneficiará da nossa infraestrutura robusta, que inclui a Rede de nível premium do Google e a integração com o Cloudflare.

Naturalmente, isso também significa mais capacidade de processamento. Dependendo do seu plano, você pode ter até 12 CPUs e 8 GB de memória, uma quantidade de PHP Workers proporcional ao seu site de produção e a opção de habilitar o CDN da Kinsta para otimizar o desempenho. É uma configuração versátil, adequada para uma variedade de tarefas, como testes A/B, verificações de compatibilidade com plugins, testes que exigem muitos recursos e muito mais.

Para o desenvolvimento local, o DevKinsta complementa toda a experiência. Após avançar das fases iniciais, você pode enviar seu site diretamente para os ambientes de teste da Kinsta.

A tela inicial do DevKinsta.
A tela inicial do DevKinsta.

De forma ampla, é possível criar, desenvolver, projetar, testar e corrigir problemas dentro do ambiente da Kinsta. Adicionalmente, este ambiente é compatível com o ciclo de vida de DevOps. Abordaremos esse tema com mais detalhes em breve. Antes, porém, vamos apresentar informações adicionais sobre os ambientes de teste da Kinsta.

Alguns detalhes sobre o ambiente de teste da Kinsta

Os ambientes de teste da Kinsta são excelentes quando se trata de testar um site em um servidor ativo, embora não de produção. No entanto, existem algumas diferenças entre o ambiente de teste e o ambiente de produção na Kinsta que você deve conhecer:

  • Primeiro, desabilitamos o cache de página inteira e o OPcache por padrão.
  • Você pode habilitá-los se desejar, mas sem eles, é provável que você observe tempos de carregamento da página mais longos.
  • Da mesma forma, a indexação do site também é desativada no WordPress. Embora você possa reativar isso se precisar, um aspecto que não pode ser desativado são os cabeçalhos restritivos de indexação temporária de URL.
  • Tarefas agendadas (cron jobs) também não serão executadas enquanto estiverem em ambiente de teste, embora ainda estejam ‘no lugar’. Isso significa que você pode fazer alterações nelas, que substituirão as tarefas agendadas no seu site de produção assim que você o publicar. No entanto, enquanto estiver em ambiente de teste, elas não serão ativadas. Observe também que suas credenciais de login no WordPress serão as mesmas para o seu site de teste e para o site de produção.
  • Além disso, observe que suas credenciais de login do WordPress serão as mesmas para o site de teste e para o site de produção.

Existe mais um ponto que gostaríamos de abordar rapidamente antes de prosseguirmos para o fluxo de trabalho: a interação dos plugins com o ambiente de teste.

Usando plugins nos ambientes de teste da Kinsta

A Kinsta já proíbe a instalação de alguns plugins no WordPress por motivos de segurança e desempenho. No entanto, quando se trata de testes, você também vai querer desativar alguns dos plugins do seu site.

Há três situações em que você deve considerar isso:

  • Se a licença do seu plugin estiver vinculada ao seu nome de domínio, talvez não irá funcionar no ambiente de teste.
  • Plugins como o Jetpack mudarão para o modo de teste automaticamente. Talvez você não veja nenhuma diferença, embora nenhum dos dados que você processar seja enviado para o WordPress.com. Além disso, você não poderá desativar o Jetpack no ambiente de teste.
  • Alguns plugins se conectam e fazem publicações em redes sociais, como é o caso do CoSchedule. Nessas circunstâncias, recomendamos que você os desative até que o site seja publicado no ambiente de produção. O motivo é que eles podem agendar e publicar URLs provenientes do seu ambiente de teste.

Temos mais informações sobre isso (e muito mais) em nossa documentação. É uma leitura essencial se você quiser usar os ambientes de teste da Kinsta e ainda assim minimizar quaisquer efeitos relacionados aos seus plugins e temas.

Um fluxo de trabalho de desenvolvimento típico usando os ambientes de teste da Kinsta

Você provavelmente já tem um fluxo de trabalho típico para desenvolvimento. Usando os ambientes de teste da Kinsta, você pode integrar seu ciclo de vida DevOps para Integração Contínua/Implantação Contínua (CI/CD) de uma maneira perfeita.

Na verdade, o processo começa com um ambiente local para desenvolvimento. O processo de configuração não leva tempo e também lida com a criação de um banco de dados MariaDB.

O DevKinsta também é ideal para projetos WordPress headless. Embora o WordPress seja semelhante a uma API (Application Programming Interface, Interface de Programação de Aplicativos) de conteúdo, você ainda pode criar o frontend usando um framework JavaScript, como React ou Vue.js.

Quando for o momento de transferir para o ambiente de teste, o DevKinsta gerenciará o backend da forma usual. Para o frontend, você terá a opção de realizar a implantação na Hospedagem de Site Estático da Kinsta ou na nossa Hospedagem de Aplicativos.

A tela inicial para implantação na hospedagem de aplicativos da Kinsta.
A tela inicial para implantação na hospedagem de aplicativos da Kinsta.

Veja como o restante de um fluxo de trabalho típico pode parecer:

  • Enviando para o ambiente de teste. Depois de concluir o desenvolvimento local e os testes preliminares, você deverá fazer o push para o ambiente de teste. Essa réplica de produção garante que seus testes produzam resultados semelhantes aos do site de produção. É uma etapa crucial do seu pipeline de CI/CD, pois você pode implementar testes automatizados e garantia de qualidade antes da implantação.
  • Testes e depuração. Você desejará realizar mais testes no ambiente de teste, como testes de desempenho, varredura de segurança e teste de aceitação do usuário (UAT). Como a Kinsta isola os ambientes de teste e de produção, esses testes não afetarão o site de produção. Usando as ferramentas de registro e monitoramento de desempenho de aplicativos (APM) da Kinsta, você também pode depurar quaisquer problemas aqui.
  • Integração e implantação contínuas. Após a fase de testes e as aprovações finais, você precisará integrar todas as alterações do ambiente de teste para o ambiente de produção. Você pode automatizar aspectos desse processo de acordo com seu fluxo de trabalho de CD/CI. Dessa forma, o seu controle de versão central pode permanecer atualizado e você pode implantar o código na produção com o mínimo de informações.
  • Monitoramento e feedback. Após a implantação, é fundamental identificar e corrigir quaisquer problemas usando um ciclo contínuo de feedback e monitoramento. O APM da Kinsta pode ajudar você a enfrentar quaisquer desafios pós-implantação. A partir daí, você pode realizar melhorias contínuas com as informações e dados obtidos.

De modo geral, os ambientes de teste da Kinsta (e o DevKinsta) fornecem uma infraestrutura robusta para simplificar seu fluxo de trabalho de desenvolvimento. Ele suporta até mesmo aplicativos WordPress headless. Na próxima seção, veremos como você pode usar suas habilidades de DevOps existentes em conjunto com o nosso ambiente de teste.

Aplicando técnicas de DevOps ao usar os ambientes de teste da Kinsta

Ao aplicar técnicas de DevOps nos ambientes de teste da Kinsta, você pode melhorar significativamente a colaboração e acelerar o ciclo de vida do desenvolvimento. Isso é especialmente verdadeiro para equipes multifuncionais, pois o ambiente de teste replica o ambiente de produção.

Isso permite que os desenvolvedores, as equipes de Garantia de Qualidade (QA) e outros trabalhem juntos em sincronia durante as fases de criação, teste e implantação. Como isso acontece em um ambiente controlado e isolado, ajuda a minimizar os conflitos. Isso também garante que você possa identificar e resolver quaisquer problemas no início do processo de desenvolvimento.

Na sua essência, o DevOps busca eliminar as barreiras entre as equipes tradicionalmente ‘isoladas’, como desenvolvimento e operações. As práticas implementadas incentivam uma cultura colaborativa, automatizada e integrativa.

Além disso, as práticas corretas de DevOps visam melhorar a velocidade, a eficiência e a segurança do seu desenvolvimento e implantação.

O ciclo de vida do DevOps
O ciclo de vida do DevOps. Crédito da imagem: kdavies4

Você pode ver isso em ação nos vários estágios do ciclo de vida do DevOps. Há cerca de cinco a sete, dependendo do seu projeto e da sua equipe:

  • Desenvolvimento. Esse estágio envolve planejamento e codificação, além da escolha do ambiente de teste.Você escreverá o código, o testará e realizará o controle de versão (provavelmente utilizando o Git) neste estágio, antes de avançar para a próxima etapa.
  • Integração. Aqui, você mesclará as alterações de código em um repositório central e garantirá que essas novas adições não danifiquem o site.
  • Testes. Em seguida, você automatizará os testes a serem executados no ambiente de teste. Com isso, você terá uma segunda camada para garantir um código de qualidade e sem bugs.
  • Implantação. Depois de validar o código de teste, você pode automatizar a implantação na produção. Assim, você garante que seu site sempre será executado com a versão mais recente.
  • Monitoramento. Após a implantação, é crucial monitorar o desempenho do site. Nesta etapa, contar com um sistema e processo de alertas eficazes será muito benéfico. Os dados coletados nesta fase também serão valiosos para futuras entregas.
  • Feedback. Esta é uma fase pós-implantação em que você coleta informações e dados dos usuários, neste caso, os visitantes do site. Você usará o feedback desse estágio para identificar áreas de melhoria no próximo ciclo de desenvolvimento.
  • Operações. É provável que você tenha algum cruzamento com um novo ciclo durante essa fase. É aqui que você minimiza as interrupções, trabalha para melhorar o tempo de atividade e otimiza as configurações do servidor.

Dependendo do número de etapas que você tem em seu próprio ciclo de vida, algumas delas estarão em uma ordem diferente. Por exemplo, a fase de integração pode se tornar parte dos estágios de desenvolvimento ou teste. Além disso, você pode não ter alguns desses estágios, como um feedback dedicado ou uma fase de operações.

Os ambientes de teste da Kinsta são essenciais para a fase de desenvolvimento, pois fornecem uma área segura e isolada para codificação, teste e controle de qualidade antes da implantação. A integração desses ambientes ao ciclo de vida do DevOps pode ajudar você a colaborar, aumentar os prazos de entrega e melhorar a qualidade dos resultados.

A seguir, mostraremos a você como criá-los por meio do painel MyKinsta.

Como configurar um ambiente de teste na Kinsta

Nem todos os provedores de hospedagem web oferecem essa funcionalidade, mas os ambientes de teste da Kinsta estão disponíveis para todos os planos que oferecemos. Todo o processo leva alguns minutos e poucos cliques.

Além disso, não precisamos cobrir todas as etapas aqui, pois você pode encontrá-las em nossa base de conhecimento. No entanto, em resumo, você pode iniciar a configuração por meio do painel MyKinsta:

Escolhendo entre ambientes de produção e de teste no MyKinsta.
Escolhendo entre ambientes de produção e de teste no MyKinsta.

Sua primeira decisão será escolher um ambiente de teste padrão ou premium. Nossa recomendação é que você reconheça a importância crucial do ambiente de teste para o seu site de produção. Por exemplo, um ambiente padrão provavelmente será suficiente se você precisar apenas testar elementos fora do ambiente de produção.

Por outro lado, um ambiente premium será necessário se você precisar do mesmo nível e escopo de recursos que o site de produção. Você também tem outros benefícios, como a capacidade de configurar vários ambientes de teste. No entanto, para sites com uso intensivo de recursos (como lojas de eCommerce), você precisará corresponder aos recursos do site de produção.

Na maioria dos casos, você provavelmente desejará clonar o site existente, que é uma das opções que você tem após escolher o tipo de ambiente de teste.

Escolhendo um ambiente de teste no MyKinsta.
Escolhendo um ambiente de teste no MyKinsta.

Vindo do DevKinsta, você pode configurar um ambiente vazio aqui. Existe um botão nas configurações do seu site no DevKinsta para enviar ao ambiente de teste. De qualquer forma, você deverá esperar alguns minutos para que seu ambiente conclua a configuração. A partir daí, você pode começar a usar os ambientes de teste da Kinsta para construir e testar seu site.

Dando ao seu ambiente de teste Kinsta um endereço de subdomínio adequado

Sob circunstâncias normais, seu ambiente de teste da Kinsta ficará em uma subpasta no seu servidor. Ele terá uma URL que é um subdomínio de kinsta.cloud, mas isso pode causar alguns problemas:

  • Alguns plugins não funcionarão, como aqueles que precisam verificar uma licença por meio de um nome de domínio específico.
  • Certas configurações do WordPress Multisite apresentam problemas com subdiretórios na Kinsta ou exigem um subdomínio personalizado para serem executadas de maneira ideal.

Por isso, é uma boa ideia que você configure um endereço de subdomínio adequado para seus ambientes de teste na Kinsta. Para usuários premium, a Kinsta fornece endereços de subdomínio dedicados, mas mesmo isso pode não resolver seus problemas.

A solução é configurar um domínio personalizado para o seu site e, então, rodar o ambiente de teste em um subdomínio usando o Sistema de Nomes de Domínio (DNS). Uma URL de teste personalizada usando um domínio e subdomínio adequados oferece dois benefícios: primeiro, você pode mitigar quaisquer problemas mencionados. Segundo, você obtém um subdomínio ‘mais agradável’ para compartilhar com colaboradores ou clientes.

Enviando um site de produção para o ambiente de teste

Um detalhe do ambiente de teste que pode não estar claro no início é como você pode enviar o site de produção para ele após a configuração. Quando você entender que um ambiente de teste é simplesmente uma cópia do seu site de produção, será mais fácil visualizar.

No entanto, aqui está uma visão geral rápida do fluxo de trabalho para evitar qualquer dúvida:

  • Quando você cria um ambiente de teste, isso basicamente copia o site de produção para um subdomínio. Isso inclui todos os seus bancos de dados e arquivos. É uma réplica completa do seu site de produção.
  • Você faz alterações no ambiente de teste de acordo com seu ciclo de vida de DevOps. Isso será subjetivo e estará relacionado ao seu próprio projeto, fluxo de trabalho e metas.
  • Quando se trata de colocar essas alterações no site de produção, você tem algumas opções. Você pode usar a funcionalidade Mover para produção integrada na Kinsta ou fazer alterações manuais. Isso é algo que discutiremos em mais detalhes posteriormente.
  • A partir daqui, você terá novamente uma réplica individual do seu site para os ambientes de teste e de produção.

Dessa forma, não há como atualizar o ambiente de teste com base no status do site de produção. Nossa recomendação é excluir o ambiente de teste e reconstruí-lo quando você precisar dele, pois isso copiará o site atual. Esse é outro bom motivo para você usar um endereço de subdomínio personalizado para seus ambientes de teste da Kinsta.

A Kinsta faz backups tanto para o site de produção quanto para o ambiente de teste. Isso significa que você também pode restaurar um backup do site de produção diretamente para o ambiente de teste. Com isso, você obtém uma maneira de fazer a transição entre as fases do ciclo de vida com mais facilidade e permite utilizar versões anteriores do seu site durante o desenvolvimento.

Observe que você precisará configurar seu ambiente de teste primeiro, mas poderá restaurar para ambientes padrão ou premium. Independentemente disso, você pode fazer isso por meio do painel MyKinsta:

Restaurando um backup por meio do painel MyKinsta.
Restaurando um backup por meio do painel MyKinsta.

Isso requer alguns cliques e também manterá os backups existentes para seus sites de produção e de teste, juntamente com quaisquer domínios personalizados que você configurar.

Integrando o controle de versão em sua configuração de teste

Muitos desenvolvedores usam o controle de versão, como o Git, que recomendamos. Os ambientes de produção e de teste na Kinsta oferecerão integração com o Git, o que significa que você pode controlar a versão do seu site de teste para manter o controle do seu cronograma de desenvolvimento.

Clonar um repositório no servidor da Kinsta é simples, e o processo envolve alguns passos básicos:

  • Conecte-se ao seu site usando o Secure Shell (SSH).
  • Baixe seu repositório atual do GitHub, GitLab ou outro serviço semelhante.
  • Como alternativa, clone seu repositório a partir de um local remoto.

Como você baixa o seu repositório remoto varia conforme ele seja público, privado ou tenha Autenticação de Dois Fatores (2FA). No entanto, quando se trata de enviar o seu código para o repositório remoto, será necessário encontrar um fluxo de trabalho adequado.

Isso ocorre porque os ambientes de teste da Kinsta e a integração do Git ainda não suportam um comando como git push kinsta mysite. Mesmo assim, existem soluções alternativas. Por exemplo, você pode usar uma ferramenta como o WP Pusher:

O plugin WP Pusher.
O plugin WP Pusher.

Desenvolvedores inteligentes também estão encontrando maneiras exclusivas de fazer push para o GitHub a partir da Kinsta, mesmo que seja executando um comando simples de um cliente Git ou automatizando o processo com scripts. Mais adiante, falaremos mais sobre o conceito geral de enviar seu código de volta para o site de produção.

Realizando testes de desempenho nos ambientes de teste da Kinsta

Parte das etapas do ciclo de vida de testes e monitoramento envolve analisar (e comparar) o desempenho do seu site de teste com benchmarks. A boa notícia é que você dispõe de todas as ferramentas da Kinsta tanto para o seu site de teste quanto para o site em produção.

Em resumo, você obterá benchmarks para o seu site de produção, criará metas que gostaria de alcançar e otimizará seu código no ambiente de teste. A partir daí, você avaliará se essas alterações fazem alguma diferença positiva. Em caso afirmativo, você pode levar as coisas adiante. Caso contrário, você percorrerá as etapas de codificação e teste.

Para os ambientes de teste da Kinsta, a ferramenta Kinsta APM provavelmente será uma referência essencial:

A ferramenta Kinsta APM.
A ferramenta Kinsta APM.

Essa é uma ferramenta personalizada que se concentra nos problemas do WordPress e registra a data e hora de todas as atividades que coleta. Você pode monitorar processos PHP, suas chamadas HTTP, consultas do banco de dados e muito mais. Por exemplo, descobrimos que a maioria dos problemas de degradação de desempenho remete a um plugin ou tema não otimizado. O Kinsta APM pode mostrar isso a você em detalhes explícitos na aba WordPress.

Você verá que é possível analisar detalhadamente as transações individuais, o que significa que você pode ver exatamente onde estão os gargalos. Para sites de teste, você não monitorará com frequência o tempo de transação do Redis. Em vez disso, os tempos do PHP e do MySQL serão de maior interesse.

Mostrando as transações mais lentas de um site na ferramenta APM da Kinsta.
Mostrando as transações mais lentas de um site na ferramenta APM da Kinsta.

Usar um período de tempo absoluto quando você soluciona problemas ajudará a identificar áreas de preocupação. A documentação da Kinsta orienta você pelo fluxo de trabalho geral; no entanto, em resumo, as páginas com carregamento lento devem ser sua principal preocupação.

A partir daí, você pode analisar detalhadamente os processos que compõem essas transações e eliminar códigos não ideais ou ferramentas de terceiros de baixa qualidade. Provavelmente, você utilizará uma combinação de ferramentas para identificar e corrigir códigos problemáticos. No desenvolvimento WordPress, o  WP_DEBUGe o Query Monitor são comuns.

Implantação contínua: Sincronizando alterações entre o ambiente de teste e de produção

A fase de implantação do seu ciclo de vida significa que você terá que tomar uma decisão: Qual código enviar. Talvez você pense em enviar tudo de uma vez, mas essa nem sempre é a melhor ideia.

Isso ocorre porque, independentemente da semelhança entre os ambientes de teste e de produção, eles ainda terão diferenças. Uma abordagem medida pode ser mais sensata, pois você pode enviar um conjunto de códigos para uma melhoria específica, monitorar as alterações e programar o próximo envio.

Esse conceito é fundamental para a implantação contínua, pois a implantação segura deve ser uma preocupação fundamental. No passado, a funcionalidade Mover para produção de um clique da Kinsta enviava todo o seu site de volta para o servidor ativo, independentemente das alterações que você fizesse. No entanto, agora você também tem a opção de Enviar Seletivamente: Enviar seus arquivos, banco de dados ou ambos de volta para o servidor ativo:

Escolhendo quais elementos de um site de teste você deseja enviar para o servidor ativo no painel MyKinsta.
Escolhendo quais elementos de um site de teste você deseja enviar para o servidor ativo no painel MyKinsta.

Mesmo assim, isso inclui as configurações do ambiente, como Nginx, PHP e configurações de redirecionamento. Isso ainda pode ser um exagero, especialmente quando você faz apenas pequenas alterações em uma parte específica do seu site.

Naturalmente, você também tem a opção de renunciar às opções Mover para produção da Kinsta e realizar o trabalho por conta própria. A maneira mais segura de proceder é replicar manualmente suas alterações no site de produção, em vez de automatizá-las. Embora isso possa tornar o processo de implantação mais demorado, você terá a vantagem de poder monitorar cada alteração conforme ela é feita.

No entanto, não importa qual abordagem você escolha para a implantação contínua, seus backups serão essenciais. Na Kinsta, realizamos backups diários de todos os sites em sua conta. Isso engloba tanto os backups automáticos gerados pelo sistema quanto os backups manuais que você realiza.

Além disso, cada backup é uma imagem completa de um ambiente específico. Isso significa que você pode restaurar para uma configuração de trabalho conhecida em minutos, caso precise corrigir um site com problemas.

Resumo

Os ambientes de teste da Kinsta podem ajudar você a criar, testar e implantar seu site na produção, independentemente de quantas fases você executa ou da natureza de cada etapa do seu fluxo de trabalho. Eles são flexíveis, pois você pode usar o ambiente de teste gratuito padrão em todos os sites que executar com a Kinsta.

No entanto, com um ambiente de teste premium, você pode configurar várias instâncias, executar recursos que correspondem ao seu site de produção e muito mais. Os ambientes de teste da Kinsta também são excelentes quando usados junto com nossa hospedagem de aplicativos. De qualquer forma, você pode levar seu site do ambiente local para o ao vivo e desfrutar do acesso a todas as ferramentas típicas da Kinsta diretamente do painel MyKinsta.

Você tem alguma dúvida sobre como usar os ambientes de teste da Kinsta junto com suas técnicas regulares de DevOps? Compartilhe suas ideias na seção de comentários abaixo!

Jeremy Holcombe Kinsta

Editor de Conteúdo & Marketing na Kinsta, Desenvolvedor Web WordPress e Escritor de Conteúdo. Fora do universo WordPress, eu curto praia, golfe e filmes. Também enfrento problemas de gente alta ;).