Sviluppa ed esegui il deployment di app containerizzate utilizzando una pipeline CI/CD

Last reviewed 2022-11-18 UTC

Questa guida al deployment descrive come configurare e usare uno sviluppo, di integrazione continua (CI) e di distribuzione continua (CD) utilizzando un un insieme integrato di strumenti Google Cloud. Puoi utilizzare la modalità al sistema per sviluppare ed eseguire il deployment Google Kubernetes Engine (GKE).

Questa guida illustra come creare descritta in precedenza Pipeline di deployment per lo sviluppo e la distribuzione di app containerizzate.

Questa guida al deployment è rivolta sia agli sviluppatori di software sia agli operatori, e ricoprirai i seguenti ruoli:

  • Innanzitutto, devi agire come operatore per configurare la pipeline CI/CD. Il principale di questa pipeline Cloud Build Artifact Registry e Cloud Deploy.
  • Successivamente, avrai il ruolo di sviluppatore per modificare un'applicazione utilizzando Cloud Code. Quando agisci in qualità di sviluppatore, vedi l'esperienza integrata che questa pipeline fornisce.
  • Infine, devi agire come operatore e seguire i passaggi per il deployment un'applicazione in produzione.

Questa guida al deployment presuppone che tu abbia familiarità con l'esecuzione dei comandi gcloud sulle Google Cloud e con il deployment di container di applicazioni con GKE.

Architettura

Il seguente diagramma mostra le risorse utilizzate in questa guida al deployment:

Sviluppa ed esegui il deployment del sistema con Cloud Code, Cloud Build, Artifact Registry, Cloud Deploy e GKE

Per maggiori dettagli sui componenti utilizzati in questa architettura, vedi Pipeline di deployment per lo sviluppo e la distribuzione di app containerizzate.

Obiettivi

In qualità di operatore, devi:

  • Configura la pipeline CI e la pipeline CD. Questa configurazione include:
    • Configura le autorizzazioni richieste.
    • Creare i cluster GKE per la gestione temporanea ambienti di produzione.
    • Creare un repository in Cloud Source Repositories per il codice sorgente.
    • Crea un repository in Artifact Registry per il container dell'applicazione.
    • Creare un trigger di Cloud Build nel repository GitHub principale.
    • Creare una pipeline di distribuzione e i target di Cloud Deploy. La i target sono l'ambiente di gestione temporanea e produzione.
  • Avvia il processo CI/CD per eseguire il deployment in gestione temporanea, quindi promuoverlo in produzione.

In qualità di sviluppatore, apporti una modifica all'applicazione. Per farlo, devi le seguenti:

  • Clona il repository per utilizzarlo con un ambiente di sviluppo preconfigurato.
  • Apporta una modifica all'applicazione nell'area di lavoro per sviluppatori.
  • Crea e testa la modifica. I test includono un test di convalida per la governance.
  • Visualizza e convalida la modifica in un cluster di sviluppo. Questo cluster viene eseguito su minikube.
  • Esegui il commit della modifica nel repository principale.

Costi

In questo documento vengono utilizzati i seguenti componenti fatturabili di Google Cloud:

Per generare una stima dei costi basata sull'utilizzo previsto, utilizza il Calcolatore prezzi. I nuovi utenti di Google Cloud potrebbero essere idonei per una prova gratuita.

Una volta completate le attività descritte in questo documento, puoi evitare la fatturazione continua eliminando le risorse che hai creato. Per ulteriori informazioni, consulta la pagina Pulizia.

Prima di iniziare

  1. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  2. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

  3. Abilita le API Artifact Registry, Cloud Build, Cloud Deploy, Cloud Source Repositories, Google Kubernetes Engine, Resource Manager, and Service Networking.

    Abilita le API

  4. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

prepara l'ambiente

