Crie um Pipeline de CI/CD Usando o Oracle Cloud Infrastructure DevOps e Instâncias do OCI
Arquitetura
Essa arquitetura de referência mostra como criar um aplicativo moderno e depois implantá-lo em instâncias de computação do OCI. Esta demonstração usa um aplicativo baseado em um aplicativo Java ativado para o Graal Enterprise/Micronaut. O aplicativo é exposto por meio de um balanceador de carga OCI, garantindo uma mudança suave do tráfego durante uma implantação ativa.
O diagrama a seguir ilustra essa arquitetura.
Descrição da ilustração instance-group-deploy-arch.png
- Região
Uma região OCI é uma área geográfica localizada que contém um ou mais data centers, chamados domínios de disponibilidade. As regiões são independentes de outras regiões, e grandes distâncias podem separá-las (entre países ou até mesmo continentes). A arquitetura usa uma única região.
- Projeto do DevOps
Um agrupamento lógico de recursos do DevOps necessários para implementar um workflow CI/CD. Os recursos do DevOps podem ser artefatos, pipelines de build, pipelines de implantação, conexões externas, triggers e ambientes. Os projetos DevOps facilitam a ativação de registro em log, monitoramento e notificações para todos os seus recursos DevOps.
- Pipeline de build
Um pipeline de build obtém um ID de commit dos seus repositórios de código-fonte e usa esse código-fonte para executar suas instruções de build. Os pipelines de build definem um conjunto de estágios para o processo de build: criar, testar e compilar artefatos de software, fornecendo artefatos aos repositórios do OCI e opcionalmente acionando uma implantação. Você define o fluxo e as instruções de sua execução de build no arquivo de especificação de build.
- Criar estágios
Estágios são ações individuais que ocorrem durante uma execução de um pipeline. Vários estágios de criação mencionados aqui são:
- Estágios de Build Gerenciados - Um estágio de build gerenciado para criar e testar o código de origem.
- Entregar Estágio de Artefatos - Um estágio para enviar as saídas do estágio de build para vários repositórios. Como imagens de contêiner para repositório de contêiner e manifesto de implantação para registro de artefato.
- Chamar Implantação - Um estágio para chamar um pipeline de implantação depois que os estágios de build forem concluídos, juntamente com o parsing das variáveis exportadas do estágio de build gerenciado para os estágios do pipeline de implantação.
- Repositório de código
Repositórios Git privados hospedados pelo serviço do DevOps. Você pode armazenar, gerenciar, desenvolver código de origem com nossos Repositórios de Código DevOps.
- Pipeline de implantação
Uma sequência de etapas para entregar e implantar um conjunto de artefatos em um ambiente de destino. O fluxo e a lógica da versão do software podem ser controlados pela definição de estágios que podem ser executados em série ou em paralelo.
- Estágios de implantação
Estágios são ações individuais que ocorrem durante uma execução de um pipeline. Nesse caso, estamos usando o estágio incremental Grupo de Instâncias do serviço Compute no pipeline de implantação, que instalará o aplicativo de acordo com as instâncias do OCI Compute.
- Artefato DevOps
Um artefato DevOps é uma referência ou ponteiro para qualquer arquivo, binário, pacote, manifesto ou imagem que compõe seu aplicativo. Ao criar um artefato, informe à Oracle DevOps o local de origem do artefato real. O DevOps suporta os repositórios do OCI Container Image Registry e OCI Artifact Registry.
- Repositório de artefatos
O Repositório de Artefatos cria repositórios para agrupar artefatos semelhantes. Quando o repositório for criado, você poderá fazer upload de artefatos para ele. Esses artefatos são um conjunto de arquivos de texto, arquivos binários e manifestos de implantação entregues ao ambiente de implantação de destino. Cada artefato tem um nome, que é feito de seu caminho: versão. O caminho é uma string para organizar os artefatos.
- Serviços de Registro em Log e Notificação do OCI
O serviço OCI Logging armazena logs relacionados à implantação. A saída do runtime de implantação e os resultados finais da implantação são mostrados como entradas de log. O serviço OCI Notifications oferece visibilidade do estado mais recente do projeto de implantação e de seus recursos, além de tomar as medidas necessárias. Por exemplo, você é notificado quando um evento importante, como um estágio em um pipeline de implantação aguardando aprovação. Quando você receber a mensagem de notificação, poderá ir para os pipelines de implantação DevOps e aprovar o estágio.
- Ambientes de implantação
Um ambiente é uma coleção de recursos de computação do cliente em que os artefatos são implantados. Os ambientes podem ser uma instância de função, de máquina virtual (VM) de computação ou bare metal ou um cluster do OKE. A implantação Azul/Verde só está disponível com máquinas virtuais de cluster e computação do OKE.
- Instâncias do OCI Compute
O Oracle Cloud Infrastructure oferece capacidade computacional rápida, flexível e acessível para atender a qualquer necessidade de carga de trabalho de servidores bare metal e VMs de alto desempenho para contêineres leves. O OCI Compute fornece instâncias de VM e bare metal exclusivamente flexíveis para obter um preço-desempenho ideal. Essa arquitetura usa o OCI Compute com o Oracle Linux como imagem do sistema operacional.
- Balanceador de Carga do OCI
O serviço Oracle Cloud Infrastructure Load Balancing fornece distribuição automatizada de tráfego de um ponto de entrada para vários servidores acessíveis na sua VCN (rede virtual na nuvem). O serviço oferece um balanceador de carga com a sua escolha de endereço IP público ou privado e largura de banda provisionada.
Recomendações
- formas de computação
Essa arquitetura usa uma imagem do SO Oracle Linux com a forma flexível E3 ou E4 com recursos mínimos para hospedar hosts de computação nos nós de cluster do OKE. Se seu aplicativo precisar de mais memória ou núcleos, você poderá escolher outra forma.
- VCN
Quando você cria uma VCN, determine o número de blocos CIDR necessários e o tamanho de cada bloco com base no número de recursos que você planeja anexar a sub-redes na VCN. Use blocos CIDR que estejam dentro do espaço de endereço IP privado padrão.
Depois de criar uma VCN, você poderá alterar, adicionar e remover seus blocos CIDR.
Essa arquitetura usa uma VCN pública para hospedar o Oracle Container Engine for Kubernetes. Você também pode usar uma VCN privada. Nesse caso, use um gateway NAT para conceder ao cluster acesso pela internet pública.
- Grupo de instâncias
Se você escolher a arquitetura a ser implantada em um grupo de instâncias, terá novas instâncias do serviço Compute da sua escolha de forma criadas na sua tenancy.
- Registro de artefato
Essa arquitetura cria um artefato para o software e a configuração usados por um grupo de instâncias, pelo OKE e pela implantação do Functions. A arquitetura cria um repositório de registro de artefato para uso interno. Os binários de software, o texto e as configurações de implantação são submetidos a upload e download no repositório de registro de artefato.
Considerações
Considere os pontos a seguir ao implantar essa arquitetura de referência.
- Implantações suportadas por DevOps
DevOps suporta implantações em hosts OKE, Compute e Functions. Esta arquitetura é implantada em um cluster do OKE. Considere a implantação em outros pontos finais com base nos requisitos.
- Suporte Linux
Somente hosts Linux são suportados para implantações de grupo de instâncias em instâncias do serviço Compute.
- Artefatos implantados
Os artefatos a serem implantados com DevOps precisam estar em um repositório de registro de artefato ou de registro de imagem de contêiner do OCI.
- Agrupando aplicativos
Como prática recomendada, agrupe cada aplicativo e todos os seus microsserviços em um único projeto.
Implantação
O código do Terraform para essa arquitetura de referência está disponível como uma pilha de amostra no Oracle Cloud Infrastructure Resource Manager. Você também pode fazer download do código em GitHub e personalizá-lo para atender aos seus requisitos específicos.
- Implante usando a pilha de amostra no Oracle Cloud Infrastructure Resource Manager:
- Clique em
Se você ainda não estiver conectado, informe as credenciais da tenancy e do usuário.
- Selecione a região na qual você deseja implantar a pilha.
- Siga os prompts na tela e as instruções para criar a pilha.
- Após criar a pilha, clique em Ações do Terraform e selecione Planejar.
- Aguarde a conclusão do job e revise o plano.
Para fazer qualquer alteração, retorne à página Detalhes da Pilha, clique em Editar Pilha e faça as alterações necessárias. Em seguida, execute a ação Planejar novamente.
- Se nenhuma outra alteração for necessária, retorne à página Detalhes da Pilha, clique em Ações do Terraform e selecione Aplicar.
- Clique em
- Implante usando o código do Terraform em GitHub:
- Vá para GitHub.
- Clone ou faça download do repositório para seu computador local.
- Siga as instruções no documento
README
.