Atualizando seu app
Um aplicativo contém uma ou mais revisões. Uma revisão representa uma versão imutável das propriedades de configuração do aplicativo. Cada atualização de uma propriedade de configuração do aplicativo cria uma nova revisão de aplicativo.
Ao modificar um aplicativo e implementar o aplicativo com as mudanças ou reimplementar o aplicativo sem mudanças em suas definições de configuração, essas ações implementam uma nova revisão do aplicativo. Ao implementar (ou reimplementar) uma revisão de aplicativo, o Code Engine usa quaisquer definições de configuração mudadas e obtém qualquer imagem de contêiner, segredo ou configmap atualizado que é referenciado pelo aplicativo.
Para obter mais informações sobre como implementar aplicativos, como especificar valid vCPU e combinações de memória, definir comandos e argumentos, variáveis de ambiente, segredos ou configmaps, consulte Opções para implementar um app.
Code Engine tem uma cota para o número de aplicativos e revisões de aplicativo em um projeto. Para obter mais informações sobre limites para projetos, consulte Quotas de projeto. O Code Engine retém apenas a revisão inativa mais recente de seu aplicativo além da sua revisão de app ativa. As revisões mais antigas são excluídas.
É possível atualizar o app implementado e seu código referenciado de qualquer uma das maneiras a seguir, independentemente de como você criou ou atualizou previamente o app.
-
Se você tiver uma imagem de contêiner, de acordo com o padrão Open Container Initiative(OCI), precisará fornecer apenas uma referência à imagem, que aponta para o local do registro do contêiner ao implantar o aplicativo. É possível implementar seu app com uma imagem em um registro público ou registro privado.
Se você criou seu app usando o comando
app createe especificou a opção--build-sourcepara construir a imagem de contêiner a partir da origem local ou do repositório e deseja mudar seu app para apontar para uma imagem de contêiner diferente. Primeiro, deve-se remover a associação da construção de seu app. Por exemplo, executeibmcloud ce application update -n APP_NAME --build-clear.. Depois de remover a associação da construção de seu app, é possível atualizar o app para referenciar uma imagem diferente. -
Se você está começando com código-fonte que reside em um repositório Git, é possível optar por deixar que o Code Engine cuide da construção da imagem por meio de sua origem e implemente o app com uma operação única. Neste cenário, o Code Engine faz upload da sua imagem para o IBM Cloud® Container Registry. Para saber mais, consulte Implementando seu app por meio do código-fonte do repositório. Se você quiser mais controle sobre a construção da sua imagem, poderá optar por construir a imagem com o Code Engine antes de implementar seu app.
-
Se você está começando com código-fonte que reside em uma estação de trabalho local, é possível optar por deixar que o Code Engine cuide da construção da imagem por meio de sua origem e implemente o app com um comando da CLI único. Neste cenário, o Code Engine faz upload da sua imagem para o IBM Cloud® Container Registry. Para saber mais, consulte Implementando seu app por meio do código-fonte local com a CLI. Se você quiser mais controle sobre a construção da sua imagem, poderá optar por construir a imagem com o Code Engine antes de implementar seu app.
Por exemplo, você pode optar por deixar que o Code Engine cuide da construção de sua origem local enquanto você cuida do desenvolvimento de sua origem para o app. Em seguida, após o amadurecimento da imagem, é possível atualizar o app implementado para referenciar a imagem específica que desejar. É possível repetir esse processo conforme necessário.
Ao implementar seu app atualizado, a versão mais recente de sua imagem de contêiner referenciada é transferida por download e implementada, a menos que uma tag seja especificada para a imagem. Se uma tag for especificada para a imagem, a imagem marcada será usada para a implementação.
E se eu desejar reimplementar meu aplicativo sem mudar as configurações?
É possível sempre implementar seu aplicativo com mudanças na configuração mudando um valor de configuração e implementando o aplicativo.
No entanto, talvez você queira reimplementar uma revisão de aplicativo sem alterar as definições da configuração do aplicativo Talvez sua imagem de contêiner referenciada tenha mudado e você deseja que a revisão do aplicativo use a imagem de contêiner atualizada. Ou, talvez você queira que seu aplicativo faça referência a um segredo ou configmap, que contém valores de conteúdo atualizados
Para esses cenários, no console, é possível clicar em Reimplementar na guia Configuração de sua página do aplicativo, sem mudar a configuração do app Com a CLI, use o comando ibmcloud ce app update.
Atualizando seu app por meio do console
Atualize o aplicativo que você criou em Implementando um aplicativo a partir de um registro público a partir do console para incluir uma variável de ambiente.
- Navegue para a página do aplicativo. Uma maneira de navegar para a página do aplicativo é
- Localize a página Code Engine Projetos.
- Clique no nome do seu projeto para abrir a página Overview (Visão geral).
- Clique em Aplicativos para abrir uma lista de seus aplicativos. Clique no nome de seu aplicativo para abrir sua página de aplicativo.
- Na página do aplicativo, é possível visualizar informações sobre as instâncias de execução de seu aplicativo e suas revisões, detalhes de configuração e configurações de terminais do app. Clique no nome da revisão do aplicativo com a qual deseja trabalhar para abrir o resumo da configuração dessa revisão. Ou, é possível clicar na aba Configuração para abrir o resumo de configuração para a revisão mais recente do aplicativo.
- Na guia Configuração, clique na guia Variáveis de ambiente
- Clique em Incluir variável de ambiente. Defina esta variável de ambiente como um valor literal. Insira
TARGETpara o nome eStrangerpara o valor. Clique em Incluir. - Clique em Deploy para salvar as alterações e implementar a revisão do aplicativo.
- Após o status do aplicativo mudar para Pronto, é possível testar a revisão do aplicativo. Clique em Testar aplicativo e, em seguida, clique em Enviar solicitação na área de janela Testar aplicativo.
Para abrir o aplicativo em uma página da web, clique em URL do aplicativo. Para este app,
Hello Strangeré exibido.
Neste exemplo, você atualizou variáveis de ambiente para um app. Também é possível atualizar outras definições de configuração para o seu app, incluindo referência a uma imagem diferente ou compilação de imagem diferente a partir da guia Código. Na guia Recursos e ajuste de escala, é possível atualizar as configurações de memória e ajuste de escala do aplicativo para seu app. A partir da aba Variáveis de ambiente, é possível incluir ou atualizar as variáveis de ambiente para o seu app. Na guia Opções de início da imagem, é possível incluir ou atualizar comando e argumentos para substituir as configurações dentro de sua imagem de contêiner ou trabalhar com análises de atividade e prontidão.
Atualizando seu app para usar terminais apenas de projeto por meio do console
Por padrão, ao implementar um app, o app é implementado de tal forma que pode receber solicitações da Internet pública, de uma rede privada ou de componentes dentro do projeto. Vamos mudar a visibilidade deste app para que ele seja acessado apenas por outros recursos do Code Engine que estão em execução no mesmo ambiente do Code Engine. Use a guia Mapeamentos de domínio para alterar a visibilidade de um aplicativo.
-
Navegue para a página do aplicativo. Uma maneira de navegar para a página do aplicativo é
- Localize a página Code Engine Projetos.
- Clique no nome do seu projeto para abrir a página Overview (Visão geral).
- Clique em Aplicativos para abrir uma lista de seus aplicativos. Clique no nome de seu aplicativo para abrir sua página de aplicativo.
-
Na página do aplicativo, é possível visualizar informações sobre as instâncias de execução de seu aplicativo e suas revisões, detalhes de configuração e configurações de terminais do app. Clique na guia Domain mappings (Mapeamentos de domínio ) para abrir as configurações de visibilidade do endpoint para o aplicativo.
-
Na guia Domain mappings (Mapeamentos de domínio ), observe os URLs disponíveis para seu aplicativo. Quando
Publicé selecionado, é possível visualizar a URL do mapeamento de domínio do sistema público e interno para o aplicativo Quando No external system domain mapping (Nenhum mapeamento de domínio de sistema externo ) é selecionado, esse aplicativo não pode mais ser acessado pela Internet pública e o acesso à rede só é possível a partir de componentes desse projeto.Quando você altera a visibilidade do seu aplicativo, a alteração entra em vigor imediatamente. É importante considerar o impacto da mudança para os seus usuários ativos ou integrações, bem como quaisquer implicações de segurança. É possível mudar a configuração de visibilidade conforme a necessidade.
Atualizando seu app para usar terminais privados do console
Por padrão, ao implementar um app, o app é implementado de tal forma que pode receber solicitações da Internet pública, de uma rede privada ou de componentes dentro do projeto. Vamos mudar a visibilidade deste app de tal forma que ele seja acessado apenas por outros recursos do Code Engine que estão executando no mesmo projeto e por meio da rede privada usando terminais privados virtuais. Use a guia Mapeamentos de domínio para alterar a visibilidade de um aplicativo.
-
Navegue para a página do aplicativo. Uma maneira de navegar para a página do aplicativo é
- Localize a página Code Engine Projetos.
- Clique no nome do seu projeto para abrir a página Overview (Visão geral).
- Clique em Aplicativos para abrir uma lista de seus aplicativos. Clique no nome de seu aplicativo para abrir sua página de aplicativo.
-
Na página do aplicativo, é possível visualizar informações sobre as instâncias de execução de seu aplicativo e suas revisões, detalhes de configuração e configurações de terminais do app. Clique na guia Domain mappings (Mapeamentos de domínio ) para abrir as configurações de visibilidade do endpoint para o aplicativo.
-
Na guia Domain mappings (Mapeamentos de domínio ), observe os URLs disponíveis para seu aplicativo. Quando
Privateé selecionado, este aplicativo não é mais acessível por meio da Internet pública e o acesso à rede só é possível por meio de componentes dentro deste projeto (local do cluster) e da rede privada.Clique em Privado para mudar a visibilidade do terminal do app. As URLs disponíveis para sua definição de terminal são exibidas para as URLs privadas e somente de projeto.
-
Para acessar o seu app de forma segura usando um VPE (terminal privado virtual), siga as instruções para Usando seu VPE para acessar um app para configurar o VPE para acessar seu app.
Se você configurar o seu aplicativo para visibility = private, então você só poderá testar seu aplicativo por meio do terminal privado virtual de dentro de sua Virtual Private Cloud (VPC).
Ao mudar a visibilidade do seu app, a mudança é efetivada imediatamente. É importante considerar o impacto da mudança para os seus usuários ativos ou integrações, bem como quaisquer implicações de segurança. É possível mudar a configuração de visibilidade conforme a necessidade.
Atualizando seu app com a CLI
Para atualizar o seu app com a CLI, use o comando app update. Esse comando requer o nome do app que você deseja atualizar e também permite outros argumentos opcionais. Para obter uma listagem completa de opções,
consulte o comando ibmcloud ce app update.
Atualize o aplicativo criado em Implementando um aplicativo com a CLI para incluir uma variável de ambiente.
A imagem icr.io/codeengine/hello da amostra lê a variável de ambiente TARGET e imprime Hello ${TARGET}. Se a variável de ambiente estiver vazia, Hello World será retornado. O exemplo a seguir
atualiza o app para modificar o valor da variável de ambiente TARGET para Stranger. Para obter mais informações sobre o código usado para este exemplo, consulte hello.
-
Execute o comando
application update. Por exemplo,ibmcloud ce application update -n myapp --env TARGET=StrangerSaída de exemplo
Updating application 'myapp' to latest revision. [...] Run 'ibmcloud ce application get -n myapp' to check the application status. OK https://myapp.4svg40kna19.us-south.codeengine.appdomain.cloud -
Execute o comando
application getpara exibir o status de seu app, incluindo as informações de revisão mais recentes.ibmcloud ce application get --name myappSaída de exemplo
[...] Name: myapp [...] URL: https://myapp.4svg40kna19.us-south.codeengine.appdomain.cloud Cluster Local URL: http://myapp.4svg40kna19.svc.cluster.local Console URL: https://cloud.ibm.com/codeengine/project/us-south/01234567-abcd-abcd-abcd-abcdabcd1111/application/myapp/configuration Environment Variables: Type Name Value Literal TARGET Stranger Image: icr.io/codeengine/hello Resource Allocation: CPU: 1 Ephemeral Storage: 400M Memory: 4G Revisions: myapp-hc3u8-2: Age: 82s Traffic: 100% Image: icr.io/codeengine/hello (pinned to f0dc03) Running Instances: 1 Runtime: Concurrency: 100 Maximum Scale: 10 Minimum Scale: 0 Timeout: 300 Conditions: Type OK Age Reason ConfigurationsReady true 75s Ready true 62s RoutesReady true 62s Events: Type Reason Age Source Messages Normal Created 2m11s service-controller Created Configuration "myapp" Normal Created 2m11s service-controller Created Route "myapp" Instances: Name Revision Running Status Restarts Age myapp-hc3u8-1-deployment-65cf8cd4f5-jx8b8 myapp-hc3u8-1 1/2 Terminating 0 2m10s myapp-hc3u8-2-deployment-7f98b679d5-2hskr myapp-hc3u8-2 2/2 Terminating 0 85sNa saída na seção Revisões, é possível ver a revisão de aplicativo mais recente do serviço
myapp. Além disso, observe que 100% do tráfego para o aplicativo está executando a revisão mais recente do app. -
Chame o aplicativo.
curl https://myapp.4svg40kna19.us-south.codeengine.appdomain.cloudSaída de exemplo
Hello StrangerNa saída deste comando, agora é possível ver o app atualizado retornar
Hello Stranger. -
Use o comando
ibmcloud ce revision listpara exibir todas as suas revisões de app. Use essas informações para ajudá-lo a gerenciar suas revisões de aplicativo, pois Code Engine tem uma cota para o número de revisões de aplicativo em um projeto.Na saída da
revision lista seguir, observe que o Code Engine retém apenas a revisão inativa mais recente de seu aplicativo, além de sua revisão ativa do app. As revisões mais antigas são excluídas.ibmcloud ce revision listSaída de exemplo
Listing all application revisions... OK Name Application Status URL Latest Tag Traffic Age Conditions Reason myapp-hc3u8-4 myapp Ready 2d15h 3 OK / 4 myapp-hc3u8-5 myapp Ready true 100% 2d8h 3 OK / 4 myapp2-vjfqt-1 myapp2 Ready true 100% 3d 3 OK / 4 myhelloapp-tv368-3 myhelloapp Ready 16d 3 OK / 4 myhelloapp-tv368-4 myhelloapp Ready true 100% 16d 3 OK / 4 newapp-mytest-00008 newapp-mytest Ready 4d17h 3 OK / 4 newapp-mytest-00009 newapp-mytest Ready true 100% 2d20h 3 OK / 4
É possível gerenciar suas revisões de app usando o comando ibmcloud ce revision get para exibir detalhes de uma revisão de app e o comando
ibmcloud ce revision delete para remover revisões que você não deseja manter. Também é possível usar o comando ibmcloud ce revision logs para visualizar logs de instâncias de revisão de aplicativos. Use o comando ibmcloud ce revision events para exibir eventos do sistema
de instâncias de revisão de aplicativos.
Atualizando seu app para usar terminais somente de projeto com a CLI
Por padrão, ao implementar um app, o app é implementado de tal forma que pode receber solicitações da Internet pública, de uma rede privada ou de componentes dentro do projeto. Para mudar a visibilidade de seu app de forma que ele seja acessado
apenas por outros recursos do Code Engine que estão em execução no mesmo projeto, use a opção --visibility=project com o comando ibmcloud ce app update ou ibmcloud ce app create
Neste cenário, atualize o aplicativo que você criou em Implementando um aplicativo com a CLI para mudar a visibilidade do app para usar um terminal do projeto.
-
Execute o comando
application update. Por exemplo,ibmcloud ce application update -n myapp --visibility=projectSaída de exemplo
Updating application 'myapp' to latest revision. [...] Run 'ibmcloud ce application get -n myapp' to check the application status. OK http://myapp.4svg40kna19.svc.cluster.local -
Execute o comando
application getpara exibir o status de seu app, incluindo as informações de revisão mais recentes.ibmcloud ce application get --name myappSaída de exemplo
[...] Name: myapp [...] URL: http://myapp.4svg40kna19.svc.cluster.local Cluster Local URL: http://myapp.4svg40kna19.svc.cluster.local Console URL: https://cloud.ibm.com/codeengine/project/us-south/01234567-abcd-abcd-abcd-abcdabcd1111/application/myapp/configuration Environment Variables: Type Name Value Literal TARGET Stranger Image: icr.io/codeengine/hello Resource Allocation: CPU: 1 Ephemeral Storage: 400M Memory: 4G Revisions: myapp-hc3u8-2: Age: 82s Traffic: 100% Image: icr.io/codeengine/hello (pinned to f0dc03) Running Instances: 1 Runtime: Concurrency: 100 Maximum Scale: 10 Minimum Scale: 0 Timeout: 300 Conditions: Type OK Age Reason ConfigurationsReady true 75s Ready true 62s RoutesReady true 62s Events: Type Reason Age Source Messages Normal Created 2m11s service-controller Created Configuration "myapp" Normal Created 2m11s service-controller Created Route "myapp" Instances: Name Revision Running Status Restarts Age myapp-hc3u8-1-deployment-65cf8cd4f5-jx8b8 myapp-hc3u8-1 1/2 Terminating 0 2m10s myapp-hc3u8-2-deployment-7f98b679d5-2hskr myapp-hc3u8-2 2/2 Terminating 0 85sNa saída na seção Revisões, é possível ver a revisão de aplicativo mais recente do serviço
myapp. Além disso, observe que 100% do tráfego para o aplicativo está executando a revisão mais recente do app.
Agora que você configurou o --visibility=project em seu aplicativo, este aplicativo não é mais acessível por meio da Internet pública e o acesso à rede só é possível por meio componentes dentro deste projeto (local do cluster).
Atualizando seu app para usar terminais privados com a CLI
Por padrão, ao implementar um app, o app é implementado de tal forma que pode receber solicitações da Internet pública, de uma rede privada ou de componentes dentro do projeto. É possível configurar a visibilidade do terminal para o seu app de tal forma que ele seja implementado com um terminal privado. Configurar um terminal privado significa que seu app não é acessível por meio Internet pública e o acesso à rede só é possível por meio de outros serviços do IBM Cloud de terminais privados virtuais (VPC) ou de componentes do Code Engine que estão em execução no mesmo projeto (local do cluster).
Para mudar a visibilidade de seu app para que ele seja acessado somente com um terminal privado, use a opção --visibility=private com o comando ibmcloud ce app update ou ibmcloud ce app create.
Somente é possível usar o seu VPE para acessar o seu app com um terminal privado se o seu projeto selecionado suportar visibilidade privada do aplicativo.
Para confirmar se o projeto suporta visibilidade privada de aplicativo, use o comando ibmcloud ce project get para verificar se a saída para
Application Private Visibility Supported está configurada como true.
Neste cenário, atualize o aplicativo que você criou em Implementando um aplicativo com a CLI para mudar a visibilidade do app para usar um terminal privado.
-
Confirme se o projeto existente suporta aplicativos com visibilidade privada. Use o comando
ibmcloud ce project getpara verificar a saída paraApplication Private Visibility Supportedé definida comotrue. Se o valor forfalse, entre em contato com o suporte IBM para ativar essa capacidade dentro do seu projeto existente.ibmcloud ce project get -n myprojectSaída de exemplo
Getting project 'myproject'... OK Name: myproject ID: abcdabcd-abcd-abcd-abcd-f1de4aab5d5d Status: active Enabled: true Application Private Visibility Supported: true Selected: true Region: us-south Resource Group: default Service Binding Service ID: ServiceId-1234abcd-abcd-abcd-1111-1a2b3c4d5e6f Age: 52d Created: Tue, 28 Sep 2021 05:12:16 -0500 Updated: Tue, 28 Sep 2021 05:12:19 -0500 Quotas: Category Used Limit App revisions 1 60 Apps 1 20 Build runs 1 100 Builds 2 100 Configmaps 2 100 CPU 0 64 Ephemeral storage 0 256G Instances (active) 0 250 Instances (total) 0 2500 Job runs 0 100 Jobs 0 100 Memory 0 256G Secrets 6 100 Subscriptions (cron) 0 100 Subscriptions (IBM Cloud Object Storage) 0 100 Subscriptions (Kafka) 0 100 -
Se
Application Private Visibility Supportedfortrue, será possível atualizar seu app para usar terminais privados. Execute o comandoapplication update. Por exemplo,ibmcloud ce application update -n myapp --visibility=privateSaída de exemplo
Updating application 'myapp' to latest revision. [...] Run 'ibmcloud ce application get -n myapp' to check the application status. OK https://myapp.4svg40kna19.private.us-south.codeengine.appdomain.cloud -
Execute o comando
application getpara exibir o status de seu app, incluindo as informações de revisão mais recentes.ibmcloud ce application get --name myappSaída de exemplo
[...] Name: myapp [...] URL: https://myapp.4svg40kna19.private.us-south.codeengine.appdomain.cloud Cluster Local URL: http://myapp.4svg40kna19.svc.cluster.local Console URL: https://cloud.ibm.com/codeengine/project/us-south/01234567-abcd-abcd-abcd-abcdabcd1111/application/myapp/configuration Environment Variables: Type Name Value Literal TARGET Stranger Image: icr.io/codeengine/hello Resource Allocation: CPU: 1 Ephemeral Storage: 400M Memory: 4G Revisions: myapp-hc3u8-2: Age: 82s Traffic: 100% Image: icr.io/codeengine/hello (pinned to f0dc03) Running Instances: 1 Runtime: Concurrency: 100 Maximum Scale: 10 Minimum Scale: 0 Timeout: 300 Conditions: Type OK Age Reason ConfigurationsReady true 75s Ready true 62s RoutesReady true 62s Events: Type Reason Age Source Messages Normal Created 2m11s service-controller Created Configuration "myapp" Normal Created 2m11s service-controller Created Route "myapp" Instances: Name Revision Running Status Restarts Age myapp-hc3u8-1-deployment-65cf8cd4f5-jx8b8 myapp-hc3u8-1 1/2 Terminating 0 2m10s myapp-hc3u8-2-deployment-7f98b679d5-2hskr myapp-hc3u8-2 2/2 Terminating 0 85sNa saída na seção Revisões, é possível ver a revisão de aplicativo mais recente do serviço
myapp. Além disso, observe que 100% do tráfego para o aplicativo está executando a revisão mais recente do app. -
Configure o VPE para acessar seu app com um terminal privado.
Atualizando um app para referenciar uma imagem diferente
É possível atualizar o seu app para referenciar uma imagem diferente
A imagem associada à sua revisão de aplicativo específica tem uma compilação de registro de contêiner exclusiva e o Code Engine usa essa compilação para a vida de sua revisão de aplicativo. Se você criar uma versão mais recente de uma imagem com a mesma tag que a imagem original, a imagem original será sobrescrita no registro de contêiner e se tornará não identificada A imagem mais recente é identificada e essa imagem mais recente tem uma compilação diferente.... Seu aplicativo Code Engine não usa essa imagem mais recente, porque a imagem mais nova tem uma compilação diferente da imagem referenciada pela revisão do aplicativo. Code Engine ainda pode criar novas instâncias da revisão do aplicativo, desde que a imagem não identificada, que foi referenciada originalmente, ainda exista. Para obter mais informações, consulte Por que o Code Engine não pode extrair uma imagem?
Atualizando um app para referenciar uma imagem diferente no Container Registry por meio do console
Atualize um aplicativo para referenciar uma imagem diferente em um registro de contêiner usando o console do Code Engine.
Neste exemplo, vamos atualizar o helloapp que você criou em Implementando um aplicativo que referencia uma imagem em um registro de contêiner por meio do console para referenciar uma imagem diferente. O app atualizado referencia a imagem helloworld_repo no namespace mynamespace2 no Container Registry. As etapas a seguir descrevem a inclusão de acesso em um registro durante
a atualização de um app.
Para obter mais informações sobre como incluir uma imagem no Container Registry, consulte Introdução ao IBM Cloud Container Registry.
-
Navegue para a página do aplicativo. Uma maneira de navegar para a página do aplicativo é
- Localize a página Code Engine Projetos.
- Clique no nome do seu projeto para abrir a página Overview (Visão geral).
- Clique em Aplicativos para abrir uma lista de seus aplicativos. Clique no nome do seu aplicativo para abrir a página do aplicativo.
-
Clique na guia Configuration (Configuração ) para abrir os detalhes de configuração da última revisão do aplicativo.
-
Na guia Configuração. Clique na guia Código
-
Para que a Imagem seja executada, clique em Configurar imagem para abrir o diálogo Configurar imagem. Para este exemplo, atualize o app para fazer referência a um registro
ibmcregistryexistente, selecione o namespacemynamespace2, selecione a imagemhelloworld-repoe selecione1como o valor datag. Na página de configuração da imagem,- Se a imagem que você deseja usar residir na mesma conta Container Registry, selecione o acesso para o registro.
- Se a imagem que você deseja usar residir em uma conta de registro de contêiner diferente, é possível selecionar o acesso de registro para esse registro. Se o acesso do registro não existir, deve-se primeiro criar sua chave de API do IAM e, em seguida, Incluir acesso de registro ao Code Engine.
Se quiser atualizar apenas o acesso ao registro da sua imagem, você pode fazer essa alteração sem clicar em Configurar imagem para abrir a caixa de diálogo Configurar imagem e usar o menu Acesso ao registro para selecionar um acesso ao registro existente ou criar um acesso ao registro para Code Engine para a imagem referenciada pelo seu aplicativo.
-
Clique em Pronto. Você selecionou a sua imagem no registro para referenciá-la no seu app.
-
Clique em Deploy para salvar as alterações e implementar a revisão do aplicativo.
-
Após o status do aplicativo mudar para Pronto, será possível testar a revisão do app. Clique em Testar aplicativo e, em seguida, clique em Enviar solicitação na área de janela Testar aplicativo. Para abrir o aplicativo em uma página da web, clique em URL do aplicativo. Para este app,
Hello World from Code Engineé exibido.
Atualizando um app para referenciar uma imagem diferente no Container Registry com a CLI
Atualize um aplicativo para referenciar uma imagem diferente no Container Registry por meio da CLI do Code Engine.
Para este exemplo, atualize o myhelloapp que você criou em Implementando um aplicativo que faz referência a uma imagem em um registro de contêiner com a CLI para fazer referência a uma imagem diferente em um namespace diferente na mesma conta. Atualize o app para referenciar a imagem helloworld_repo no namespace mynamespace2 no Container Registry.
-
Inclua uma imagem diferente no Container Registry. Para este exemplo, inclua a imagem
helloworld_repono namespacemynamespace2no Container Registry. Para obter mais informações sobre como incluir uma imagem no Container Registry, consulte Introdução ao IBM Cloud Container Registry. -
Inclua o acesso de registro ao Code Engine. Para este exemplo, como a imagem
helloworld_reporeside na mesma conta, use o acesso de registromyregistrydefinido anteriormente. -
Atualize o seu app e referencie a imagem no Container Registry usando o acesso
myregistry. Por exemplo, atualize o appmyhelloapppara referenciar ous.icr.io/mynamespace2/helloworld_repousando as informações de acesso domyregistry.ibmcloud ce app update --name myhelloapp --image us.icr.io/mynamespace2/helloworld_repo:1 --registry-secret myregistryO formato do nome da imagem para esse aplicativo é
REGISTRY/NAMESPACE/REPOSITORY:TAG, em queREGISTRYeTAGsão opcionais. SeREGISTRYnão for especificado, o padrão serádocker.io. SeTAGnão for especificado, o padrão serálatest. -
Depois que seu app for atualizado, será possível acessá-lo. Para obter a URL de seu app, execute
ibmcloud ce app get --name myhelloapp --output url. Ao executar curl no appmyhelloapp, ele retornaHello World from Code Engine, o que demonstra que ele agora está usando a imagemhelloworld_repo.
Atualizando um app para fazer referência a uma imagem que é construída a partir do código-fonte do console
Atualize um aplicativo para fazer referência a uma imagem que é construída a partir do código-fonte usando o console Code Engine.
Para este exemplo, vamos atualizar o helloapp que você criou em Implementando um aplicativo que faz referência a uma imagem em um registro de container a partir do console para referenciar uma imagem que é construída a partir de seu código-fonte.
Para obter mais informações sobre a criação de uma configuração de construção a partir do console, consulte criar uma configuração .
- Navegue para a página do aplicativo. Uma maneira de navegar para a página do aplicativo é
- Localize a página Code Engine Projetos.
- Clique no nome do seu projeto para abrir a página Overview (Visão geral).
- Clique em Aplicativos para abrir uma lista de seus aplicativos. Clique no nome do seu aplicativo para abrir a página do aplicativo.
- Clique na guia Configuration (Configuração ) para abrir os detalhes de configuração da última revisão do aplicativo.
- Na guia Configuração. Clique na guia Código
- A partir da guia Código, é possível criar uma construção de imagem ou executar novamente uma construção de imagem existente que é referenciada por seu aplicativo. Para criar uma construção de imagem, clique em Criar imagem a partir da origem para executar uma construção de imagem. A página Especificar detalhes de construção é aberta, em que é possível inserir os detalhes de sua construção para implementar seu aplicativo a partir do código-fonte. Clique em Concluído quando as atualizações de detalhes de construção forem especificadas.
- Clique em Implantar para salvar suas alterações, executar a compilação e implantar a revisão do aplicativo.
- Após o status do aplicativo mudar para Pronto, será possível testar a revisão do app. Clique em Testar aplicativo e, em seguida, clique em Enviar solicitação na área de janela Testar aplicativo. Para abrir o aplicativo em uma página da web, clique em URL do aplicativo.
- Para atualizar esse aplicativo novamente para fazer referência a uma imagem de compilação atualizada. Clique em Executar compilação na guia Código e especifique uma tag de imagem exclusiva para a imagem de compilação atualizada. Se desejar fazer mais mudanças nos detalhes da construção, clique em Editar detalhes da construção. A página Especificar detalhes de construção é aberta, em que é possível inserir os detalhes de sua construção para implementar seu aplicativo a partir do código-fonte. Clique em Concluído quando as atualizações de detalhes de construção forem especificadas.
- Clique em Deploy para salvar suas alterações, executar a compilação com suas alterações e implementar a revisão do aplicativo.
- Após o status do aplicativo mudar para Pronto, será possível testar a revisão do app. Clique em Testar aplicativo e, em seguida, clique em Enviar solicitação na área de janela Testar aplicativo. Para abrir o aplicativo em uma página da web, clique em URL do aplicativo.
Atualizando um app para fazer referência a uma imagem que é construída a partir do código-fonte com a CLI
Atualize um aplicativo para fazer referência a uma imagem que é construída a partir do código-fonte usando a CLI do Code Engine.
Para este exemplo, vamos mudar o myhelloapp que você atualizou em Atualizando um app para referenciar uma imagem diferente no Container Registry com a CLI para referenciar uma imagem diferente
que é construída a partir de seu código-fonte.
A partir do exemplo anterior, o app myhelloapp referencia o us.icr.io/mynamespace2/helloworld_repo usando as informações de acesso do myregistry. Vamos criar uma configuração de construção, executar a
construção e atualizar o myhelloapp para fazer referência à imagem que foi construída a partir do código-fonte.
-
Crie a configuração de construção. Por exemplo, o comando
build createa seguir cria uma configuração de construção que é chamadahelloworld-build. Esta configuração é construída por meio do repositório Git públicohttps://github.com/IBM/CodeEngine, usa a estratégiadockerfilee o tamanho de construçãomedium, e armazena a imagem paraus.icr.io/mynamespace/codeengine-helloworldusando o segredo de registro de imagem definido emmyregistry.ibmcloud ce build create --name helloworld-build --image us.icr.io/mynamespace/codeengine-helloworld --registry-secret myregistry --source https://github.com/IBM/CodeEngine --commit main --context-dir /hello --strategy dockerfile --size medium -
Execute a construção. Este exemplo executa uma construção que é chamada de
helloworld-build-rune usa a configuração de construçãohelloworld-build.ibmcloud ce buildrun submit --build helloworld-build --name helloworld-build-runA saída a seguir exibe os detalhes da execução de construção ao usar o comando
ibmcloud ce buildrun get.Saída de exemplo
Getting build run 'helloworld-build-run'... [...] OK Name: helloworld-build-run ID: abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f Project Name: myproject Project ID: 01234567-abcd-abcd-abcd-abcdabcd1111 Age: 21m Created: 2021-09-30T14:50:13-05:00 Summary: Succeeded Status: Succeeded Reason: All Steps have completed executing Image: us.icr.io/mynamespace/codeengine-helloworldPara obter mais informações sobre a criação de uma configuração de compilação com a CLI, consulte Criar uma construção.
-
Atualize o
myhelloapppara referenciar a imagem que você construiu e que usa o segredo de registromyregistry.ibmcloud ce app update --name myhelloapp --image us.icr.io/mynamespace/codeengine-helloworld --registry-secret myregistry -
Exiba informações sobre o aplicativo atualizado para confirmar se a imagem referenciada é a imagem que você construiu.
ibmcloud ce app get --name myhelloappSaída de exemplo
[...] OK Name: myhelloapp ID: abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f Project Name: myproject Project ID: 01234567-abcd-abcd-abcd-abcdabcd1111 Age: 2m4s Created: 2021-09-09T14:01:02-04:00 URL: https://myhelloapp.abcdabcdabc.us-south.codeengine.appdomain.cloud Cluster Local URL: http://myhelloapp.abcdabcdabc.svc.cluster.local Console URL: https://cloud.ibm.com/codeengine/project/us-south/01234567-abcd-abcd-abcd-abcdabcd1111/application/myhelloapp/configuration Status Summary: Application deployed successfully Environment Variables: Type Name Value Literal CE_API_BASE_URL https://api.private.us-south.codeengine.cloud.ibm.com Literal CE_APP myhelloapp Literal CE_DOMAIN us-south.codeengine.appdomain.cloud Literal CE_PROJECT_ID abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f Literal CE_REGION us-south Literal CE_SUBDOMAIN abcdabcdab Image: us.icr.io/mynancesnamespace/codeengine-helloworld Resource Allocation: CPU: 1 Ephemeral Storage: 400M Memory: 4G Registry Secrets: myregistry Revisions: helloapp-00003: Age: 2m46s Latest: true Traffic: 100% Image: us.icr.io/mysnamespace/codeengine-helloworld (pinned to eeca2b) Running Instances: 1 [...]