Aggiornamento della tua app
Un'applicazione contiene una o più revisioni. Una revisione rappresenta una versione immutabile delle proprietà di configurazione dell'applicazione. Ogni aggiornamento di una proprietà di configurazione dell'applicazione crea una nuova revisione dell'applicazione.
Quando si modifica un'applicazione e si distribuisce l'applicazione con le modifiche o si ridistribuisce l'applicazione senza modificare le relative impostazioni di configurazione, queste azioni distribuiscono una nuova revisione dell'applicazione. Quando distribuisci (o ridistribuisci) una revisione dell'applicazione, Code Engine usa tutte le impostazioni di configurazione modificate e ottiene qualsiasi immagine del contenitore, segreto o configmap aggiornata a cui fa riferimento l'applicazione.
Per ulteriori informazioni sulla distribuzione delle applicazioni, come la specifica di vCPU valide e combinazioni di memoria, la definizione di comandi e argomenti, le variabili di ambiente, i segreti o le mappe di configurazione, vedi Opzioni per la distribuzione di un'applicazione.
Code Engine ha una quota per il numero di applicazioni e revisioni di applicazioni in un progetto. Per ulteriori informazioni sui limiti per i progetti, vedi Quote del progetto. Code Engine conserva solo l'ultima revisione inattiva della tua applicazione oltre alla tua revisione dell'applicazione attiva. Le revisioni precedenti vengono eliminate.
Puoi aggiornare la tua applicazione distribuita e il relativo codice di riferimento utilizzando uno qualsiasi dei seguenti modi, indipendentemente da come hai creato o precedentemente aggiornato la tua applicazione:
-
Se hai un'immagine del contenitore, secondo lo standard OCI(Open Container Initiative), devi fornire solo un riferimento all'immagine, che punta all'ubicazione del tuo registro del contenitore quando distribuisci la tua applicazione. Puoi distribuire la tua applicazione con una immagine in un registro pubblico o in un registro privato.
Se hai creato la tua applicazione utilizzando il comando
app createe hai specificato l'opzione--build-sourceper creare l'immagine del contenitore dall'origine locale o del repository e vuoi modificare la tua applicazione in modo che punti a un'altra immagine del contenitore, devi prima rimuovere l'associazione della build dalla tua applicazione. Ad esempio, eseguireibmcloud ce application update -n APP_NAME --build-clear. Dopo aver rimosso l'associazione della build dalla propria applicazione, è possibile aggiornare l'applicazione in modo che faccia riferimento a una diversa immagine. -
Se stai iniziando con il codice sorgente che risiede in un repository Git, puoi scegliere di lasciare che Code Engine si occupi della creazione dell'immagine dalla tua origine e della distribuzione dell'applicazione con una singola operazione. In questo scenario, Code Engine carica la tua immagine in IBM Cloud® Container Registry. Per ulteriori informazioni, vedi Distribuzione della tua applicazione dal codice sorgente del repository. Se vuoi più controllo sulla build della tua immagine, puoi scegliere di creare l'immagine con Code Engine prima di distribuire la tua applicazione.
-
Se stai iniziando con il codice sorgente che risiede su una workstation locale, puoi scegliere di consentire a Code Engine di creare l'immagine dalla tua origine e distribuire l'applicazione con un singolo comando della CLI. In questo scenario, Code Engine carica la tua immagine in IBM Cloud® Container Registry. Per ulteriori informazioni, vedi Distribuzione della tua applicazione dal codice di origine locale con la CLI. Se vuoi più controllo sulla build della tua immagine, puoi scegliere di creare l'immagine con Code Engine prima di distribuire la tua applicazione.
Ad esempio, potresti scegliere di consentire a Code Engine di gestire la creazione della tua origine locale mentre evolvi lo sviluppo della tua origine per l'applicazione. Quindi, una volta maturata l'immagine, puoi aggiornare l'applicazione distribuita per fare riferimento all'immagine specifica che desideri. È possibile ripetere questo processo in base alle necessità.
Quando distribuisci la tua applicazione aggiornata, viene scaricata e distribuita l'ultima versione della tua immagine del contenitore di riferimento, a meno che non venga specificata una tag per l'immagine. Se viene specificata una tag per l'immagine, l'immagine contrassegnata viene utilizzata per la distribuzione.
Cosa devo fare se voglio ridistribuire la mia applicazione senza modificare le impostazioni di configurazione?
È sempre possibile distribuire l'applicazione con modifiche di configurazione modificando un valore di configurazione e distribuendo l'applicazione.
Tuttavia, è possibile ridistribuire una revisione dell'applicazione senza modificare le impostazioni di configurazione dell'applicazione. Forse la tua immagine del contenitore di riferimento è stata modificata e vuoi che la tua revisione dell'applicazione utilizzi l'immagine del contenitore aggiornata. Oppure, è possibile che si desideri che l'applicazione faccia riferimento a un segreto o a una configmap, che contiene valori di contenuto aggiornati.
Per questi scenari, dalla console, puoi fare clic su Ridistribuisci dalla scheda Configurazione della tua pagina dell'applicazione, senza modificare la configurazione dell'applicazione. Con la CLI, utilizza
il comando ibmcloud ce app update.
Aggiornamento dell'app dalla console
Aggiorna l'applicazione che hai creato in Distribuzione di un'applicazione da un registro pubblico dalla console per aggiungere una variabile di ambiente.
- Andate alla pagina della vostra candidatura. Un modo per passare alla pagina dell'applicazione è quello di
- Individua la pagina dei progettiCode Engine.
- Fare clic sul nome del progetto per aprire la pagina Panoramica.
- Fare clic su Applicazioni per aprire un elenco delle applicazioni. Fare clic sul nome dell'applicazione per aprirne la pagina.
- Dalla pagina dell'applicazione, puoi visualizzare le informazioni relative alle istanze in esecuzione della tua applicazione e alle sue revisioni, ai dettagli di configurazione e alle impostazioni dell'endpoint dell'applicazione. Fare clic sul nome della revisione dell'applicazione con cui si desidera lavorare per aprire il riepilogo di configurazione per tale revisione. In alternativa, è possibile fare clic sulla scheda Configurazione per aprire il riepilogo della configurazione per l'ultima revisione dell'applicazione.
- Nella scheda Configurazione, fare clic su Variabili di ambiente.
- Fare clic su Aggiungi variabile d'ambiente. Definire questa variabile di ambiente come valore letterale. Immettere
TARGETcome nome eStrangercome valore. Fai clic su Aggiungi. - Fare clic su Distribuisci per salvare la modifica e distribuire la revisione dell'applicazione.
- Dopo che lo stato dell'applicazione è stato modificato in Pronto, è possibile verificare la revisione dell'applicazione. Fare clic su Applicazione di test, quindi fare clic su Invia richiesta nel riquadro Applicazione di test. Per aprire l'applicazione in una pagina Web, fare clic su Applicazione URL. Per questa app, viene visualizzato
Hello Stranger.
In questo esempio, hai aggiornato le variabili di ambiente per un'applicazione. Puoi anche aggiornare altre impostazioni di configurazione per la tua applicazione, incluso il riferimento a un'immagine differente o una build dell'immagine differente dalla scheda Codice. Dalla scheda Risorse & scalabilità, puoi aggiornare le impostazioni di memoria e scalabilità dell'applicazione per la tua applicazione. Dalla scheda Variabili di ambiente, puoi aggiungere o aggiornare le variabili di ambiente per la tua applicazione. Dalla scheda Image start options, puoi aggiungere o aggiornare il comando e gli argomenti per sovrascrivere le impostazioni all'interno della tua immagine del contenitore o gestire i probe di attività e prontezza.
Aggiornamento della tua app per utilizzare gli endpoint di solo progetto dalla console
Per impostazione predefinita, quando distribuisci un'applicazione, l'applicazione viene distribuita in modo che possa ricevere richieste da Internet pubblico, da una rete privata o da componenti all'interno del progetto. Cambiamo la visibilità di questa applicazione in modo che sia accessibile solo da altre risorse Code Engine in esecuzione nello stesso ambiente Code Engine. Utilizzare la scheda Associazioni dominio per modificare la visibilità di una app.
-
Andate alla pagina della vostra candidatura. Un modo per passare alla pagina dell'applicazione è quello di
- Individua la pagina dei progettiCode Engine.
- Fare clic sul nome del progetto per aprire la pagina Panoramica.
- Fare clic su Applicazioni per aprire un elenco delle applicazioni. Fare clic sul nome dell'applicazione per aprirne la pagina.
-
Dalla pagina dell'applicazione, puoi visualizzare le informazioni relative alle istanze in esecuzione della tua applicazione e alle sue revisioni, ai dettagli di configurazione e alle impostazioni dell'endpoint dell'applicazione. Fare clic sulla scheda Associazioni dominio per aprire le impostazioni di visibilità dell'endpoint per l'applicazione.
-
Dalla scheda Associazioni dominio, nota gli URL disponibili per la tua applicazione. Quando
Publicè selezionata, è possibile visualizzare l' URL di associazione del dominio del sistema pubblico e interno per l'applicazione. Quando si seleziona Nessuna mappatura di dominio del sistema esterno, questa applicazione non è più accessibile da internet pubblico e l'accesso alla rete è possibile solo dai componenti all'interno di questo progetto.Quando modifichi la visibilità della tua applicazione, la modifica è immediatamente effettiva. È importante considerare l'impatto della modifica per gli utenti attivi o le integrazioni, nonché eventuali implicazioni di sicurezza. È possibile modificare l'impostazione di visibilità come necessario.
Aggiornamento della tua applicazione per utilizzare gli endpoint privati dalla console
Per impostazione predefinita, quando distribuisci un'applicazione, l'applicazione viene distribuita in modo che possa ricevere richieste da Internet pubblico, da una rete privata o da componenti all'interno del progetto. Cambiamo la visibilità di questa applicazione in modo che sia accessibile solo da altre risorse Code Engine in esecuzione nello stesso progetto e dalla rete privata utilizzando i Virtual Private Endpoints. Utilizzare la scheda Associazioni dominio per modificare la visibilità di una app.
-
Andate alla pagina della vostra candidatura. Un modo per passare alla pagina dell'applicazione è quello di
- Individua la pagina dei progettiCode Engine.
- Fare clic sul nome del progetto per aprire la pagina Panoramica.
- Fare clic su Applicazioni per aprire un elenco delle applicazioni. Fare clic sul nome dell'applicazione per aprirne la pagina.
-
Dalla pagina dell'applicazione, puoi visualizzare le informazioni relative alle istanze in esecuzione della tua applicazione e alle sue revisioni, ai dettagli di configurazione e alle impostazioni dell'endpoint dell'applicazione. Fare clic sulla scheda Associazioni dominio per aprire le impostazioni di visibilità dell'endpoint per l'applicazione.
-
Dalla scheda Associazioni dominio, nota gli URL disponibili per la tua applicazione. Quando si seleziona
Private, questa applicazione non sarà più accessibile da Internet pubblico e l'accesso alla rete sarà possibile solo dai componenti all'interno di questo progetto (cluster-local) e dalla rete privata.Fai clic su Privato per modificare la visibilità dell'endpoint dell'app. Gli URL disponibili per la tua definizione di endpoint vengono visualizzati per gli URL privati e di solo progetto.
-
Per accedere alla tua applicazione in maniera sicura utilizzando un VPE (Virtual Private Endpoint), attieniti alle istruzioni per l'utilizzo del tuo VPE per accedere a un'applicazione per impostare il VPE per accedere alla tua applicazione.
Se imposti la tua applicazione per visibility = private, puoi testare la tua applicazione solo tramite l'endpoint privato virtuale dall'interno del tuo VPC(Virtual Private Cloud).
Modificando la visibilità della tua applicazione, la modifica è immediatamente effettiva. È importante considerare l'impatto della modifica per gli utenti attivi o le integrazioni, nonché eventuali implicazioni di sicurezza. È possibile modificare l'impostazione di visibilità come necessario.
Aggiornamento dell'applicazione con la CLI
Per aggiornare la tua applicazione con la CLI, utilizza il comando app update. Questo comando richiede il nome dell'applicazione che vuoi aggiornare e consente anche altri argomenti facoltativi. Per un elenco completo
delle opzioni, consultare il comando ibmcloud ce app update.
Aggiorna l'applicazione che hai creato in Distribuzione di una applicazione con la CLI per aggiungere una variabile di ambiente.
L'immagine di esempio icr.io/codeengine/hello legge la variabile di ambiente TARGET e stampa Hello ${TARGET}. Se questa variabile d'ambiente è vuota, viene restituito Hello World. Il seguente
esempio aggiorna l'applicazione per modificare il valore della variabile di ambiente TARGET in Stranger. Per ulteriori informazioni sul codice utilizzato per questo esempio, consultare hello.
-
Eseguire il
application updateil comando. Ad esempio,ibmcloud ce application update -n myapp --env TARGET=StrangerOutput di esempio
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 -
Esegui il comando
application getper visualizzare lo stato della tua applicazione, incluse le informazioni di revisione più recenti.ibmcloud ce application get --name myappOutput di esempio
[...] 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 85sDall'output nella sezione Revisioni, puoi visualizzare la revisione dell'applicazione più recente del servizio
myapp. Inoltre, si noti che il 100% del traffico all'applicazione sta eseguendo l'ultima revisione dell'applicazione. -
Chiamare l'applicazione.
curl https://myapp.4svg40kna19.us-south.codeengine.appdomain.cloudOutput di esempio
Hello StrangerDall'output di questo comando, puoi vedere che l'applicazione aggiornata ora restituisce
Hello Stranger. -
Utilizzare il comando
ibmcloud ce revision listper visualizzare tutte le revisioni dell'applicazione. Utilizza queste informazioni per aiutarti a gestire le tue revisioni dell'applicazione come Code Engine ha una quota per il numero di revisioni dell'applicazione in un progetto.Nel seguente output
revision list, tieni presente che Code Engine conserva solo l'ultima revisione inattiva della tua applicazione in aggiunta alla tua revisione dell'applicazione attiva. Le revisioni precedenti vengono eliminate.ibmcloud ce revision listOutput di esempio
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
Puoi gestire le tue revisioni dell'applicazione utilizzando il comando ibmcloud ce revision get per visualizzare i dettagli di una revisione dell'applicazione
e il comando ibmcloud ce revision delete per rimuovere le revisioni che non vuoi conservare. È inoltre possibile utilizzare il comando
ibmcloud ce revision logs per visualizzare i log delle istanze di revisione dell'applicazione. Utilizzare il comando ibmcloud ce revision events per visualizzare gli eventi di sistema delle istanze di revisione dell'applicazione.
Aggiornamento della tua app per utilizzare gli endpoint solo progetto con la CLI
Per impostazione predefinita, quando distribuisci un'applicazione, l'applicazione viene distribuita in modo che possa ricevere richieste da Internet pubblico, da una rete privata o da componenti all'interno del progetto. Per modificare la visibilità
della tua applicazione in modo che vi si acceda solo da altre risorse Code Engine in esecuzione nello stesso progetto, utilizza l'opzione --visibility=project con il comando ibmcloud ce app update o ibmcloud ce app create.
In questo scenario, aggiorna l'applicazione che hai creato in Distribuzione di una applicazione con la CLI per modificare la visibilità dell'applicazione in modo da utilizzare un endpoint del progetto .
-
Eseguire il
application updateil comando. Ad esempio,ibmcloud ce application update -n myapp --visibility=projectOutput di esempio
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 -
Esegui il comando
application getper visualizzare lo stato della tua applicazione, incluse le informazioni di revisione più recenti.ibmcloud ce application get --name myappOutput di esempio
[...] 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 85sDall'output nella sezione Revisioni, puoi visualizzare la revisione dell'applicazione più recente del servizio
myapp. Inoltre, si noti che il 100% del traffico all'applicazione sta eseguendo l'ultima revisione dell'applicazione.
Ora che hai impostato --visibility=project sulla tua applicazione, questa applicazione non è più accessibile da internet pubblico e l'accesso alla rete è possibile solo dai componenti all'interno di questo progetto (cluster-local).
Aggiornamento dell'applicazione per utilizzare gli endpoint privati con la CLI
Per impostazione predefinita, quando distribuisci un'applicazione, l'applicazione viene distribuita in modo che possa ricevere richieste da Internet pubblico, da una rete privata o da componenti all'interno del progetto. Puoi configurare la visibilità dell'endpoint per la tua applicazione in modo che sia distribuita con un endpoint privato. L'impostazione di un endpoint privato significa che la tua applicazione non è accessibile da internet pubblico e l'accesso alla rete è possibile solo da altri componenti di IBM Cloud che sono in esecuzione nello stesso progetto (cluster-local).
Per modificare la visibilità della tua applicazione in modo che sia accessibile solo con un endpoint privato, utilizza l'opzione --visibility=private con il comando ibmcloud ce app update o ibmcloud ce app create.
Puoi utilizzare il tuo VPE solo per accedere alla tua applicazione con un endpoint privato se il tuo progetto selezionato supporta la visibilità privata dell'applicazione.
Per confermare se il progetto supporta la visibilità privata dell'applicazione, utilizzare il comando ibmcloud ce project get per verificare
che l'output per Application Private Visibility Supported sia impostato su true.
In questo scenario, aggiorna l'applicazione che hai creato in Distribuzione di una applicazione con la CLI per modificare la visibilità dell'applicazione in modo da utilizzare un endpoint privato.
-
Confermare che il progetto esistente supporta le applicazioni con visibilità privata. Utilizzare il comando
ibmcloud ce project getper verificare che l'output perApplication Private Visibility Supportedsia impostato sutrue. Se il valore èfalse, contattare il supporto IBM per abilitare questa funzionalità all'interno del progetto esistente.ibmcloud ce project get -n myprojectOutput di esempio
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 Supportedètrue, puoi aggiornare la tua applicazione per utilizzare gli endpoint privati. Eseguire ilapplication updateil comando. Ad esempio,ibmcloud ce application update -n myapp --visibility=privateOutput di esempio
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 -
Esegui il comando
application getper visualizzare lo stato della tua applicazione, incluse le informazioni di revisione più recenti.ibmcloud ce application get --name myappOutput di esempio
[...] 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 85sDall'output nella sezione Revisioni, puoi visualizzare la revisione dell'applicazione più recente del servizio
myapp. Inoltre, si noti che il 100% del traffico all'applicazione sta eseguendo l'ultima revisione dell'applicazione. -
Configura il tuo VPE per accedere alla tua applicazione con un endpoint privato.
Aggiornamento di una app per fare riferimento a un'immagine differente
Puoi aggiornare la tua applicazione per fare riferimento a una diversa immagine.
L'immagine associata alla tua specifica revisione dell'applicazione ha un digest del registro del contenitore univoco e Code Engine utilizza questo digest per la durata della tua revisione dell'applicazione. Se crei una nuova versione di un'immagine con la stessa tag dell'immagine originale, l'immagine originale viene sovrascritta nel registro del contenitore e diventa senza tag. L'immagine più recente è taggata e questa immagine più recente ha un digest diverso. La tua applicazione Code Engine non utilizza questa immagine più recente, perché l'immagine più recente ha un digest differente rispetto all'immagine a cui fa riferimento la revisione dell'applicazione. Code Engine può ancora creare nuove istanze della revisione dell'applicazione finché l'immagine senza tag, a cui si fa riferimento in origine, esiste ancora. Per ulteriori informazioni, vedi Perché Code Engine non può eseguire il pull di un'immagine?
Aggiornamento di una applicazione per fare riferimento a un'immagine differente in Container Registry dalla console
Aggiorna un'applicazione per fare riferimento a un'immagine differente in un registro del contenitore utilizzando la console Code Engine.
Per questo esempio, aggiorniamo helloapp che hai creato in Distribuzione di una applicazione che fa riferimento ad una immagine in un registro del contenitore dalla console per fare riferimento ad una diversa immagine. L'applicazione aggiornata fa riferimento all'immagine helloworld_repo nello spazio dei nomi di mynamespace2 in Container Registry. La seguente procedura descrive come
aggiungere l'accesso a un registro durante l'aggiornamento di un'applicazione.
Per ulteriori informazioni sull'aggiunta di un'immagine a Container Registry, vedi Introduzione a IBM Cloud Container Registry.
-
Andate alla pagina della vostra candidatura. Un modo per passare alla pagina dell'applicazione è quello di
- Individua la pagina dei progettiCode Engine.
- Fare clic sul nome del progetto per aprire la pagina Panoramica.
- Fare clic su Applicazioni per aprire un elenco delle applicazioni. Fare clic sul nome dell'applicazione per aprire la pagina dell'applicazione.
-
Fare clic sulla scheda Configurazione per aprire i dettagli di configurazione per l'ultima revisione dell'applicazione.
-
Dalla scheda Configurazione, fare clic sulla scheda Codice.
-
Per l'immagine da eseguire, fare clic su Configura l'immagine per aprire la finestra di dialogo di configurazione dell'immagine. Per questo esempio, aggiorna l'applicazione per fare riferimento a un registro
ibmcregistryesistente, seleziona lo spazio dei nomimynamespace2, seleziona l'immaginehelloworld-repoe seleziona1come valore pertag. Dalla pagina Configura immagine,- Se l'immagine che vuoi utilizzare risiede nello stesso account Container Registry, seleziona l'accesso per il registro.
- Se l'immagine che si desidera utilizzare risiede in un account del registro del contenitore differente, è possibile selezionare l'accesso al registro per questo registro. Se l'accesso al registro non esiste, devi prima creare la tua chiave API IAM e poi Aggiungi l'accesso al registro a Code Engine.
Se vuoi aggiornare solo l'accesso del registro alla tua immagine, puoi apportare questa modifica senza fare clic su Configura l'immagine per aprire la finestra di dialogo di configurazione dell'immagine e utilizzare il menu di accesso del registro per selezionare un accesso del registro esistente o creare un accesso del registro a Code Engine per l'immagine a cui fa riferimento la tua applicazione.
-
Fai clic su Done. Hai selezionato la tua immagine nel registro a cui fare riferimento dalla tua app.
-
Fai clic su Distribuisci per salvare la tua modifica e distribuire la revisione dell'applicazione.
-
Dopo che lo stato dell'applicazione viene modificato in Pronto, puoi testare la revisione dell'applicazione. Fare clic su Applicazione di test, quindi fare clic su Invia richiesta nel riquadro Applicazione di test. Per aprire l'applicazione in una pagina Web, fare clic su Applicazione URL. Per questa app, viene visualizzato
Hello World from Code Engine.
Aggiornamento di un'applicazione per fare riferimento a una diversa immagine in Container Registry con la CLI
Aggiorna un'applicazione per fare riferimento a un'immagine diversa nella CLI Container Registry dalla CLI Code Engine.
Per questo esempio, aggiorna il myhelloapp che hai creato in Distribuzione di un'applicazione che fa riferimento ad una immagine in un registro del contenitore con la CLI per fare riferimento a una diversa immagine in uno spazio dei nomi differente nello stesso account. Aggiorna l'applicazione per fare riferimento all'immagine helloworld_repo nello spazio dei nomi mynamespace2 in
Container Registry.
-
Aggiungi un'immagine diversa a Container Registry. Per questo esempio, aggiungi l'immagine
helloworld_reponello spazio dei nomimynamespace2in Container Registry. Per ulteriori informazioni sull'aggiunta di un'immagine a Container Registry, vedi Introduzione a IBM Cloud Container Registry. -
Aggiungi l'accesso al registro a Code Engine. Per questo esempio, poiché l'immagine
helloworld_reporisiede nello stesso account, utilizzare l'accesso al registromyregistryprecedentemente definito. -
Aggiorna la tua applicazione e fai riferimento all'immagine in Container Registry utilizzando l'accesso
myregistry. Ad esempio, aggiorna l'applicazionemyhelloappper fare riferimento aus.icr.io/mynamespace2/helloworld_repoutilizzando le informazioni di accessomyregistry.ibmcloud ce app update --name myhelloapp --image us.icr.io/mynamespace2/helloworld_repo:1 --registry-secret myregistryIl formato del nome dell'immagine per questa applicazione è
REGISTRY/NAMESPACE/REPOSITORY:TAGdoveREGISTRYeTAGsono facoltativi. SeREGISTRYnon è specificato, il valore predefinito èdocker.io. SeTAGnon è specificato, il valore predefinito èlatest. -
Una volta aggiornata la tua applicazione, puoi accedervi. Per ottenere l' URL della tua applicazione, esegui
ibmcloud ce app get --name myhelloapp --output url. Quando esegui il curl dell'applicazionemyhelloapp, l'applicazione restituisceHello World from Code Engine, il che dimostra che l'applicazione utilizza ora l'immaginehelloworld_repo.
Aggiornamento di un'applicazione per fare riferimento a un'immagine creata dal codice sorgente dalla console
Aggiorna un'applicazione per fare riferimento a un'immagine creata dal codice sorgente utilizzando la console Code Engine.
Per questo esempio, aggiorniamo helloapp che hai creato in Distribuzione di un applicazione che fa riferimento a un'immagine in un registro del contenitore dalla console per fare riferimento a un'immagine creata dal codice sorgente.
Per ulteriori informazioni sulla creazione di una configurazione di build dalla console, vedi Crea una build.
- Andate alla pagina della vostra candidatura. Un modo per passare alla pagina dell'applicazione è quello di
- Individua la pagina dei progettiCode Engine.
- Fare clic sul nome del progetto per aprire la pagina Panoramica.
- Fare clic su Applicazioni per aprire un elenco delle applicazioni. Fare clic sul nome dell'applicazione per aprire la pagina dell'applicazione.
- Fare clic sulla scheda Configurazione per aprire i dettagli di configurazione per l'ultima revisione dell'applicazione.
- Dalla scheda Configurazione, fare clic sulla scheda Codice.
- Dalla scheda Codice, puoi creare una build dell'immagine oppure puoi rieseguire una build dell'immagine esistente a cui fa riferimento la tua applicazione. Per creare una build immagine, fare clic su Crea immagine dall'origine per eseguire una build immagine. Viene aperta la pagina Specifica dettagli di build in cui puoi immettere i dettagli della tua build per distribuire la tua applicazione dal codice sorgente. Fare clic su Fine quando vengono specificati gli aggiornamenti dei dettagli della build.
- Fare clic su Distribuisci per salvare le modifiche, eseguire la build e distribuire la revisione dell'applicazione.
- Dopo che lo stato dell'applicazione viene modificato in Pronto, puoi testare la revisione dell'applicazione. Fare clic su Applicazione di test, quindi fare clic su Invia richiesta nel riquadro Applicazione di test. Per aprire l'applicazione in una pagina Web, fare clic su Applicazione URL.
- Per aggiornare nuovamente questa applicazione in modo che faccia riferimento a un'immagine di build aggiornata, fai clic su Riesegui build nella scheda Codice e specifica una tag di immagine univoca per l'immagine di build aggiornata. Se si desidera apportare ulteriori modifiche ai dettagli della build, fare clic su Modifica dettagli della build. Viene aperta la pagina Specifica dettagli di build in cui puoi immettere i dettagli della tua build per distribuire la tua applicazione dal codice sorgente. Fare clic su Fine quando vengono specificati gli aggiornamenti dei dettagli della build.
- Fai clic su Distribuisci per salvare le tue modifiche, eseguire la build con le modifiche e distribuire la revisione dell'app.
- Dopo che lo stato dell'applicazione viene modificato in Pronto, puoi testare la revisione dell'applicazione. Fare clic su Applicazione di test, quindi fare clic su Invia richiesta nel riquadro Applicazione di test. Per aprire l'applicazione in una pagina Web, fare clic su Applicazione URL.
Aggiornamento di una applicazione per fare riferimento a un'immagine creata dal codice sorgente con la CLI
Aggiorna un'applicazione per fare riferimento a un'immagine creata dal codice sorgente utilizzando la CLI Code Engine.
Per questo esempio, modifichi il myhelloapp che hai aggiornato in Aggiornamento di un'applicazione per fare riferimento a una diversa immagine in Container Registry con la CLI per fare riferimento
a una diversa immagine creata dal codice sorgente.
Dall'esempio precedente, l'applicazione myhelloapp fa riferimento a us.icr.io/mynamespace2/helloworld_repo utilizzando le informazioni di accesso myregistry. Creiamo una configurazione di build, eseguiamo
la build e aggiorniamo myhelloapp per fare riferimento all'immagine che è stata creata dal codice sorgente.
-
Creare la configurazione di creazione. Ad esempio, il seguente comando
build createcrea una configurazione di creazione denominatahelloworld-build. Questa configurazione viene creata dal repository Git pubblicohttps://github.com/IBM/CodeEngine, utilizza la strategiadockerfilee la dimensione di buildmediume archivia l'immagine inus.icr.io/mynamespace/codeengine-helloworldutilizzando il segreto del registro delle immagini definito inmyregistry.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 -
Eseguire la build. Questo esempio esegue una build denominata
helloworld-build-rune utilizza la configurazione di buildhelloworld-build.ibmcloud ce buildrun submit --build helloworld-build --name helloworld-build-runIl seguente output visualizza i dettagli della build eseguita utilizzando il comando
ibmcloud ce buildrun get.Output di esempio
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-helloworldPer ulteriori informazioni sulla creazione di una configurazione di build con la CLI, vedi Crea un build.
-
Aggiorna
myhelloappper fare riferimento all'immagine che hai creato e utilizza il segreto di registromyregistry.ibmcloud ce app update --name myhelloapp --image us.icr.io/mynamespace/codeengine-helloworld --registry-secret myregistry -
Visualizza le informazioni sull'applicazione aggiornata per confermare che l'immagine a cui si fa riferimento è l'immagine che hai creato.
ibmcloud ce app get --name myhelloappOutput di esempio
[...] 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 [...]