In questa sezione, agirai come operatore dell'applicazione e:

  • Configura le autorizzazioni richieste.
  • Creare i cluster GKE per la gestione temporanea ambienti di produzione.
  • Clonare il repository del codice sorgente.
  • Creare un repository in Cloud Source Repositories per il codice sorgente.
  • Creare un repository in Artifact Registry per l'applicazione container.

Configurare le autorizzazioni

In questa sezione, concedi le autorizzazioni necessarie per configurare il pipeline CI/CD.

  1. Se stai utilizzando una nuova istanza dell'editor di Cloud Shell, specifica il progetto da utilizzare per questa guida al deployment:

    gcloud config set project PROJECT_ID
    

    Sostituisci PROJECT_ID con l'ID del progetto che stai selezionate o create per questa guida al deployment.

    Se viene visualizzata una finestra di dialogo, fai clic su Autorizza.

  2. Assicurati che l'account di servizio Compute Engine predefinito sia sufficiente autorizzazioni per eseguire job in Cloud Deploy e eseguire il pull dei container da Artifact Registry. Cloud Build Cloud Deploy utilizza questo account di servizio predefinito.

    Questo account di servizio potrebbe già disporre delle autorizzazioni necessarie. Questo passaggio garantisce la concessione delle autorizzazioni necessarie per i progetti che Disabilita le concessioni automatiche di ruoli per gli account di servizio predefiniti.

    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member=serviceAccount:$(gcloud projects describe PROJECT_ID \
        --format="value(projectNumber)")-compute@developer.gserviceaccount.com \
        --role="roles/clouddeploy.jobRunner"
    
    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member=serviceAccount:$(gcloud projects describe PROJECT_ID \
        --format="value(projectNumber)")-compute@developer.gserviceaccount.com \
        --role="roles/artifactregistry.reader"
    
  3. Concedi il privilegio per l'account di servizio Cloud Build per richiamare i deployment con Cloud Deploy e aggiornare la distribuzione pipeline e le definizioni della destinazione:

    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member=serviceAccount:$(gcloud projects describe PROJECT_ID \
        --format="value(projectNumber)")@cloudbuild.gserviceaccount.com \
        --role="roles/clouddeploy.operator"
    

    Per ulteriori informazioni su questo ruolo IAM, consulta clouddeploy.operator ruolo.

  4. Concedi i servizi Cloud Build e Cloud Deploy privilegio dell'account per eseguire il deployment su GKE:

    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member=serviceAccount:$(gcloud projects describe PROJECT_ID \
        --format="value(projectNumber)")-compute@developer.gserviceaccount.com \
        --role="roles/container.admin"
    

    Per maggiori dettagli su questo ruolo IAM, consulta le Ruolo container.admin ruolo.

  5. Concedi all'account di servizio Cloud Build le autorizzazioni necessarie per richiama le operazioni di Cloud Deploy:

    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member=serviceAccount:$(gcloud projects describe PROJECT_ID \
        --format="value(projectNumber)")@cloudbuild.gserviceaccount.com \
        --role="roles/iam.serviceAccountUser"
    

    Quando Cloud Build richiama Cloud Deploy, utilizza una l'account di servizio Compute Engine per creare una release, ecco perché è necessaria questa autorizzazione.

    Per maggiori dettagli su questo ruolo IAM, consulta le Ruolo iam.serviceAccountUser ruolo.

Ora hai concesso le autorizzazioni necessarie per la pipeline CI/CD.

crea i cluster GKE

