Actualización de la app
Una aplicación contiene una o varias revisiones. Una revisión representa una versión inmutable de las propiedades de configuración de la aplicación. Cada actualización de una propiedad de configuración de la aplicación crea una nueva revisión de la aplicación.
Al modificar una aplicación y desplegarla con los cambios, o volver a desplegar la aplicación sin cambios en sus valores de configuración, estas acciones despliegan una nueva revisión de la aplicación. Al desplegar (o volver a desplegar) una revisión de aplicación, Code Engine utiliza los valores de configuración cambiados y obtiene cualquier imagen de contenedor, secreto o mapa de configuración actualizados a los que hace referencia la aplicación.
Para obtener más información sobre el despliegue de aplicaciones como, por ejemplo, la especificación de válidas vCPU y combinaciones de memoria, la definición de mandatos y argumentos, variables de entorno, secretos o mapas de configuración, consulte Opciones para desplegar una app.
Code Engine tiene una cuota para el número de aplicaciones y revisiones de app en un proyecto. Para obtener más información sobre los límites de los proyectos, consulte Cuotas de proyecto. Code Engine solo conserva la última revisión inactiva de la aplicación además de la revisión de la aplicación activa. Las revisiones más antiguas se suprimen.
Puede actualizar la aplicación desplegada y su código referenciado de varias formas, independientemente de cómo haya creado o actualizado previamente la aplicación:
-
Si tiene una imagen de contenedor, según el estándar de Open Container Initiative(OCI), solo debe proporcionar una referencia a la imagen, que apunta a la ubicación del registro de contenedor al desplegar la app. Puede desplegar la app con una imagen en un registro público o registro privado.
Si ha creado la app utilizando el mandato
app create
y ha especificado la opción--build-source
para crear la imagen de contenedor desde el origen local o de repositorio, y desea cambiar la app para que apunte a una imagen de contenedor diferente, primero debe eliminar la asociación de la compilación de la app. Por ejemplo, ejecuteibmcloud ce application update -n APP_NAME --build-clear
. Después de eliminar la asociación de la compilación de la app, puede actualizar la app para que haga referencia a una imagen diferente. -
Si está empezando con un código fuente que reside en un repositorio de Git, puede dejar que Code Engine se encargue de compilar la imagen desde el código fuente y desplegar la aplicación con una única operación. En este caso de ejemplo, Code Engine carga la imagen en IBM Cloud® Container Registry. Para obtener más información, consulte Despliegue de la aplicación a partir del código fuente del repositorio. Si desea tener más control sobre la compilación de la imagen, puede elegir compilar la imagen con Code Engine antes de desplegar la aplicación.
-
Si está empezando con un código fuente que reside en una estación de trabajo local, puede dejar que Code Engine se encargue de compilar la imagen desde el código fuente y desplegar la aplicación con un único mandato de CLI. En este caso de ejemplo, Code Engine carga la imagen en IBM Cloud® Container Registry. Para obtener más información, consulte Despliegue de la aplicación a partir del código fuente local con la CLI. Si desea tener más control sobre la compilación de la imagen, puede elegir compilar la imagen con Code Engine antes de desplegar la aplicación.
Por ejemplo, puede dejar que Code Engine maneje la compilación del código fuente local mientras avanza en el desarrollo del código fuente para la aplicación. Una vez que la imagen ha madurado, puede actualizar la aplicación desplegada para que haga referencia a la imagen específica que desee. Puede repetir este proceso según sea necesario.
Cuando despliega la aplicación actualizada, se descarga y se despliega la última versión de la imagen de contenedor referenciada, a menos que se especifique una etiqueta para la imagen. Si se especifica una etiqueta para la imagen, se utiliza la imagen etiquetada para el despliegue.
¿Qué pasa si quiero volver a desplegar mi aplicación sin cambiar los valores de configuración?
Siempre puede desplegar la aplicación con cambios de configuración cambiando un valor de configuración y desplegando la aplicación.
Sin embargo, es posible que desee volver a desplegar una revisión de aplicación sin cambiar los valores de configuración de la aplicación. Quizás la imagen de contenedor referenciada haya cambiado y desee que la revisión de la aplicación utilice la imagen de contenedor actualizada. O, quizás desee que la aplicación haga referencia a un secreto o configmap, que contiene valores de contenido actualizados.
Para estos escenarios, en la consola, puede pulsar Volver a desplegar en el separador Configuración de la página de la aplicación, sin cambiar la configuración de la app. Con la CLI, utilice el mandato ibmcloud ce app update
.
Actualización de la app desde la consola
Actualice la aplicación que ha creado en Despliegue de una aplicación desde un registro público desde la consola para añadir una variable de entorno.
- Vaya a la página de la aplicación. Una forma de ir a la página de la aplicación es la siguiente:
- Localice la página de proyectos deCode Engine.
- Pulse el nombre del proyecto para abrir la página Visión general.
- Pulse Aplicaciones para abrir una lista de sus aplicaciones. Pulse el nombre de su aplicación para que se abra la página de la aplicación.
- En la página de la aplicación, puede ver información sobre las instancias en ejecución de la aplicación y sus revisiones, los detalles de configuración y los valores de puntos finales de la aplicación. Pulse el nombre de la revisión de la aplicación con la que desea trabajar para abrir el resumen de configuración de dicha revisión. O bien, puede pulsar el separador Configuración para abrir el resumen de configuración para la última revisión de la aplicación.
- En la pestaña Configuración, pulse la pestaña Variables de entorno.
- Pulse Añadir variable de entorno. Defina esta variable de entorno como valor literal. Especifique
TARGET
para el nombre yStranger
para el valor. Pulse Añadir. - Pulse Desplegar para guardar el cambio y desplegar la revisión de la aplicación.
- Después de que el estado de la aplicación cambie a Preparado, puede probar la revisión de la aplicación. Pulse Probar aplicación y, a continuación, pulse Enviar solicitud en el panel Probar
aplicación. Para abrir la aplicación en una página web, pulse URL de aplicación. Para esta aplicación, se muestra
Hello Stranger
.
En este ejemplo, ha actualizado las variables de entorno para una aplicación. También puede actualizar otros valores de configuración para la app, incluida la referencia a una imagen distinta o compilación de imágenes distinta del separador Código . En la pestaña Recursos y escalado, puede actualizar los valores de memoria y escalado de aplicaciones para la app. En el separador Variables de entorno, puede añadir o actualizar variables de entorno para la app. En la pestaña Opciones de inicio de imagen, puede añadir o actualizar mandato y argumentos para alterar temporalmente los valores dentro de la imagen de contenedor, o trabajar con análisis de actividad y preparación.
Actualización de la aplicación para utilizar puntos finales de solo proyecto desde la consola
De forma predeterminada, cuando despliega una aplicación, la aplicación se despliega de forma que puede recibir solicitudes del Internet público, de una red privada o de componentes del proyecto. Vamos a cambiar la visibilidad de esta aplicación de modo que solo puedan acceder a ella otros recursos de Code Engine que se ejecuten en el mismo entorno de Code Engine. Utilice la pestaña Correlaciones de dominio para cambiar la visibilidad de una aplicación.
-
Vaya a la página de la aplicación. Una forma de ir a la página de la aplicación es la siguiente:
- Localice la página de proyectos deCode Engine.
- Pulse el nombre del proyecto para abrir la página Visión general.
- Pulse Aplicaciones para abrir una lista de sus aplicaciones. Pulse el nombre de su aplicación para que se abra la página de la aplicación.
-
En la página de la aplicación, puede ver información sobre las instancias en ejecución de la aplicación y sus revisiones, los detalles de configuración y los valores de puntos finales de la aplicación. Pulse el separador Correlaciones de dominio para abrir los valores de visibilidad de punto final para la aplicación.
-
En la pestaña Correlaciones de dominio, observe los URL disponibles para la aplicación. Cuando se selecciona
Public
, puede ver el URL público y el dominio del sistema interno para la aplicación. Cuando se selecciona Sin correlación de dominio de sistema externo, ya no se puede acceder a esta aplicación desde Internet público y el acceso a la red solo es posible desde los componentes de este proyecto.Cuando cambia la visibilidad de la app, el cambio entra en vigor inmediatamente. Es importante tener en cuenta el impacto del cambio para sus integraciones o usuarios activos, así como cualquier implicación en la seguridad. Puede cambiar el valor de visibilidad según sea necesario.
Actualizar la aplicación para utilizar puntos finales privados desde la consola
De forma predeterminada, cuando despliega una aplicación, la aplicación se despliega de forma que puede recibir solicitudes del Internet público, de una red privada o de componentes del proyecto. Cambiaremos la visibilidad de esta aplicación de modo que sólo se acceda a ella a través de otros recursos de Code Engine que se ejecuten en el mismo proyecto y desde la red privada utilizando puntos finales privados virtuales. Utilice la pestaña Correlaciones de dominio para cambiar la visibilidad de una aplicación.
-
Vaya a la página de la aplicación. Una forma de ir a la página de la aplicación es la siguiente:
- Localice la página de proyectos deCode Engine.
- Pulse el nombre del proyecto para abrir la página Visión general.
- Pulse Aplicaciones para abrir una lista de sus aplicaciones. Pulse el nombre de su aplicación para que se abra la página de la aplicación.
-
En la página de la aplicación, puede ver información sobre las instancias en ejecución de la aplicación y sus revisiones, los detalles de configuración y los valores de puntos finales de la aplicación. Pulse el separador Correlaciones de dominio para abrir los valores de visibilidad de punto final para la aplicación.
-
En la pestaña Correlaciones de dominio, observe los URL disponibles para la aplicación. Cuando
Private
está seleccionado, esta aplicación ya no es accesible desde el Internet público y el acceso a la red solo es posible desde los componentes de este proyecto (locales del clúster) y desde la red privada.Pulse Solo-Proyecto para cambiar la visibilidad de los puntos finales de la aplicación. Los URL disponibles para la definición de puntos finales se muestran para los URL privados y los URL solo de proyecto.
-
Para acceder a la aplicación de forma segura utilizando un punto final privado virtual (VPE), siga las instrucciones de Utilización del VPE para acceder a una aplicación para configurar el VPE para acceder a la aplicación.
Si establece la aplicación para visibility = private
, solo puede probar la aplicación a través del punto final privado virtual desde su VPC (Virtual Private Cloud).
Si cambia la visibilidad de su aplicación, el cambio es efectivo inmediatamente. Es importante tener en cuenta el impacto del cambio para sus integraciones o usuarios activos, así como cualquier implicación en la seguridad. Puede cambiar el valor de visibilidad según sea necesario.
Actualización de la app con la CLI
Para actualizar la app con la CLI, utilice el mandato app update
. Este mandato necesita el nombre de la app que desea actualizar y también permite otros argumentos opcionales. Para ver una lista completa de opciones,
consulte el mandato ibmcloud ce app update
.
Actualice la aplicación que ha creado en Despliegue de una aplicación con la CLI para añadir una variable de entorno.
La imagen icr.io/codeengine/hello
de ejemplo lee la variable de entorno TARGET
e imprime Hello ${TARGET}
. Si esta variable de entorno está vacía, se devuelve Hello World
. En el siguiente ejemplo
se actualiza la app para cambiar el valor de la variable de entorno TARGET
por Stranger
. Para obtener más información sobre el código que se utiliza para este ejemplo, consulte hello
.
-
Ejecute el mandato
application update
. Por ejemplo:ibmcloud ce application update -n myapp --env TARGET=Stranger
Salida de ejemplo
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
-
Ejecute el mandato
application get
para ver el estado de la app, incluida la información de revisión más reciente.ibmcloud ce application get --name myapp
Salida de ejemplo
[...] 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 85s
En la salida de la sección Revisions, verá la última revisión de la aplicación del servicio
myapp
. Observe también que el 100 % del tráfico a la aplicación ejecuta la última revisión de la app. -
Llame a la aplicación.
curl https://myapp.4svg40kna19.us-south.codeengine.appdomain.cloud
Salida de ejemplo
Hello Stranger
En la salida de este mandato, puede ver que la app actualizada ahora muestra
Hello Stranger
. -
Utilice el mandato
ibmcloud ce revision list
para visualizar todas las revisiones de la aplicación. Utilice esta información para ayudarle a gestionar las revisiones de la app, ya que Code Engine tiene una cuota para el número de revisiones de app en un proyecto.En la siguiente salida de
revision list
, observe que Code Engine solo retiene la revisión inactiva más reciente de la aplicación, además de la revisión activa de la app. Las revisiones más antiguas se suprimen.ibmcloud ce revision list
Salida de ejemplo
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
Puede gestionar las revisiones de apps utilizando el mandato ibmcloud ce revision get
para mostrar detalles de una revisión de la app y el mandato
ibmcloud ce revision delete
para eliminar revisiones que no desea conservar. También se puede utilizar el comando ibmcloud ce revision logs
para ver registros de instancias de revisión de aplicación. Utilice el comando ibmcloud ce revision events
para visualizar sucesos del sistema
de instancias de revisión de aplicación.
Actualización de la aplicación para utilizar puntos finales de solo proyecto con la CLI
De forma predeterminada, cuando despliega una aplicación, la aplicación se despliega de forma que puede recibir solicitudes del Internet público, de una red privada o de componentes del proyecto. Para cambiar la visibilidad de la app de forma
que solo accedan a ella otros recursos de Code Engine que se estén ejecutando en el mismo proyecto, utilice la opción --visibility=project
con el mandato ibmcloud ce app update
o ibmcloud ce app create
.
En este caso de ejemplo, actualice la aplicación que ha creado en Despliegue de una aplicación con la CLI para cambiar la visibilidad de la aplicación para utilizar un punto final de proyecto.
-
Ejecute el mandato
application update
. Por ejemplo:ibmcloud ce application update -n myapp --visibility=project
Salida de ejemplo
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
-
Ejecute el mandato
application get
para ver el estado de la app, incluida la información de revisión más reciente.ibmcloud ce application get --name myapp
Salida de ejemplo
[...] 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 85s
En la salida de la sección Revisions, verá la última revisión de la aplicación del servicio
myapp
. Observe también que el 100 % del tráfico a la aplicación ejecuta la última revisión de la app.
Ahora que ha establecido --visibility=project
en la aplicación, esta aplicación ya no es accesible desde el Internet público y el acceso a la red solo es posible desde los componentes de este proyecto (locales del clúster).
Actualización de la aplicación para utilizar puntos finales privados con la CLI
De forma predeterminada, cuando despliega una aplicación, la aplicación se despliega de forma que puede recibir solicitudes del Internet público, de una red privada o de componentes del proyecto. Puede establecer la visibilidad de punto final para su aplicación de modo que se despliegue con un punto final privado. Establecer un punto final privado significa que la aplicación no es accesible desde el Internet público y el acceso a la red solo es posible desde otros servicios de IBM Cloud desde puntos finales privados virtuales (VPC) o componentes de Code Engine que se ejecutan en el mismo proyecto (de forma local en el clúster).
Para cambiar la visibilidad de la app de forma que solo se acceda a ella con un punto final privado, utilice la opción --visibility=private
con el mandato ibmcloud ce app update
o ibmcloud ce app create
.
Sólo puede utilizar el VPE para acceder a la aplicación con un punto final privado si el proyecto seleccionado admite visibilidad privada de aplicación.
Para confirmar si el proyecto admite visibilidad privada de aplicación, utilice el mandato ibmcloud ce project get
para verificar que la salida
de Application Private Visibility Supported
está establecida en true
.
En este caso de ejemplo, actualice la aplicación que ha creado en Despliegue de una aplicación con la CLI para cambiar la visibilidad de la aplicación para utilizar un punto final privado.
-
Confirme que el proyecto existente admite aplicaciones con visibilidad privada. Utilice el mandato
ibmcloud ce project get
para verificar que la salida deApplication Private Visibility Supported
está establecida entrue
. Si el valor esfalse
, póngase en contacto con el equipo de soporte de IBM para habilitar esta posibilidad dentro del proyecto existente.ibmcloud ce project get -n myproject
Salida de ejemplo
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
-
Si
Application Private Visibility Supported
estrue
, puede actualizar la aplicación para que utilice puntos finales privados. Ejecute el mandatoapplication update
. Por ejemplo:ibmcloud ce application update -n myapp --visibility=private
Salida de ejemplo
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
-
Ejecute el mandato
application get
para ver el estado de la app, incluida la información de revisión más reciente.ibmcloud ce application get --name myapp
Salida de ejemplo
[...] 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 85s
En la salida de la sección Revisions, verá la última revisión de la aplicación del servicio
myapp
. Observe también que el 100 % del tráfico a la aplicación ejecuta la última revisión de la app. -
Configure el VPE en acceder a la aplicación con un punto final privado.
Actualización de una app para hacer referencia a una imagen diferente
Puede actualizar la app para que haga referencia a una imagen diferente.
La imagen asociada con la revisión de aplicación específica tiene un resumen de registro de contenedor exclusivo y Code Engine utiliza este resumen durante la vida de la revisión de la aplicación. Si crea una versión más reciente de una imagen con la misma etiqueta que la imagen original, la imagen original se sobrescribe en el registro de contenedor y se descodifica. La imagen más reciente está etiquetada, y esta imagen más reciente tiene un resumen diferente. La aplicación Code Engine no utiliza esta imagen más reciente, porque la imagen más reciente tiene un resumen distinto al de la imagen a la que hace referencia la revisión de la aplicación. Code Engine todavía puede crear nuevas instancias de la revisión de la aplicación siempre que la imagen sin etiquetar, a la que se hacía referencia originalmente, siga existiendo. Para obtener más información, consulte ¿Por qué no puede Code Engine extraer una imagen?
Actualización de una app para que haga referencia a otra imagen en Container Registry desde la consola
Actualice una aplicación para que haga referencia a otra imagen en un registro de contenedores mediante la consola de Code Engine.
En este ejemplo, vamos a actualizar la app helloapp
que ha creado en Despliegue de una aplicación que haga referencia a una imagen en un registro de contenedores desde la consola para que haga referencia a otra imagen. La app actualizada hace referencia a la imagen helloworld_repo
en el espacio de nombres mynamespace2
en Container Registry. En los pasos siguientes se describe cómo añadir
acceso a un registro durante la actualización de una app.
Para obtener más información sobre cómo añadir una imagen a Container Registry, consulte Iniciación a IBM Cloud Container Registry.
-
Vaya a la página de la aplicación. Una forma de ir a la página de la aplicación es la siguiente:
- Localice la página de proyectos deCode Engine.
- Pulse el nombre del proyecto para abrir la página Visión general.
- Pulse Aplicaciones para abrir una lista de sus aplicaciones. Pulse el nombre de la aplicación para que se abra la página de la aplicación.
-
Pulse la pestaña Configuración para abrir los detalles de configuración para la última revisión de la aplicación.
-
En la pestaña Configuración, pulse la pestaña Código.
-
Para que la imagen se ejecute, pulse Configurar imagen para abrir el diálogo Configurar imagen. Para este ejemplo, actualice la app para que haga referencia a un registro
ibmcregistry
existente, seleccione el espacio de nombresmynamespace2
, seleccione la imagenhelloworld-repo
y seleccione1
como valor paratag
. Desde la página de configuración de la imagen,- Si la imagen que desea utilizar reside en la misma cuenta de Container Registry, seleccione el acceso para el registro.
- Si la imagen que desea utilizar reside en una cuenta de registro de contenedor distinta, puede seleccionar el acceso de registro para este registro. Si el acceso de registro no existe, primero debe crear la clave de API de IAM y, a continuación, Añadir acceso de registro a Code Engine.
Si desea actualizar sólo el acceso de registro a la imagen, puede realizar este cambio sin pulsar Configurar imagen para abrir el diálogo Configurar imagen y utilizar el menú de acceso Registro para seleccionar un acceso de registro existente o crear un acceso de registro a Code Engine para la imagen a la que hace referencia la aplicación.
-
Pulse Listo. Ha seleccionado la imagen del registro a la que se hará referencia en su app.
-
Pulse Desplegar para guardar el cambio y desplegar la revisión de la app.
-
Después de que el estado de la aplicación cambie a Preparado, puede probar la revisión de la aplicación. Pulse Probar aplicación y, a continuación, pulse Enviar solicitud en el panel Probar aplicación. Para abrir la aplicación en una página web, pulse URL de aplicación. Para esta aplicación, se muestra
Hello World from Code Engine
.
Actualización de una app para que haga referencia a otra imagen en Container Registry con la CLI
Actualice una aplicación para que haga referencia a otra imagen en Container Registry desde la CLI de Code Engine.
Para este ejemplo, actualice la myhelloapp
que ha creado en Despliegue de una aplicación que haga referencia a una imagen en un registro de contenedores con la CLI para que haga referencia a otra imagen en un espacio de nombres diferente en la misma cuenta. Actualice la app para que haga referencia a la imagen helloworld_repo
en el espacio de nombres mynamespace2
en Container
Registry.
-
Añada otra imagen a Container Registry. Para este ejemplo, añada la imagen
helloworld_repo
en el espacio de nombresmynamespace2
en Container Registry. Para obtener más información sobre cómo añadir una imagen a Container Registry, consulte Iniciación a IBM Cloud Container Registry. -
Añada de acceso de registro a Code Engine. Para este ejemplo, debido a que la imagen
helloworld_repo
reside en la misma cuenta, utilice el acceso de registromyregistry
definido anteriormente. -
Actualice la app y haga referencia a la imagen en Container Registry utilizando el acceso
myregistry
. Por ejemplo, actualice la appmyhelloapp
para que haga referencia aus.icr.io/mynamespace2/helloworld_repo
utilizando la información de acceso demyregistry
.ibmcloud ce app update --name myhelloapp --image us.icr.io/mynamespace2/helloworld_repo:1 --registry-secret myregistry
El formato del nombre de la imagen correspondiente a esta aplicación es
REGISTRY/NAMESPACE/REPOSITORY:TAG
, dondeREGISTRY
yTAG
son opcionales. Si no se especificaREGISTRY
, el valor predeterminado esdocker.io
. Si no se especificaTAG
, el valor predeterminado eslatest
. -
Una vez actualizada la app, puede acceder a la app. Para obtener el URL de su app, ejecute
ibmcloud ce app get --name myhelloapp --output url
. Cuando se ejecuta curl de la appmyhelloapp
, la app devuelveHello World from Code Engine
, que muestra que la app está utilizando la imagenhelloworld_repo
.
Actualización de una app para hacer referencia a una imagen compilada a partir del código fuente desde la consola
Actualice una aplicación para que haga referencia a una imagen compilada a partir del código fuente utilizando la consola de Code Engine.
Para este ejemplo, actualice la helloapp
que ha creado en Despliegue de una aplicación que haga referencia a una imagen en un registro de contenedores desde la consola para que haga referencia a una imagen compilada a partir del código fuente.
Para obtener más información sobre la creación de una configuración de compilación desde la consola, consulte crear una compilación.
- Vaya a la página de la aplicación. Una forma de ir a la página de la aplicación es la siguiente:
- Localice la página de proyectos deCode Engine.
- Pulse el nombre del proyecto para abrir la página Visión general.
- Pulse Aplicaciones para abrir una lista de sus aplicaciones. Pulse el nombre de la aplicación para que se abra la página de la aplicación.
- Pulse la pestaña Configuración para abrir los detalles de configuración para la última revisión de la aplicación.
- En la pestaña Configuración, pulse la pestaña Código.
- En el separador Código, puede crear una compilación de imagen o puede volver a ejecutar una compilación de imagen existente a la que hace referencia la aplicación. Para crear una compilación de imagen, pulse Crear imagen desde el origen para ejecutar una compilación de imagen. Se abre la página Especificar detalles de compilación, donde puede especificar los detalles de la compilación para desplegar la app desde el código fuente. Pulse Listo cuando se especifiquen las actualizaciones de los detalles de la compilación.
- Pulse Desplegar para guardar los cambios, ejecutar la compilación y desplegar la revisión de la app.
- Después de que el estado de la aplicación cambie a Preparado, puede probar la revisión de la aplicación. Pulse Probar aplicación y, a continuación, pulse Enviar solicitud en el panel Probar aplicación. Para abrir la aplicación en una página web, pulse URL de aplicación.
- Para actualizar esta aplicación de nuevo para hacer referencia a una imagen de compilación actualizada, pulse Volver a ejecutar compilación en la pestaña Código y especifique una etiqueta de imagen exclusiva para la imagen de compilación actualizada. Si desea realizar más cambios en los detalles de la compilación, pulse Editar detalles de compilación. Se abre la página Especificar detalles de compilación, donde puede especificar los detalles de la compilación para desplegar la app desde el código fuente. Pulse Listo cuando se especifiquen las actualizaciones de los detalles de la compilación.
- Pulse Desplegar para guardar los cambios, ejecutar la compilación con los cambios y desplegar la revisión de la app.
- Después de que el estado de la aplicación cambie a Preparado, puede probar la revisión de la aplicación. Pulse Probar aplicación y, a continuación, pulse Enviar solicitud en el panel Probar aplicación. Para abrir la aplicación en una página web, pulse URL de aplicación.
Actualización de una app para hacer referencia a una imagen compilada a partir del código fuente con la CLI
Actualice una aplicación para que haga referencia a una imagen compilada a partir del código fuente utilizando la CLI de Code Engine.
Para este ejemplo, cambie la myhelloapp
que ha actualizado en Actualización de una app para que haga referencia a otra imagen en con la CLI para que haga referencia a una imagen distinta
que se compila a partir del código fuente.
En el ejemplo anterior, la aplicación myhelloapp
hace referencia a us.icr.io/mynamespace2/helloworld_repo
utilizando la información de acceso de myregistry
. Vamos a crear una configuración de compilación,
ejecutar la compilación y actualizar myhelloapp
para que haga referencia a la imagen que se ha compilado a partir del código fuente.
-
Cree la configuración de la compilación. Por ejemplo, el siguiente mandato
build create
crea una configuración de compilación denominadahelloworld-build
. Esta configuración compila desde el repositorio Git públicohttps://github.com/IBM/CodeEngine
, utiliza la estrategiadockerfile
y el tamaño de compilaciónmedium
, y guarda la imagen enus.icr.io/mynamespace/codeengine-helloworld
utilizando el secreto de registro de imágenes que se ha definido enmyregistry
.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
-
Ejecute la compilación. En este ejemplo se ejecuta una compilación denominada
helloworld-build-run
y utiliza la configuración de compilaciónhelloworld-build
.ibmcloud ce buildrun submit --build helloworld-build --name helloworld-build-run
La salida siguiente muestra los detalles de la ejecución de la compilación utilizando el mandato
ibmcloud ce buildrun get
.Salida de ejemplo
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-helloworld
Para obtener más información sobre la creación de una configuración de compilación con la CLI, consulte crear una compilación.
-
Actualice
myhelloapp
para hacer referencia a la imagen que ha compilado y que utiliza el secreto de registro demyregistry
.ibmcloud ce app update --name myhelloapp --image us.icr.io/mynamespace/codeengine-helloworld --registry-secret myregistry
-
Muestra información sobre la aplicación actualizada para confirmar que la imagen a la que se hace referencia es la que se compiló.
ibmcloud ce app get --name myhelloapp
Salida de ejemplo
[...] 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.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 [...]