Distribuzione del gruppo di istanze blu-verde

Crea la pipeline di distribuzione utilizzando la strategia di rilascio blu-verde per la distribuzione del gruppo di istanze.

Prerequisiti

I prerequisiti sono i seguenti:

  • Disporre di una pipeline di distribuzione, due ambienti del gruppo di istanze da distribuire in (attivo e in standby) e artifact. Gli artifact devono trovarsi nel registro artifact.

    Gli artifact possono essere un file di configurazione della distribuzione o artifact generali. Il file di configurazione della distribuzione definisce i comandi e i passi per scaricare l'artifact del package di applicazioni dal Registro artifact specificato e posizionarlo nel file system dell'istanza di computazione di destinazione.

  • Configurare un load balancer e un listener nella console per l'instradamento del traffico. Puoi anche disporre di un load balancer e di un listener di test per convalidare la nuova versione dell'applicazione prima di spostare il traffico di produzione.
  • Il plugin Comando esecuzione istanza di computazione deve essere abilitato nell'istanza e il plugin deve essere in esecuzione. Per abilitare il plugin, seguire questa procedura:
    1. Nella console, aprire il menu di navigazione e fare clic su Computazione. In Calcolo fare clic su Istanze.
    2. Selezionare un'istanza dal gruppo di istanze in cui eseguire la distribuzione.
      Nota

      DevOps supporta solo le distribuzioni dei gruppi di istanze in Oracle Linux e CentOS.
    3. Fare clic sulla scheda Agente Oracle Cloud.
    4. Per il plugin Comando esecuzione istanza di computazione, attivare o disattivare l'opzione Plugin abilitato su Abilitato.

      Per rendere effettiva la modifica occorrono fino a 10 minuti.

      Attenzione

      La funzionalità che dipende dal plugin, ad esempio il monitoraggio, il ridimensionamento automatico, la distribuzione o la gestione del sistema operativo, non funziona quando il plugin è disabilitato.
      Attenzione

      Per distribuire le applicazioni utilizzando il plugin Comando esecuzione istanza di computazione, è necessario configurare e gestire in modo appropriato i criteri con privilegi minimi. Per ulteriori informazioni, vedere Esecuzione dei comandi in un'istanza.

      Per informazioni sulla gestione dei plugin, vedere Gestione dei plugin con l'agente Oracle Cloud. Per la risoluzione dei problemi, vedere Risoluzione dei problemi di Oracle Cloud Agent.

  • Disporre dell'autorizzazione per eseguire comandi sull'istanza. Consulta il criterio IAM (Identity and Access Management) richiesto

Per creare gruppi dinamici e criteri per le pipeline di distribuzione, vedere Criteri di pipeline di distribuzione. Per ulteriori dettagli, consulta DevOps Criteri IAM.