In questa sezione, creerai gli ambienti di gestione temporanea e produzione, che sono in entrambi i cluster GKE. Non è necessario configurare di sviluppo qui, perché utilizza minikube.)

  1. Crea i cluster GKE di gestione temporanea e produzione:

    gcloud container clusters create-auto staging \
        --region us-central1 \
        --project=$(gcloud config get-value project) \
        --async
    
    gcloud container clusters create-auto prod \
        --region us-central1 \
        --project=$(gcloud config get-value project) \
        --async
    

    Il cluster di gestione temporanea è il luogo in cui testi le modifiche al codice. Dopo verificare che il deployment in fase temporanea non abbia influito negativamente esegui il deployment dell'applicazione in produzione.

  2. Esegui questo comando e assicurati che l'output includa STATUS: RUNNING sia per il cluster di gestione temporanea che per quello di produzione:

    gcloud container clusters list
    
  3. Recupera le credenziali nei tuoi file kubeconfig per la gestione temporanea e cluster di produzione.

    gcloud container clusters get-credentials staging --region us-central1
    
    gcloud container clusters get-credentials prod --region us-central1
    

    Queste credenziali possono essere utilizzate per interagire cluster, ad esempio per verificare che un'applicazione funzioni correttamente.

A questo punto hai creato i cluster GKE per la gestione temporanea e produzione.

Apri l'IDE e clona il repository

clonare il repository e visualizzare l'applicazione in fase di sviluppo segui questi passaggi:

  1. Clona il repository GitHub in Cloud Shell.

    Apri in Cloud Shell

  2. Fai clic su Conferma.

    L'editor di Cloud Shell apre e clona il repository di esempio.

    Ora puoi visualizzare il codice dell'applicazione nell'editor di Cloud Shell.

  3. Specifica il progetto da utilizzare per questa guida al deployment:

    gcloud config set project PROJECT_ID
    

    Se viene visualizzata una finestra di dialogo, fai clic su Autorizza.

Ora hai il codice sorgente per l'applicazione nel tuo di sviluppo software.

Questo repository di codice sorgente include I file Cloud Build e Cloud Deploy necessari la pipeline CI/CD.

Crea repository per il codice sorgente e per i container

