In qualità di sviluppatore, si necessita di una pipeline che recuperi un modello cloud di automazione da un'istanza di GitHub locale ogni volta che si conferma una modifica. È necessario che la pipeline distribuisca un'applicazione WordPress in Amazon Web Services (AWS) EC2 o in un data center. Code Stream richiama il modello cloud dalla pipeline e ne automatizza l'integrazione e la consegna continue (CICD) per distribuire l'applicazione.

Per creare e attivare la pipeline, è necessario un modello cloud di VMware.

In Origine modello cloud nell'attività del modello cloud di Code Stream, è possibile selezionare:

  • Modello Cloud Assembly come controllo dell'origine. In questo caso, non è necessario un repository GitLab o GitHub.
  • Controllo origine se si utilizza GitLab o GitHub per il controllo dell'origine. In questo caso, è necessario disporre di un webhook Git e attivare la pipeline tramite il webhook.

Se si dispone di un modello cloud YAML nel repository GitHub e si desidera utilizzare tale modello cloud nella pipeline, procedere nel modo seguente.

  1. In Cloud Assembly, inserire il modello cloud nel repository GitHub.
  2. In Code Stream, creare un endpoint Git. Creare quindi un webhook Git che utilizzi l'endpoint Git e la pipeline.
  3. Per attivare la pipeline, aggiornare un file qualsiasi nel repository GitHub e confermare la modifica.

Se non si dispone di un modello cloud YAML nel repository GitHub e si desidera utilizzare un modello cloud dal controllo dell'origine, utilizzare questa procedura. Mostra come creare un modello cloud per un'applicazione WordPress e attivarlo da un repository GitHub locale. Ogni volta che si apporta una modifica al modello cloud YAML, la pipeline attiva e automatizza il rilascio dell'applicazione.

  • In Cloud Assembly, aggiungere un account cloud e una zona cloud, quindi creare il modello cloud.
  • In Code Stream, aggiungere un endpoint per il repository GitHub locale che ospita il modello cloud. Aggiungere quindi il modello cloud alla pipeline.

Questo esempio di caso d'uso illustra come utilizzare un modello cloud da un repository GitHub locale.

Il workflow consente di navigare nel processo che automatizza il rilascio di un'applicazione distribuita da un modello cloud YAML.

Prerequisiti

  • Aggiungere un account cloud e una zona cloud nell'infrastruttura di vRealize Automation Cloud Assembly. Vedere la documentazione di vRealize Automation Cloud Assembly.
  • Per creare il modello cloud nella procedura seguente, copiare il codice YAML di WordPress negli Appunti. Vedere il codice YAML del modello cloud nel caso d'uso di WordPress nella documentazione di vRealize Automation Cloud Assembly.
  • Aggiungere il codice YAML per l'applicazione WordPress all'istanza di GitHub.
  • Aggiungere un webhook per il trigger Git in modo che la pipeline possa estrarre il codice YAML ogni volta se ne confermano le modifiche. In Code Stream, fare clic su Trigger > Git > Webhook per Git.
  • Per utilizzare un'attività del modello cloud, è necessario disporre di uno qualsiasi dei ruoli di Cloud Assembly.

