Desenvolver e implementar um app usando Code Engine
DevOps Insights chegará ao fim de sua vida útil e será descontinuado em 31 de agosto de 2026. O serviço Continuous Delivery será descontinuado nas seguintes regiões em 12 de fevereiro de 2027: au-syd, ca-tor, us-east. O Code Risk Analyzer também será descontinuado em todas as regiões nessa data. Se uma região não apresentar uso ativo desses recursos, os recursos nessa região poderão ser descontinuados mais cedo e deixar de aceitar novas instâncias. Saiba mais
Neste tutorial, você aprenderá a criar uma cadeia de ferramentas aberta usando o IBM Cloud® Continuous Delivery e implementar seu app no Code Engine. Você também aprenderá como as cadeias de ferramentas são implementadas no serviço Continuous Delivery e como desenvolver e implementar um aplicativo da web simples (app) usando as cadeias de ferramentas.
O IBM Cloud® Code Engine é uma plataforma totalmente gerenciada, serverless, que executa suas cargas de trabalho conteinerizadas, incluindo apps da web, microsserviços, funções orientadas a eventos ou tarefas em lote. O Code Engine até constrói imagens de container para você por meio de seu código-fonte. Como essas cargas de trabalho são todas hospedadas dentro da mesma infraestrutura do Kubernetes, todas elas podem trabalhar perfeitamente juntas. A experiência do Code Engine foi projetada para que seja possível se concentrar na composição do código e não na infraestrutura necessária para hospedá-lo.
A cadeia de ferramentas utilizada neste tutorial implementa práticas padrão do DevOps, como varredura de código, testes de aceitação, repositórios Git, além de recursos de integração contínua e entrega contínua. Depois de criar clusters e associá-los a um grupo de clusters do Continuous Delivery, crie uma cadeia de ferramentas para mudar o código do seu app e enviar por push a mudança para o repositório Git Repos and Issue Tracking. Ao enviar mudanças por push para o repositório, o pipeline de entrega baseado em Tekton automaticamente constrói e implementa o código.
O Tekton é uma estrutura de código aberto, independente de fornecedor e nativa do Kubernetes, que você pode usar para criar, testar e implantar aplicativos. O Tekton oferece um conjunto de componentes compartilhados para a criação de sistemas de integração contínua e entrega contínua. Por ser um projeto de código aberto, o Tekton é gerenciado pela Fundação Continuous Delivery. O objetivo é modernizar a entrega contínua, fornecendo especificações do setor para pipelines, fluxos de trabalho e outros blocos de construção. O Tekton permite a construção, o teste e a implementação em vários provedores de nuvem ou sistemas não locais, removendo os detalhes de implementação subjacentes. Os pipelines do Tekton são construídos no Continuous Delivery
Antes de Iniciar
Antes de iniciar este tutorial, certifique-se de que os recursos a seguir estejam disponíveis:
-
Um IBM Cloud conta. Dependendo de seu tipo de conta da IBM Cloud, o acesso a determinados recursos pode ser limitado. Dependendo dos limites do plano da conta, é possível que alguns recursos exigidos por determinadas estratégias de implementação não estejam disponíveis. Para obter mais informações sobre as contas do IBM Cloud, consulte “Como configurar sua conta do IBM Cloud ” e “Como fazer o upgrade da sua conta ”.
-
Um projeto Code Engine e uma chave de API. Para criar esses recursos, é possível utilizar a IU ou a CLI. Para obter mais informações sobre os projetos Code Engine, consulte Projetos Code Engine.
-
Uma instância do serviço Continuous Delivery.
-
Opcional. Segredos que são armazenados em uma área segura de gerenciamento de segredos e gerenciados centralmente a partir de um único local. Para obter mais informações sobre a escolha entre as várias ofertas de gerenciamento de segredos e proteção de dados, consulte Gerenciando segredos do IBM Cloud. Se você ainda não tem uma instância do provedor de área segura de gerenciamento de segredos de sua escolha, crie uma.
-
Opcional. Um namespace, criado utilizando a linha de comandos de registro do contêiner. Para criar um namespace, digite o comando a seguir a partir da linha de comandos:
ibmcloud cr namespace-add <my namespace>Como alternativa, é possível criar um namespace na página Container Registry. Para obter mais informações sobre a criação de um namespace neste local, consulte o serviço IBM Cloud Container Registry.
Criar a cadeia de ferramentas
Nesta etapa, você criará uma cadeia de ferramentas Desenvolver um app Code Engine. O projeto de destino Code Engine é definido durante a configuração da cadeia de ferramentas usando a sua chave de API do IBM Cloud e seu nome de projeto Code Engine. Essas opções podem ser alteradas posteriormente, atualizando a configuração do Delivery Pipeline. Qualquer código mesclado na ramificação do repositório Git de destino será automaticamente construído, validado e implementado no projeto Code Engine.
Para criar uma cadeia de ferramentas Desenvolver um app Code Engine, clique
Como alternativa, no IBM Cloud console, clique no ícone de menu > Automação da plataforma > Cadeias de ferramentas. Na página Cadeias de ferramentas,
clique em Criar uma cadeia de ferramentas. Na página “Criar uma cadeia de ferramentas ”, clique em “Desenvolver um aplicativo do Code Engine ”.
Configure o nome e a região da cadeia de ferramentas
-
Na tela de boas vindas, revise as informações padrão para as configurações da cadeia de ferramentas. O nome da cadeia de ferramentas as identifica em IBM Cloud. Certifique-se de que o nome da cadeia de ferramentas seja exclusivo dentro de suas cadeias de ferramentas para a mesma região e grupo de recursos no IBM Cloud.
A região da cadeia de ferramentas pode ser diferente da região de cluster e registro.
Code Engine nome e região da cadeia de ferramentas da aplicação segura -
Clique em Iniciar.
Configurar o repositório de código-fonte do aplicativo
-
Na etapa Aplicativo, por padrão, são exibidas as opções recomendadas para o repositório de código-fonte do aplicativo. Para visualizar todas as opções disponíveis para a integração do Git subjacente, clique em Opções avançadas. Por padrão, a cadeia de ferramentas usa a mostra padrão, que clona o aplicativo de amostra como um repositório Git Repos and Issue Tracking hospedado pela IBM
Code Engine repositório de aplicativos seguro É possível alterar o nome do repositório do aplicativo. A região do repositório permanece a mesma da cadeia de ferramentas.
-
Opcional. O modelo de cadeia de ferramentas fornece um app Sample Hello World Application. Caso queira vincular um repositório de Aplicativos existente à cadeia de ferramentas, selecione Trazer um aplicativo próprio e especifique a URL do repositório. A cadeia de ferramentas suporta a vinculação apenas a repositórios Git Repos and Issue Tracking existentes.
-
Clique em Continuar.
Por padrão, o modelo do repositório de aplicativo é clonado para a organização de Git Repos and Issue Tracking. Para alterar a organização, ative as Opções avançadas e especifique o proprietário do repositório.
Armazenamento seguro de segredos
Várias ferramentas contidas nessa cadeia de ferramentas requerem segredos, como uma chave de API do IBM Cloud. Você deve armazenar com segurança todos os segredos em uma área segura e fazer referência a eles de acordo com as exigências da cadeia de ferramentas.
-
Com o IBM Cloud, é possível escolher entre várias ofertas de gerenciamento de segredos e de proteção de dados, que ajudam a proteger seus dados sensíveis, centralizando o segredo. Na etapa Segredos, é possível especificar quais integrações de áreas seguras de segredos devem ser incluídas ou removidas da cadeia de ferramentas. Para obter mais informações sobre a inclusão e remoção de integrações de área segura, incluindo pré-requisitos e sobre o uso de dicas, consulte Gerenciando segredos do IBM Cloud.
Ao usar as sugestões de um modelo, a cadeia de ferramentas é preenchida automaticamente com segredos pré-configurados; não é necessário selecionar manualmente os segredos das integrações de áreas seguras conectadas à cadeia de ferramentas.
Este tutorial usa o IBM Secrets Manager como área segura de segredos.
Code Engine aplicativo opções de segredos seguros do aplicativo O IBM Secrets Manager armazena e aplica com segurança os segredos, como chaves de API , assinaturas de imagens ou credenciais HashiCorp que fazem parte da cadeia de ferramentas.
Secrets Manager
Code Engine opções -
Clique em Continuar.
Para obter mais informações sobre como gerenciar seus segredos em IBM Key Protect ou HashiCorp,, consulte Segredos.
Configurar o destino de implementação
Configure o projeto de destino Code Engine para o qual implementar o app. Após o app passar nas fases de construção, teste e varredura, o pipeline implementa a imagem do app construído para o projeto Code Engine de destino. Agora, a implementação está pronta para o teste de aceitação ou de integração.
-
Caso a chave de API tenha o acesso necessário, os campos a seguir serão carregados automaticamente, utilizando a chave de API que foi criada, recuperada a partir de uma área segura ou especificada manualmente. Se a chave de API for válida, os valores da região de registro do Contêiner e da região de Cluster do namespace, o nome, o namespace e o grupo de recursos serão preenchidos automaticamente. Todos um desses campos podem ser atualizados para que correspondam à configuração.
-
Nome do aplicativo: o nome do aplicativo. O nome padrão do app é o mesmo do seu nome de cadeia de ferramentas.
-
Chave de API do IBM Cloud: a chave de API utilizada para interação com a ferramenta da CLI do
ibmcloudem várias tarefas. Use um dos métodos a seguir para especificar a chave API que deseja utilizar:- Clique no ícone de chave para importar uma chave de API existente por meio de uma área segura de segredos de sua escolha.
- Copie e cole uma chave de API existente.
- Clique em Novo para criar uma chave de API.
- Gere um novo
api-key, caso não haja uma chave de API existente.
É possível salvar imediatamente a chave de API gerada em uma área segura de segredos existente de sua escolha.
-
Região do registro de contêiner: a região do registro de contêiner na qual seu namespace de contêiner está localizado.
-
Namespace de registro de contêiner: selecione na lista de namespaces de contêiner na região do registro de contêiner associado.
-
Região do Code Engine: a região na qual o seu projeto Code Engine está localizado.
-
Grupo de recursos do Code Engine: o grupo de recursos em que seu projeto Code Engine foi criado.
-
Projeto Code Engine: o nome do projeto que foi criado em Code Engine. Seu app está implementado para este projeto.
Code Engine implantação contínua segura do aplicativo -
-
Clique em Continuar.
Incluir integrações de ferramentas opcionais
Você pode adicionar a integração da ferramenta IBM Cloud® DevOps Insights à sua cadeia de ferramentas sem nenhuma configuração adicional.
DevOps Insights é incluído na cadeia de ferramentas criada. Não é necessário fornecer nenhuma etapa de configuração para o DevOps Insights. O pipeline de integração contínua usa automaticamente a instância do DevOps Insights que está incluída na cadeia de ferramentas.O DevOps Insights agrega os dados de código, teste, construção e implementação, oferecendo visibilidade quanto à velocidade e qualidade de todas as equipes e liberações.
Clique em Continuar.
Concluir a configuração da cadeia de ferramentas
Na página de resumo, clique em Criar cadeia de ferramentas. Várias etapas são executadas automaticamente para configurar sua cadeia de ferramentas.
É possível configurar as integrações individuais da cadeia de ferramentas após a criação do pipeline.
Explorar sua nova cadeia de ferramentas
Depois de criar sua cadeia de ferramentas, todas as integrações de ferramentas que fazem parte dela são exibidas em um diagrama.
Explorar os pipelines
É possível explorar os pipelines para entender o fluxo da cadeia de ferramentas e as diferentes operações que são executadas em cada um deles. A cadeia de ferramentas que você criou contém os pipelines a seguir:
- Pipeline de solicitação pull: executado quando um desenvolvedor mescla as mudanças de sua ramificação de desenvolvimento à ramificação principal ou a qualquer outra ramificação no repositório. O pipeline de solicitação pull executa o Teste de unidade e as Varreduras estáticas no código-fonte do aplicativo.
- Pipeline de integração contínua: executado ao mesclar uma mudança na ramificação principal do repositório de Código-fonte do aplicativo. O pipeline de integração contínua executa o Teste de unidade, a Cobertura de código e Varreduras estáticas no Código-fonte do aplicativo, a verificação do CIS e a verificação da Lista de materiais (BOM). O pipeline de entrega contínua também gera os artefatos de construção binários e os transfere por upload para o IBM Cloud® Kubernetes Service, conforme configurado na cadeia de ferramentas. Além disso, o pipeline de integração contínua gera os metadados dos artefatos de construção, armazenando-os no repositório de Inventário.
- Pipeline de implementação contínua: Implementa uma imagem do componente Code Engine (que o pipeline de integração contínua constrói e implementa) em um componente Code Engine diferente para ser hospedado em um projeto diferente.
Executar a solicitação pull e os pipelines de integração contínua.
Para iniciar o pipeline de solicitação pull, crie uma solicitação de mesclagem no repositório do aplicativo:
- Na página de visão geral da cadeia de ferramentas, na placa Repositórios, clique no repositório do apps
secure-app-toolchain-code-engine-demo. - No repositório principal, crie uma ramificação.
- Atualize parte do código no aplicativo de nó de amostra ou no arquivo leia-me e salve essas mudanças.
- Envie a solicitação de mesclagem.
- Na página de visão geral da cadeia de ferramentas, na placa Pipelines de entrega, clique no pipeline
pr-pipelinepara abrir o painel de pipeline de solicitação pull. A solicitação de mesclagem correspondente em seu repositório de aplicativo permanecerá no estado pendente até que o pipeline de solicitação pull seja concluído com êxito. - Após a conclusão bem-sucedida, é possível selecionar o pipeline de solicitação pull para explorar as etapas concluídas.
Para iniciar o pipeline de integração contínua, mescle a solicitação de mesclagem de integração contínua no repositório de aplicativos:
-
Acesse a solicitação de mesclagem.
-
Faça a mesclagem da solicitação para que as mudanças sejam copiadas para a ramificação principal do repositório de aplicativos. O pipeline de integração contínua é acionado automaticamente.
-
Na página de visão geral da cadeia de ferramentas de integração contínua, na placa Pipelines de entrega, clique no pipeline
ci-pipelinepara abrir o painel de pipeline de integração contínua. -
Após a execução bem-sucedida do pipeline de integração contínua, é possível clicar na execução de pipeline para explorar as etapas concluídas.
do pipeline de integração -
Expanda a tarefa
deploy-componente clique na etapaexecute. Selecione a guiaLogse role até o final do log. Clique no link para o seu app Code Engine implementado para visualizar o app em execução.
Próximas etapas
Se desejar implementar o componente Code Engine (que o pipeline de integração contínua constrói e implementa) como outro componente, para ser hospedado em outro projeto do Code Engine, siga estas etapas:
-
Na página “Visão geral da cadeia de ferramentas de integração contínua”, no cartão “Pipelines de entrega ”, clique no pipeline “cd-pipeline” para abrir o painel do pipeline de implantação contínua.
-
Clique em executar pipeline para iniciar o acionador
cd-manual-run. -
Após a execução bem-sucedida do pipeline de implantação contínua, você pode clicar na execução do pipeline para explorar as etapas concluídas.
do pipeline de implantação -
Expanda a tarefa “deploy-component ” e clique na etapa “executar ”. Clique na guia “Logs ” e role até o final do log. Clique no link para o seu app Code Engine implementado para visualizar o app em execução.
Se você quiser remover o app de amostra que está executando no Code Engine, siga estas etapas:
-
Vá para a página Code Engine Projetos.
-
Clique no projeto em que seu app de amostra está em execução.
-
Selecione Aplicativos e, em seguida, selecione a caixa de seleção para o seu app de amostra.
-
Clique em Excluir.
Procurando ajuda?
IBM Cloud o assistente de IA da IBM, que é alimentado pela watsonx, foi projetado para ajudá-lo a aprender sobre como trabalhar na IBM Cloud e criar soluções com o catálogo de produtos e serviços disponíveis. Consulte Obter ajuda do assistente de IA.
Para obter mais opções de suporte, consulte Obtendo ajuda e suporte para o Continuous Delivery.
