Aviso
Garden 0.12.x EOL: Garden Acorn ( 0.12.x
) receberá atualizações de segurança até 30 de junho de 2024. Depois disso, ele será descontinuado e interromperemos o suporte. Veja anúncio.
Se você adora Garden, marque este repositório com uma estrela para mostrar seu apoio. Procurando suporte? Junte-se ao nosso Discord.
Guia de início rápido • Site • Documentos • Exemplos • Blog • Discord
Garden é uma ferramenta de automação DevOps para desenvolver e testar aplicativos Kubernetes com mais rapidez.
Ative ambientes semelhantes aos de produção para desenvolvimento, testes e CI sob demanda
Use a mesma configuração e fluxos de trabalho para todas as etapas da entrega de software
Acelere compilações e execuções de testes por meio de cache inteligente.
A maneira mais rápida de começar a usar o Garden é seguindo nosso guia de início rápido.
Para uma introdução completa ao Garden e documentação abrangente, visite nossos documentos.
O Garden é configurado por meio de arquivos garden.yml
. Para projetos grandes, você pode dividir os arquivos e colocá-los nas partes relevantes da sua pilha, mesmo em vários repositórios.
Uma configuração (simplificada) do Garden para um aplicativo da web é semelhante a esta:
tipo: Nome da implantação: tipo de banco de dados: helmspec: gráfico: nome: postgresrepo: https://charts.bitnami.com/bitnami---kind: Nome da construção: apitype: containersource: caminho: ./api---kind: Nome da implantação: apitype: kubernetesdependencies: [build.api, deploy.postgres]spec: arquivos: [./manifests/api/**/*]---kind: Testname: integtype: containerdependencies: [deploy.api]spec: args: [npm, run, test:integ]
Você pode construir e implantar este projeto com:
implantação de jardim
...e teste com:
teste de jardim
Para criar um ambiente de visualização em cada solicitação pull, você adicionaria o seguinte ao seu pipeline de CI:
implantação de jardim --env visualização
O Garden também possui um modo especial chamado "modo de sincronização", que recarrega ao vivo as alterações nos serviços em execução, garantindo um feedback extremamente rápido durante o desenvolvimento . Para habilitá-lo, execute:
implantação de jardim --sync
Você também pode iniciar um console de desenvolvimento interativo (veja a captura de tela acima) a partir do qual você pode construir, implantar e testar seu projeto com:
desenvolvedor de jardim
O Stack Graph é um recurso importante do Garden que permite desenvolvimento, testes e automação eficientes de DevOps. O Stack Graph permite que você declare a estrutura de dependência do seu projeto e rastreie alterações para evitar compilações, implantações e execuções de testes desnecessárias. É como uma configuração de CI/CD que você também pode usar para desenvolvimento. Sem o Stack Graph, muitas destas funcionalidades que distinguem o Garden dos seus concorrentes não seriam possíveis ou seriam muito menos eficientes.
Construções e implantações eficientes: O Stack Graph permite que o Garden determine quais partes do seu projeto foram alteradas e precisam ser reconstruídas ou reimplantadas, evitando trabalho desnecessário e acelerando o processo de desenvolvimento.
Testes automatizados: o Garden pode executar testes automaticamente para as partes do seu projeto que foram alteradas, graças ao Stack Graph. Isso economiza tempo porque todas as partes do seu gráfico de dependência são conhecidas e armazenadas em cache.
Automação DevOps: O Stack Graph permite que Garden automatize muitos aspectos do processo DevOps, incluindo construção, teste e implantação de seu projeto.
Para obter mais informações sobre o Stack Graph e como o Garden funciona, consulte:
Como funciona o jardim
Um tour em vídeo do Stack Graph e um guia para começar
Garden é conectável : como as ações são executadas depende dos plugins usados. Nosso plugin Kubernetes é atualmente o mais popular, seguido por nossos plugins Terraform e Pulumi. Para uma introdução mais completa ao Garden e seus plug-ins, visite nossos documentos:
Plug-in Kubernetes
Plug-in Terraform
Plug-in Pulumi
Junte-se à nossa comunidade Discord para fazer perguntas, dar feedback ou apenas dizer oi?
Jardim aceita contribuições! Consulte nosso guia de contribuição para obter mais informações.
Garden é licenciado de acordo com a Mozilla Public License 2.0 (MPL-2.0).