Eseguire il rollback di un aggiornamento utilizzando la CLI
Questa esercitazione illustra come eseguire il rollback di un deployment utilizzando la CLI. Completando questa esercitazione, si apprende come ripristinare le modifiche distribuite a una configurazione di architettura distribuibile in un progetto. Alla fine di questa esercitazione, la configurazione dell'architettura distribuibile corrisponderà all'ultima versione distribuita con successo.
Immaginate di essere uno sviluppatore di software per l'azienda Example Corp. L'architetto dell'infrastruttura ha scoperto l'architettura distribuibile Cloud automation for Code Engine e il professionista dell'automazione del cloud l'ha
personalizzata per soddisfare pienamente le esigenze aziendali. Avete distribuito l'architettura personalizzata chiamata Example Corp's infrastructure in due regioni. Poi, il professionista dell'automazione del cloud ha rilasciato
una nuova versione di Example Corp's infrastructure, quindi ha aggiornato le distribuzioni in corso per utilizzare l'ultima versione. Recentemente, il vostro team ha scoperto un bug nella regione us-south. Il bug è
nuovo, quindi si vuole riportare la distribuzione per la regione us-south a quella precedente, poiché si sa che quella distribuzione non includeva il bug.
Questa esercitazione utilizza uno scenario fittizio per aiutarvi a capire come eseguire il rollback delle modifiche distribuite a una configurazione di architettura distribuibile nel vostro progetto. Nel completare l'esercitazione, adattate ogni fase alle esigenze della vostra organizzazione.
Prima di iniziare
-
Creare un'architettura distribuibile personalizzata chiamata
Example Corp's infrastructuree inserirla in un catalogo privato chiamatoExample Corp catalog. -
Distribuire l'infrastruttura di Example Corp in due regioni utilizzando un progetto chiamato
Example Corp infrastructure. -
Aggiornate l'infrastruttura di Example Corp con una nuova versione del catalogo privato e aggiungete due opzioni di database tra cui gli utenti possono scegliere. Convalidare la versione nel catalogo privato in modo che la nuova versione sia nello stato
Validated draft. -
Aggiornare il progetto per utilizzare l'ultima versione di
Example Corp's infrastructuree distribuire le modifiche.L'ultima versione di
Example Corp's infrastructureinclude opzioni di database che possono essere distribuite dal progettoExample Corp infrastructure. Il completamento di questa esercitazione non ha alcun impatto sul progetto, a parte la configurazione diexample-corp-us-south. Se necessario, è possibile disinstallare separatamente le altre configurazioni del progetto, compresi i database. -
Per completare questa esercitazione, installare la CLI di IBM Cloud.
Trovare l'ID del progetto, l'ID della configurazione e la versione a cui si desidera tornare
Prima di poter eseguire i comandi CLI per ripristinare le modifiche apportate a una versione distribuita in precedenza, occorre l'ID della configurazione example-corp-us-south e l'ID del progetto Example Corp infrastructure che contiene la configurazione.
Per trovare questi ID e la versione utilizzando la CLI, eseguire i seguenti comandi:
-
Accedere a IBM Cloud eseguendo il seguente
ibmcloud logincomando. Se si dispone di più account, viene richiesto di selezionare quale account utilizzare:ibmcloud login \ --ssoUtilizzare l'opzione
--ssoper accedere alla console. In questo caso, la console si apre in un browser web per consentire l'accesso. Viene quindi generato un codice da incollare nella CLI. -
Trovate l'ID del progetto
Example Corp infrastructurenel vostro account eseguendo il seguente comandoibmcloud project listcomando:ibmcloud project list \ --all-pagesUtilizzate l'opzione
--all-pagesper recuperare tutti i progetti del vostro account. -
Utilizzare l'ID del progetto
Example Corp infrastructuree il nome della configurazione per trovare l'ID della configurazione. Eseguire il seguenteibmcloud project configsper farlo:ibmcloud project configs \ --project-id <Example-Corp-infrastructure-project-id> \ --all-pages -
Usare l'ID del progetto
Example Corp infrastructuree l'ID della configurazioneexample-corp-us-southper trovare le versioni di quella configurazione nel progetto. Eseguire il seguenteibmcloud project config-versionscomando:ibmcloud project config-versions \ --project-id <Example-Corp-infrastructure-project-id> \ --id <example-corp-us-south-id>Dovrebbero essere elencate due versioni della configurazione di
example-corp-us-south. La versione due è nello statodeployed, mentre la versione uno è nello statosuperseded. La prima versione è la prima che è stata distribuita. Questa versione è quella a cui si vuole tornare.
Recuperare la versione a cui si vuole tornare indietro
Ora che si dispone degli ID e della versione a cui si vuole tornare, eseguire il seguente comando ibmcloud project config-version per recuperare la versione specifica di example-corp-us-south. Assicurarsi di includere il parametro per restituire l'output nel formato JSON:
ibmcloud project config-version \
--project-id <Example-Corp-infrastructure-project-id> \
--id <example-corp-us-south-id> \
--version 1 \
--output json
Copiare il contenuto del blocco definition nell'uscita JSON e salvarlo in un file definition.json. Il contenuto di definition include i valori di input forniti, l'autorizzazione usata per concedere
al progetto l'accesso alla distribuzione nell'account di destinazione, il nome della configurazione e l'ID del localizzatore per Example Corp's infrastructure che identifica l'architettura distribuibile nel catalogo privato. Considerate
un'istantanea della versione 1 di example-corp-us-south con tutti gli input e le informazioni fornite nel vostro progetto, ad esempio:
{
"authorizations": {},
"compliance_profile": {},
"description": "",
"inputs": {
"prefix": "us-south",
"region": "us-south"
},
"locator_id": "<Example-Corp-catalog-locator-id>",
"name": "example-corp-us-south",
"environment_id": "<Example-Corp-infrastructure-dev-id>"
}
Aggiornare la configurazione per utilizzare la definizione della versione precedente
Ora che si dispone della definizione della versione 1 di example-corp-us-south, aggiornare la configurazione per utilizzare tale definizione. Questo aggiorna example-corp-us-south in modo che sia esattamente come è
stato configurato quando è stata distribuita la versione 1. Eseguire il seguente ibmcloud project config-update per example-corp-us-south:
ibmcloud project config-update \
--project-id <Example-Corp-infrastructure-project-id> \
--id <example-corp-us-south-id> \
--definition "$(cat definition.json)"
Convalidare, approvare e distribuire le modifiche
Ora che example-corp-us-south è stato aggiornato per utilizzare la definizione per la prima versione della configurazione, è il momento di convalidare, approvare e distribuire le modifiche. Per farlo, è possibile utilizzare la console oppure eseguire i seguenti comandi CLI:
-
Convalidare
example-corp-us-southeseguendo il seguenteibmcloud project config-validatecomando:ibmcloud project config-validate \ --project-id <Example-Corp-infrastructure-project-id> \ --id <example-corp-us-south-id> -
Approvare
example-corp-us-southeseguendo il seguenteibmcloud project config-approvecomando:ibmcloud project config-approve \ --project-id <Example-Corp-infrastructure-project-id> \ --id <example-corp-us-south-id> \ --comment <Rolling back to the previously deployed version> -
Distribuire
example-corp-us-southeseguendo il seguenteibmcloud project config-deploycomando:ibmcloud project config-deploy \ --project-id <Example-Corp-infrastructure-project-id> \ --id <example-corp-us-south-id>
Una volta completata l'installazione, example-corp-us-south viene ripristinato alla prima versione della configurazione distribuita dal progetto. Il vostro team può ora indagare sul bug e rilasciare un aggiornamento a Example Corp's infrastructure,
se necessario.