In questa sezione configurerai un repository in Cloud Source Repositories codice sorgente e un repository in Artifact Registry per archiviare i container creato dalla pipeline CI/CD.

  1. Crea un repository in Cloud Source Repositories per archiviare l'origine e collegalo al processo CI/CD:

    gcloud source repos create cicd-sample
    
  2. Assicurati che le configurazioni di Cloud Deploy abbiano come target il progetto corretto:

    sed -i s/project-id-placeholder/$(gcloud config get-value project)/g deploy/*
    git config --global credential.https://source.developers.google.com.helper gcloud.sh
    git remote add google https://source.developers.google.com/p/$(gcloud config get-value project)/r/cicd-sample
    
  3. Esegui il push del codice sorgente nel repository:

    git push --all google
    
  4. Crea un repository di immagini in Artifact Registry:

    gcloud artifacts repositories create cicd-sample-repo \
        --repository-format=Docker \
        --location us-central1
    

Ora hai un repository per il codice sorgente in Cloud Source Repositories e uno per il container di applicazioni in Artifact Registry. Cloud Source Repositories Il repository consente di clonare il codice sorgente e collegarlo a CI/CD una pipeline o un blocco note personalizzato.

Configura la pipeline CI/CD

In questa sezione, agirai come operatore dell'applicazione e configurerai la pipeline CI/CD. La pipeline utilizza Cloud Build per CI e Cloud Deploy per CD. I passaggi della pipeline sono definiti il trigger di Cloud Build.

  1. Crea un bucket Cloud Storage per Cloud Build per archiviare il file artifacts.json (che tiene traccia degli artefatti generati Skaffold per ogni build):

    gcloud storage buckets create gs://$(gcloud config get-value project)-gceme-artifacts/
    

    Archiviare il file artifacts.json di ogni build in una posizione centrale perché garantisce la tracciabilità e ciò semplifica la risoluzione dei problemi.

  2. Esamina il file cloudbuild.yaml, che definisce Cloud Build ed è già configurata nel repository di origine che hai clonato.

    Questo file definisce il trigger richiamato ogni volta che viene eseguito un nuovo push al ramo principale del repository di codice sorgente.

    I seguenti passaggi per la pipeline CI/CD sono definiti nella sezione File cloudbuild.yaml:

    • Cloud Build utilizza Skaffold per creare l'applicazione containerizzato.

    • Cloud Build inserisce il file artifacts.json della build nel nel bucket Cloud Storage.

    • Cloud Build inserisce il container dell'applicazione Artifact Registry.

    • Cloud Build esegue test sul container dell'applicazione.

    • Il comando gcloud deploy apply registra con il servizio Cloud Deploy:

      • deploy/pipeline.yaml, che è la pipeline di distribuzione
      • deploy/staging.yaml e deploy/prod.yaml, che sono file di destinazione

      Una volta registrati i file, Cloud Deploy crea pipeline e target se non esistono ancora, oppure li ricrea se la configurazione è cambiata. I target sono la gestione temporanea e la produzione ambienti cloud-native.

    • Cloud Deploy crea una nuova release per la pipeline di distribuzione.

      Questa release fa riferimento al container dell'applicazione che è stato creato vengono testate nel processo CI.

    • Cloud Deploy esegue il deployment della release nell'ambiente di gestione temporanea.

    La pipeline di distribuzione e i target sono gestiti da Cloud Deploy e sono disaccoppiati dal codice sorgente. Questo disaccoppiamento significa che aggiornare la pipeline di distribuzione e i file di destinazione quando viene apportata una modifica al codice sorgente dell'applicazione.

  3. Crea il trigger di Cloud Build:

    gcloud beta builds triggers create cloud-source-repositories \
        --name="cicd-sample-main" \
        --repo="cicd-sample" \
        --branch-pattern="main" \
        --build-config="cloudbuild.yaml"
    

    Questo trigger indica a Cloud Build di monitorare il repository di codice sorgente di utilizzare il file cloudbuild.yaml per reagire a eventuali modifiche al repository. Questo trigger viene richiamato ogni volta che viene eseguito un nuovo push al ramo principale.

  4. Vai alla pagina Cloud Build nella console Google Cloud.

    Vai a Cloud Build

    Nota che non sono presenti build per l'applicazione.

A questo punto hai configurato le pipeline CI e CD e creato un trigger sulla ramo principale del repository.

Apporta una modifica all'applicazione nell'area di lavoro per sviluppatori

In questa sezione, agirai come sviluppatore dell'applicazione.

Durante lo sviluppo dell'applicazione, apporti e verifichi le modifiche iterative al utilizzando Cloud Code come area di lavoro di sviluppo:

  • Apporta una modifica all'applicazione.
  • Creare e testare il nuovo codice.
  • esegui il deployment dell'applicazione nel cluster minikube e verifica per gli utenti.
  • Invia la modifica al repository principale.

Quando viene eseguito il commit di questa modifica nel repository principale, Il trigger di Cloud Build avvia la pipeline CI/CD.

Crea, testa ed esegui l'applicazione

In questa sezione imparerai a creare, testare, eseguire il deployment e accedere alla tua applicazione.

Usa la stessa istanza dell'editor di Cloud Shell che hai utilizzato nella precedente. Se hai chiuso l'editor, apri nel browser nell'editor di Cloud Shell ide.cloud.google.com.

  1. Nel terminale, avvia minikube:

    minikube start
    

    minikube configura un cluster Kubernetes locale in Cloud Shell. L'esecuzione di questa configurazione richiede alcuni minuti. Una volta completato, viene eseguito in background sull'istanza di Cloud Shell.

  2. Nel riquadro nella parte inferiore dell'editor di Cloud Shell, seleziona Cloud Code.

  3. Nel riquadro sottile visualizzato tra il terminale e l'editor, seleziona Esegui su Kubernetes.

    Se viene visualizzato il messaggio Use current context (minikube) to run the app?, fai clic su .

    Questo comando crea il codice sorgente ed esegue i test. L'operazione può richiedere alcuni minuti. I test includono i test delle unità e una fase di convalida preconfigurata che verifica le regole impostate per l'ambiente di deployment. Ciò garantisce che riceverai un avviso in caso di problemi di deployment anche mentre stai lavorando di sviluppo software.

    La scheda Output mostra l'avanzamento di Skaffold durante la creazione e il deployment un'applicazione.

    Tieni aperta questa scheda per tutta la durata di questa sezione.

    Al termine della build e dei test, la scheda Output riporta il testo Update succeeded, e mostra due URL.

    Durante la creazione e il test dell'app, Cloud Code esegue il flusso di dati log e URL nella scheda Output. Quando apporti modifiche ed esegui test nel tuo ambiente di sviluppo, puoi vedere dell'app e verifica che funzioni correttamente.

    L'output indica anche Watching for changes..., il che significa che guarda sia attiva. Mentre Cloud Code è in modalità di visualizzazione, il servizio rileva eventuali modifiche salvate nel repository ricrea automaticamente l'app e ne esegue il deployment con le ultime modifiche.

  4. Nel terminale Cloud Code, tieni il puntatore sul primo URL nella di output (http://localhost:8080).

  5. Nella descrizione comando visualizzata, seleziona Apri anteprima web.

    In background, Cloud Code esegue automaticamente il port forwarding traffico al servizio cicd-sample in esecuzione su minikube.

  6. Aggiorna la pagina nel browser.

    Il numero accanto a Contatore aumenta, per indicare che l'app è a rispondere all'aggiornamento.

    Nel browser, tieni aperta questa pagina in modo da poter visualizzare il quando apporti modifiche nel tuo ambiente locale.

Ora hai creato e testato la tua applicazione nell'ambiente di sviluppo. Hai eseguito il deployment dell'applicazione nel cluster di sviluppo in esecuzione minikube e ha visualizzato il comportamento dell'applicazione rivolto agli utenti.

apporta una modifica

In questa sezione apporti una modifica all'applicazione e visualizzi la modifica man mano che l'app viene eseguita nel cluster di sviluppo.

  1. Nell'editor di Cloud Shell, apri il file index.html.

  2. Cerca la stringa Sample App Info e modificala in sample app info, in modo che il titolo ora utilizzi lettere minuscole.

    Il file viene salvato automaticamente, attivando una nuova build dell'applicazione containerizzato.

    Cloud Code rileva la modifica ed ne esegue nuovamente il deployment automaticamente. La La scheda Output mostra Update initiated. Questo nuovo deployment richiede alcune minuti per l'esecuzione.

    Questa funzionalità di rideployment automatico è disponibile per qualsiasi applicazione in esecuzione per un cluster Kubernetes.

  3. Al termine della creazione, apri il browser su cui è installata l'app aprila e aggiorna la pagina.

    Quando aggiorni la pagina, vedrai che il testo ora utilizza lettere minuscole.

Questa configurazione consente il ricaricamento automatico per qualsiasi architettura, con qualsiasi componenti. Quando usi Cloud Code e minikube, tutto ciò che in esecuzione in Kubernetes dispone di questa funzionalità di ricaricamento del codice a caldo.

Puoi eseguire il debug delle applicazioni di cui è stato eseguito il deployment in un cluster Kubernetes in Cloud Code. Questi passaggi non sono trattati in questa guida al deployment, ma per maggiori dettagli, vedi Debug di un'applicazione Kubernetes.

Esegui il commit del codice

Ora che hai apportato una modifica all'applicazione, puoi eseguire il commit del codice.

  1. Configura la tua identità Git:

    git config --global user.email "YOU@EXAMPLE.COM"
    git config --global user.name "NAME"
    

    Sostituisci quanto segue:

    • YOU@EXAMPLE.COM: l'indirizzo email collegato al tuo account GitHub.
    • NAME: il nome connesso al tuo GitHub .
  2. Dal terminale, esegui il commit del codice:

    git add .
    git commit -m "use lowercase for: sample app info"
    

    Non è necessario eseguire il comando git push qui. Questo avviene più tardi.

Lavorando nell'ambiente di sviluppo, hai apportato una modifica l'applicazione, ha creato e testato la modifica e ha verificato l'interfaccia utente il comportamento di queste modifiche. I test nell'ambiente di sviluppo includono controlli di governance, che ti consentono di risolvere i problemi nell'ambiente di produzione.

In questa guida al deployment, quando esegui il commit del codice nel repository principale, non venga sottoposta a una revisione del codice. Tuttavia, una revisione del codice o l'approvazione della modifica è un processo consigliato per lo sviluppo del software.

Per ulteriori informazioni sulle best practice per l'approvazione delle modifiche, consulta Semplificazione dell'approvazione delle modifiche.

Esegui il deployment di una modifica in produzione

In questa sezione, agirai come operatore dell'applicazione e:

  • Attiva la pipeline CI/CD, che esegue il deployment della release in dell'ambiente di gestione temporanea.
  • Promuovi e approva la release in produzione.

Avvia la pipeline CI/CD ed esegui il deployment in gestione temporanea

In questa sezione, inizierai la pipeline CI/CD richiamando il metodo del trigger di Cloud Build. Questo trigger viene richiamato ogni volta che viene apportata una modifica nel repository principale. Puoi anche avviare il sistema CI con un attivazione manuale.

  1. Nell'editor di Cloud Shell, esegui questo comando per attivare una build:

    git push google
    

    Questa build include la modifica che hai apportato a cicd-sample.

  2. Torna a Dashboard di Cloud Build e vedrai che viene creata una build.

  3. Fai clic su Running: cicd-sample - cicd-sample-main nel log della build a destra e cerca il testo blu che indica l'inizio e la fine di ogni passaggio.

    Il passaggio 0 mostra l'output di skaffold build e skaffold test istruzioni dal file cloudbuild.yaml. Le attività di creazione e test in È stato superato il passaggio 0 (la parte CI della pipeline), quindi il deployment vengono eseguite le attività del Passaggio 1 (la parte CD della pipeline).

    Questo passaggio termina con il seguente messaggio:

    Created Cloud Deploy rollout ROLLOUT_NAME in target staging

  4. Apri l'app Pagina delle pipeline di distribuzione di Cloud Deploy e fai clic sulla pipeline cicd-sample delivery.

    Il deployment dell'applicazione viene eseguito in fase temporanea, ma non in produzione.

  5. Verifica che l'applicazione funzioni correttamente nella gestione temporanea:

    kubectl proxy --port 8001 --context gke_$(gcloud config get-value project)_us-central1_staging
    

    Questo comando configura un proxy kubectl per accedere all'applicazione.

  6. Accedi all'applicazione da Cloud Shell:

    1. Nell'editor di Cloud Shell, apri una nuova scheda del terminale.

    2. Invia una richiesta a localhost per incrementare un contatore:

      curl -s http://localhost:8001/api/v1/namespaces/default/services/cicd-sample:8080/proxy/ | grep -A 1 Counter
      

      Puoi eseguire questo comando più volte e osservare il valore del contatore aumenta ogni volta.

      Mentre visualizzi l'app, nota che il testo che hai modificato si trova nella versione dell'applicazione di cui hai eseguito il deployment in fase temporanea.

    3. Chiudi la seconda scheda.

    4. Nella prima scheda, premi Control+C per arrestare il proxy.

Hai richiamato il trigger di Cloud Build avviare il processo CI, che include la creazione dell'applicazione, il deployment all'ambiente di gestione temporanea ed eseguendo test per verificare che l'applicazione nella gestione temporanea.

Il processo CI ha esito positivo quando le build del codice e i test superano la dell'ambiente di gestione temporanea. Il successo del processo CI avvia quindi la CD in Cloud Deploy.

Promuovi la release in produzione

In questa sezione promuovi il passaggio dalla gestione temporanea alla produzione. La target di produzione è preconfigurato per richiedere l'approvazione, quindi puoi approvarlo.

Per la tua pipeline CI/CD, potresti voler utilizzare una strategia di deployment il deployment è graduale, prima di eseguirlo e produzione. Un lancio graduale del deployment può facilitare il rilevamento problemi e, se necessario, ripristinare una release precedente.

Per promuovere la release in produzione:

  1. Apri l'app Cloud Deploy Panoramica delle pipeline di distribuzione e seleziona la pipeline cicd-sample.

  2. Promuovi il deployment dalla gestione temporanea alla produzione. A questo scopo, procedi nel seguente modo: seguenti:

    1. Nel diagramma della pipeline nella parte superiore della pagina, fai clic sul pulsante blu Pulsante Promuovi nella casella di gestione temporanea.

    2. Nella finestra che si apre, fai clic sul pulsante Promuovi in basso.

    Il deployment non è ancora in esecuzione in produzione. Sta aspettando necessaria l'approvazione manuale.

  3. Approva manualmente il deployment:

    1. Nella visualizzazione della pipeline, fai clic sul pulsante Rivedi tra i di gestione temporanea e produzione.

    2. Nella finestra che si apre, fai clic sul pulsante Rivedi.

    3. Nella finestra successiva, fai clic su Approva.

    4. Torna a Panoramica delle pipeline di distribuzione di Cloud Deploy e seleziona la pipeline cicd-sample.

  4. Dopo la visualizzazione della pipeline, la casella di produzione è verde (ovvero una dell'implementazione), verifica che l'applicazione funzioni in produzione per configurare un proxy kubectl che usi per accedere all'applicazione:

    kubectl proxy --port 8002 --context gke_$(gcloud config get-value project)_us-central1_prod
    
  5. Accedi all'applicazione da Cloud Shell:

    1. Nell'editor di Cloud Shell, apri una nuova scheda del terminale.

    2. Aumenta il contatore:

      curl -s http://localhost:8002/api/v1/namespaces/default/services/cicd-sample:8080/proxy/ | grep -A 1 Counter
      

      Puoi eseguire questo comando più volte e controllare il contatore aumenta ogni volta.

    3. Chiudi la seconda scheda del terminale.

    4. Nella prima scheda, premi Control+C per arrestare il proxy.

Hai promosso e approvato il deployment di produzione. L'applicazione con la modifica recente è ora in esecuzione in produzione.

Esegui la pulizia

Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate. in questa guida al deployment, eliminare il progetto che contiene le risorse, o mantenere il progetto ed eliminare le singole risorse.

Opzione 1: elimina il progetto

  1. Nella console Google Cloud, vai alla pagina Gestisci risorse.

    Vai a Gestisci risorse

  2. Nell'elenco dei progetti, seleziona il progetto che vuoi eliminare, quindi fai clic su Elimina.
  3. Nella finestra di dialogo, digita l'ID del progetto e fai clic su Chiudi per eliminare il progetto.

Opzione 2: elimina le singole risorse

  1. Elimina la pipeline di Cloud Deploy:

    gcloud deploy delivery-pipelines delete cicd-sample --region=us-central1 --force
    
  2. Elimina il trigger di Cloud Build:

    gcloud beta builds triggers delete cicd-sample-main
    
  3. Elimina i cluster di gestione temporanea e produzione:

    gcloud container clusters delete staging
    
    gcloud container clusters delete prod
    
  4. Elimina il repository in Cloud Source Repositories:

    gcloud source repos delete cicd-sample
    
  5. Elimina i bucket Cloud Storage:

    gcloud storage rm -r gs://$(gcloud config get-value project)-gceme-artifacts/
    
    gcloud storage rm -r gs://$(gcloud config get-value project)_clouddeploy/
    
  6. Elimina il repository in Artifact Registry:

    gcloud artifacts repositories delete cicd-sample-repo \
        --location us-central1
    

Passaggi successivi