Per accedere a DevOps utilizzando la console di Oracle Cloud, l'API REST e l'interfaccia CLI, vedere Accesso a DevOps.

    1. Aprire il menu di navigazione e fare clic su Servizi per sviluppatori. In DevOps fare clic su Progetti.
    2. Selezionare un progetto e una pipeline di distribuzione.
    3. Per aggiungere una fase alla pipeline, fare clic sull'icona + e selezionare Aggiungi fase.
    4. Per il tipo di fase, selezionare Strategia blu/verde, quindi fare clic su Avanti.
    5. Selezionare Gruppo di istanze per il tipo di distribuzione.
    6. Immettere un nome e una descrizione per lo stadio. L'aggiunta di una descrizione è facoltativa.
    7. Per Ambiente A, selezionare il gruppo di istanze in cui viene distribuita l'applicazione. Per l'ambiente B, selezionare un altro gruppo di istanze identico all'ambiente A.
    8. Fare clic su Seleziona artifact e selezionare gli artifact di configurazione della distribuzione del gruppo di istanze disponibili da distribuire.

      Il file di configurazione della distribuzione definisce gli artifact da scaricare nell'istanza e la posizione in cui devono essere copiati. Per ulteriori informazioni, vedere File di configurazione della distribuzione.

    9. (Facoltativo) Fare clic su Seleziona artifact per aggiungere altri artifact di cui viene eseguito il download nelle istanze di computazione durante la distribuzione.

      Questi artifact aggiuntivi non devono essere definiti in linea.

    10. Fare clic su Seleziona load balancer.
      1. Selezionare l'area e il compartimento del load balancer.
      2. Selezionare un load balancer dalla lista disponibile.

      Il load balancer cambia il traffico tra gli ambienti attivi e in standby durante la distribuzione. Per ulteriori informazioni, vedere Gestione del load balancer.

    11. Per aggiungere un listener al load balancer, fare clic su Seleziona listener.

      I listener controllano la presenza di traffico in entrata sull'indirizzo IP e sulla porta del listener del load balancer. Per ulteriori informazioni, vedere Gestione del listener.

    12. Immettere un valore per la porta backend.

      Porta delle istanze in cui è in esecuzione l'applicazione.

    13. (Facoltativo) Selezionare un load balancer di test, un listener e una porta backend per eseguire il test della nuova applicazione prima di spostare il traffico di produzione.

      Ciò consente di evitare qualsiasi rischio di errore di distribuzione durante la produzione.

    14. Il criterio di rinnovo controlla la frequenza e il comportamento del rollout dell'istanza nell'ambiente di destinazione. Selezionare una delle opzioni seguenti.
      • Rinnovo per percentuale: inserire una percentuale compresa tra 1 e 100. Questo valore controlla la percentuale massima di istanze distribuite o non in esecuzione alla volta.
      • Rinnovo per conteggio: immettere il valore del conteggio. Questo valore controlla il numero massimo di istanze distribuite o non in esecuzione alla volta.
    15. (Facoltativo) In Ritardo tra batch, immettere una durata in secondi.
    16. (Facoltativo) Per aggiungere tag alla pipeline, fare clic su Mostra opzioni di applicazione tag. L'applicazione di tag è un sistema di metadati che consente di organizzare e tenere traccia delle risorse nella tenancy.

      Se si dispone delle autorizzazioni per creare una risorsa, si dispone anche delle autorizzazioni per aggiungervi tag in formato libero.

      Per aggiungere una tag definita, è necessario disporre delle autorizzazioni per utilizzare lo spazio di nomi tag.

      Per ulteriori informazioni, vedere Tag delle risorse.

    17. Fare clic su Successivo.
    18. È possibile scegliere di convalidare l'esecuzione della distribuzione oppure di non eseguire la convalida selezionando Nessuno.

      Selezionare Esegui una logica personalizzata tramite una funzione per convalidare l'applicazione richiamando una funzione. Immettere i valori seguenti:

      1. Immettere un nome e una descrizione per lo stadio. L'aggiunta di una descrizione è facoltativa.
      2. Per Ambiente, selezionare una funzione esistente da richiamare.

        Nel campo Nome funzione di sola lettura viene visualizzata la funzione richiamata nella pipeline.

      3. (Facoltativo) Per selezionare e aggiungere artifact allo stadio, fare clic su Seleziona artifact.

        Selezionare una risorsa artifact esistente dal progetto DevOps. L'artifact deve essere un tipo di file generico (universale). I parametri nell'artifact devono essere in formato JSON e possono avere segnaposto. Durante la configurazione della risorsa artifact DevOps, selezionare Consenti parametrizzazione. La selezione di questa casella di controllo garantisce che i segnaposto vengano sostituiti con il valore dell'argomento durante la distribuzione. Per ulteriori informazioni, vedere Configurazione di parametri.

        Di seguito è riportato un esempio del contenuto generico dell'artifact per il passaggio di due parametri definiti dall'utente e dei relativi valori.
        • Parametri: test_name, app_version
        • Valori: {"test_name":"verify_production", "app_version":"${app_version}"}
      4. In Modalità di esecuzione stadio, selezionare per eseguire l'esecuzione in modo asincrono o sincrono.

        Se si seleziona Esegui in modo asincrono, il servizio richiama la funzione ma non attende il completamento della funzione. Quando si seleziona Esegui in modo sincrono, il servizio richiama la funzione e attende il completamento della funzione.

      5. Selezionare per disabilitare o abilitare la convalida.

        Se la convalida è abilitata, il servizio verifica il valore restituito della funzione. Il valore restituito è un valore di stringa UTF-8, true o false. Se il valore restituito è true, lo stadio viene contrassegnato come Riuscito, altrimenti lo stadio viene contrassegnato come Non riuscito.

        Se la convalida è disabilitata, il servizio non verifica il valore restituito.

        La convalida viene eseguita solo se è stata selezionata l'opzione "Esegui in modo sincrono" per la modalità di esecuzione della fase.

      6. (Facoltativo) Per aggiungere tag alla pipeline, fare clic su Mostra opzioni di applicazione tag. L'applicazione di tag è un sistema di metadati che consente di organizzare e tenere traccia delle risorse nella tenancy.

        È possibile selezionare uno spazio di nomi tag o aggiungere un tag in formato libero. Immettere la chiave e il valore di tag corrispondenti. È possibile aggiungere più tag.

    19. È possibile abilitare o disabilitare un'approvazione manuale per la distribuzione. Se si desidera abilitare un'approvazione, immettere i valori riportati di seguito.
      1. Immettere un nome e una descrizione per lo stadio. L'aggiunta di una descrizione è facoltativa.
      2. Inserire il numero di approvatori.
      3. (Facoltativo) Per aggiungere tag alla pipeline, fare clic su Mostra opzioni di applicazione tag. L'applicazione di tag è un sistema di metadati che consente di organizzare e tenere traccia delle risorse nella tenancy.

        È possibile selezionare uno spazio di nomi tag o aggiungere un tag in formato libero. Immettere la chiave e il valore di tag corrispondenti. È possibile aggiungere più tag.

    20. Per aggiungere lo stadio alla pipeline, fare clic su Aggiungi.

      Viene visualizzata una finestra modale che mostra lo stato delle varie configurazioni di fase che fanno parte della strategia di distribuzione del gruppo di istanze blu-verde. Possono includere la distribuzione di gruppi di istanze blu-verdi, la funzione di richiamo, l'approvazione e le fasi di spostamento del traffico. Se la convalida non riesce, è possibile controllare il messaggio di errore specifico di ogni fase non riuscita ed eseguire un'azione correttiva.

      Se la convalida riesce, è possibile eseguire la pipeline di distribuzione o aggiungere altre fasi in sequenza o in parallelo alla pipeline, in base alle esigenze.

  • Per creare una fase blu-verde del gruppo di istanze, eseguire il comando create-deploy-compute-instance-group-blue-green-stage:

    oci devops deploy-stage create-deploy-compute-instance-group-blue-green-stage

    Parametri obbligatori:

    • --environment-id-a
    • --environment-id-b
    • --deployment-spec-artifact-id
    • --rollout-policy
    • --pipeline-id
    • --production-load-balancer-config
    • --stage-predecessor-collection

    Per visualizzare la Guida per il comando:

    oci devops deploy-stage create-compute-instance-group-blue-green-stage -h

    Per creare una fase di spostamento del traffico blu-verde del gruppo di istanze, eseguire il comando create-compute-instance-group-blue-green-traffic-shift-stage:

    oci devops deploy-stage create-compute-instance-group-blue-green-traffic-shift-stage

    Parametri obbligatori:

    • --compute-instance-group-blue-green-stage-id
    • --pipeline-id
    • --stage-predecessor-collection

    Per visualizzare la Guida per il comando:

    oci devops deploy-stage create-compute-instance-group-blue-green-traffic-shift-stage -h

    Per creare una fase di richiamo della funzione, eseguire il comando create-invoke-function-stage:

    oci devops deploy-stage create-invoke-function-stage

    Parametri obbligatori:

    • --function-environment-id
    • --is-async
    • --is-validation-enabled
    • --pipeline-id
    • --stage-predecessor-collection

    Per visualizzare la Guida per il comando:

    oci devops deploy-stage create-invoke-function-stage -h

    Per creare una fase di spostamento del traffico del load balancer, eseguire il comando create-load-balancer-traffic-shift-stage:

    oci devops deploy-stage create-load-balancer-traffic-shift-stage

    Parametri obbligatori:

    • --blue-backend-ips
    • --green-backend-ips
    • --load-balancer-config
    • --traffic-shift-target
    • --rollout-policy
    • --pipeline-id
    • --stage-predecessor-collection

    Per visualizzare la Guida per il comando:

    oci devops deploy-stage create-load-balancer-traffic-shift-stage -h

    Per creare una fase di approvazione manuale, eseguire il comando create-manual-approval-stage:

    oci devops deploy-stage create-manual-approval-stage

    Parametri obbligatori:

    • --approval-policy
    • --pipeline-id
    • --stage-predecessor-collection

    Per visualizzare la Guida per il comando:

    oci devops deploy-stage create-manual-approval-stage -h

    Per ottenere tutti i comandi per deploy-stage:

    oci devops deploy-stage -h
  • Per creare una fase, utilizzare l'operazione CreateDeployStage. A seconda delle fasi che si desidera aggiungere alla pipeline, selezionare i valori riportati di seguito per il tipo di fase.

    • Fase di distribuzione blu-verde del gruppo di istanze di computazione: COMPUTE_INSTANCE_GROUP_BLUE_GREEN_DEPLOYMENT
    • Fase di spostamento del traffico blu-verde del gruppo di istanze di computazione: COMPUTE_INSTANCE_GROUP_BLUE_GREEN_TRAFFIC_SHIFT
    • Richiama fase funzione: INVOKE_FUNCTION
    • Fase di approvazione manuale: MANUAL_APPROVAL