Jenkins X - AWS Orientação prescritiva

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Jenkins X

O Jenkins X é uma CI/CD plataforma de código aberto nativa da nuvem que implementa GitOps princípios para ambientes Kubernetes. Embora o Jenkins X não seja exclusivamente uma GitOps ferramenta como o Argo CD ou o Flux, ele incorpora GitOps práticas em seus fluxos de trabalho.

GitOps apoio

Área Capacidades da ferramenta

Fluxo de trabalho centrado no Git

O Jenkins X usa repositórios Git como a principal fonte confiável tanto para o código quanto para a configuração do aplicativo. Todas as alterações nos aplicativos e na infraestrutura são feitas por meio do Git.

Ambiente como código (EaC)

Ambientes (como preparação e produção) são definidos como código nos repositórios Git. Isso permite o controle de versão e a revisão das configurações do ambiente.

CI/CD Pipelines automatizados

O Jenkins X configura automaticamente CI/CD pipelines para projetos. Esses pipelines são definidos como código (pipeline como código) e armazenados no Git.

Nativo do Kubernetes

O Jenkins X foi criado especificamente para ambientes Kubernetes. Ele usa recursos do Kubernetes e definições de recursos personalizadas (). CRDs

Ambientes de pré-visualização

O Jenkins X cria automaticamente ambientes temporários para pull requests. Ele permite a fácil revisão e o teste das alterações antes das mesclagens.

Promoção entre ambientes

O Jenkins X usa uma GitOps abordagem para promover aplicativos entre ambientes (por exemplo, da preparação à produção). As promoções são gerenciadas usando pull requests para garantir processos adequados de revisão e aprovação.

Gerenciamento de gráficos do Helm

O Jenkins X usa gráficos do Helm para empacotar e implantar aplicativos. Os gráficos são controlados por versão nos repositórios Git.

Controle de versão automatizado

O Jenkins X gerencia automaticamente o controle de versões de aplicativos e versões. Ele usa versionamento semântico e gera notas de lançamento.

ChatOps integração

O Jenkins X oferece suporte ChatOps para operações comuns. Isso se alinha aos GitOps princípios de automação e colaboração.

Extensibilidade

Essa ferramenta fornece um sistema de plug-ins para estender a funcionalidade. Ele permite a integração com várias ferramentas nativas da nuvem.

Infraestrutura como código (IaC)

O Jenkins X é compatível com Terraform, CloudFormation, AWS Cloud Development Kit (AWS CDK), e outras ferramentas de IaC para definir e gerenciar a infraestrutura. As definições de infraestrutura são controladas por versão junto com o código do aplicativo.

Reversões automatizadas

O Jenkins X oferece suporte a reversões automatizadas se problemas forem detectados após a implantação.

Gerenciamento de segredos

A ferramenta se integra a soluções externas de gerenciamento de segredos para lidar com informações confidenciais com segurança.

Observabilidade

O Jenkins X fornece integração com ferramentas de monitoramento e registro para observabilidade.

Suporte multinuvem

O Jenkins X foi projetado para funcionar em diferentes provedores de nuvem e ambientes locais.

Colaboração em equipe

Essa ferramenta incentiva a colaboração por meio de fluxos de trabalho e pull requests baseados em Git.

Feedback contínuo

A ferramenta fornece feedback rápido sobre as mudanças por meio de ambientes automatizados de teste e pré-visualização.

DevOps melhores práticas

O Jenkins X implementa as DevOps melhores práticas por padrão, incluindo GitOps princípios.

Configuração declarativa

A ferramenta usa configurações declarativas para definir aplicativos e ambientes.

Atualizações automatizadas

O Jenkins X fornece ferramentas para automatizar as atualizações da própria plataforma Jenkins X.

O Jenkins X implementa esses GitOps princípios para criar uma solução abrangente de CI/CD para Kubernetes. O objetivo é automatizar e agilizar todo o processo de entrega de software, desde a confirmação do código até a implantação da produção, ao mesmo tempo em que segue as práticas. GitOps Ao fazer isso, ajuda as equipes a obter implantações mais rápidas, confiáveis e consistentes em ambientes nativos da nuvem.

A principal diferença entre o Jenkins X e ferramentas como o Argo CD ou o Flux é que o Jenkins X fornece uma CI/CD solução mais abrangente, incluindo automação de construção e gerenciamento de pipeline, ao mesmo tempo em que incorpora GitOps princípios para implantação e gerenciamento do ambiente. Isso o torna particularmente adequado para equipes que precisam de uma all-in-one solução que abranja os aspectos de CI e CD em uma única GitOps estrutura.

Para obter mais informações, consulte a documentação do Jenkins X.

Arquitetura

O diagrama a seguir ilustra um fluxo de trabalho GitOps controlado por CD que usa o Jenkins X. Para obter informações detalhadas, consulte a documentação do Jenkins X.

Arquitetura e fluxo de trabalho do Jenkins X ativados. AWS

em que:

  • Etapa 1: mesclagem do Pull Request (PR). Um desenvolvedor cria uma pull request que inclui alterações nos manifestos do Kubernetes, nos gráficos do Helm ou no código do aplicativo armazenado em um repositório Git. Após análise e aprovação, o PR é incorporado à filial principal e atualiza o estado desejado no controle de origem.

  • Etapa 2: Sincronização do repositório. O Jenkins X aciona automaticamente um CI/CD pipeline quando detecta a alteração. O pipeline cria, testa e promove o aplicativo em diferentes ambientes (por exemplo, preparação e produção) usando GitOps princípios.

  • Etapa 3: Implantação nos namespaces de destino. O Jenkins X atualiza os repositórios do ambiente (preparação e produção) com as novas versões do aplicativo. O cluster reconcilia automaticamente as alterações retirando os manifestos mais recentes do Git e implantando o aplicativo nos namespaces apropriados.