Procedura

  1. In Cloud Assembly eseguire i passaggi seguenti.
    1. Fare clic su VMware Cloud Templates, quindi creare un modello cloud e una distribuzione per l'applicazione WordPress.
    2. Incollare nel modello cloud il codice YAML di WordPress copiato negli Appunti e distribuirlo.
      Utilizzando il codice YAML, il modello cloud crea il livello database, il livello Web e la rete nella distribuzione.
  2. In Code Stream creare endpoint.
    1. Creare un endpoint Git per il repository GitHub locale in cui si trova il file YAML.
    2. Aggiungere un endpoint email che può notificare agli utenti lo stato della pipeline quando viene eseguita.
      Quando si aggiungere un endpoint email, è necessario impostare il metodo di crittografia e il protocollo in uscita.
  3. Creare una pipeline e aggiungere notifiche relative all'esito della pipeline.
    Quando si aggiunge una notifica email, è possibile selezionare uno degli stati della pipeline e quindi il server e i destinatari.
  4. Aggiungere una fase per lo sviluppo e aggiungere un'attività Modello cloud.
    1. Aggiungere un'attività modello cloud che distribuisce la macchina e configurarla in modo che utilizzi il codice YAML del modello cloud per l'applicazione WordPress.
      resources:
        DBTier:    
          type: Cloud.Machine    
          properties:      
              name: mysql      
              image: 'ubuntu-16'      
              flavor: 'small'      
              constraints:        
                  -   tag: zone:dev
        WebTier:
          type: Cloud.Machine    
          properties:     
              name: wordpress      
              image: 'ubuntu-16'      
              flavor: 'small'      
              constraints:        
                  - tag: zone:dev
       WP-Network-Private:
          type: Cloud.Network
          properties:
              name: WP-Network-Private
              networkType: existing
              constraints:
                  - tag: 'type:isolated-net'
                  - tag: 'zone:dev'
    2. Aggiungere un'attività modello cloud che elimini definitivamente la macchina per liberare risorse.
  5. Aggiungere una fase per la produzione e includere le attività di approvazione e distribuzione.
    1. Aggiungere un'attività operazione utente per richiedere l'approvazione per rilasciare l'applicazione WordPress alla produzione.
    2. Aggiungere un'attività modello cloud per distribuire la macchina e configurarla con il codice YAML del modello cloud per l'applicazione WordPress.
      Quando si seleziona Crea, il nome della distribuzione deve essere univoco. Se il nome non viene specificato, Code Stream assegna un nome casuale univoco.
      Ecco cosa è necessario sapere se si seleziona Rollback nel proprio caso d'uso: se si seleziona l'azione Rollback e si immette una Versione di rollback, la versione deve essere nel formato n-X. Ad esempio, n-1, n-2, n-3 e così via. Se si crea e si aggiorna la distribuzione in una posizione diversa da Code Stream, il rollback non è consentito.
      Quando si accede a Code Stream, viene recuperato un token utente, che ha una validità di 30 minuti. Per le durate della pipeline con esecuzione prolungata, quando l'esecuzione dell'attività che precede l'attività del modello cloud richiede 30 minuti o più, il token utente scade. Di conseguenza, l'attività del modello cloud non riesce.
      Per garantire che la pipeline possa durare più di 30 minuti, è possibile immettere un token API facoltativo. Quando Code Stream richiama il modello cloud, il token API persiste e l'attività del modello cloud continua a utilizzare il token API.
      Quando si utilizza il token API come variabile, viene crittografato. In caso contrario, viene utilizzato come testo normale.
      L'attività del modello cloud può utilizzare il modello cloud di VMware in Cloud Assembly o estrarne uno dal controllo dell'origine in un repository GitLab o in un repository GitHub.
  6. Eseguire la pipeline.

    Per verificare che ogni attività sia stata completata, fare clic sull'attività nell'esecuzione e verificare lo stato nei dettagli della distribuzione per visualizzare informazioni dettagliate sulle risorse.

  7. In GitHub modificare la caratteristica dell'istanza del server WordPress da small a medium.
    Quando si confermano le modifiche, la pipeline viene attivata. Estrae il codice aggiornato dal repository GitHub e crea l'applicazione.
    WebTier:
        type: Cloud.Machine    
        properties:     
            name: wordpress      
            image: 'ubuntu-16'      
            flavor: 'medium'      
            constraints:        
                - tag: zone:dev
  8. Eseguire di nuovo la pipeline, verificare che venga completata e che abbia modificato la caratteristica dell'istanza di WordPress da small a medium.

risultati

Congratulazioni! È stata automatizzata la versione dell'applicazione distribuita da un modello cloud YAML.

Operazioni successive

Per ulteriori informazioni su come utilizzare Code Stream, vedere Tutorial sull'utilizzo di Code Stream.

Per ulteriori riferimenti, vedere Altre risorse per amministratori e sviluppatori di Code Stream.