Code Stream può essere integrato con vRealize Orchestrator (vRO) per estenderne la funzionalità mediante l'esecuzione dei workflow di vRO. vRealize Orchestrator include molti workflow predefiniti che possono essere integrati con strumenti di terze parti. Questi workflow consentono di automatizzare e gestire i processi DevOps, automatizzare le operazioni in massa e molto altro.

Ad esempio, è possibile utilizzare un workflow in un'attività vRO nella propria pipeline per abilitare un utente, rimuovere un utente, spostare macchine virtuali, eseguire l'integrazione con i framework di test per testare il codice quando vengono eseguite le pipeline e molto altro. È possibile trovare esempi di codice per i workflow vRealize Orchestrator in code. vmware. com.

Con un workflow vRealize Orchestrator, la pipeline può eseguire un'azione quando crea, testa e distribuisce l'applicazione. È possibile includere workflow predefiniti nella pipeline oppure si possono creare e utilizzare workflow personalizzati. Ciascun workflow include input, attività e output.

Per eseguire un workflow vRO nella pipeline, questo deve essere visualizzato nell'elenco dei workflow disponibili nell'attività vRO che viene inclusa nella pipeline.

Prima che il workflow possa essere visualizzato nell'attività vRO nella pipeline, è necessario che un amministratore esegua i seguenti passaggi in vRealize Orchestrator:

  1. Applicare il tag CODESTREAM al workflow vRO.
  2. Contrassegnare il workflow vRO come globale.

Prerequisiti

  • Verificare che, in qualità di amministratore, sia possibile accedere a un'istanza locale di vRealize Orchestrator. Per ricevere assistenza, consultare l'amministratore e la documentazione di vRealize Orchestrator.
  • Verificare di essere un membro di un progetto in Code Stream. In caso contrario, chiedere a un amministratore di Code Stream di essere aggiunti come membri di un progetto. Vedere Come aggiungere un progetto in Code Stream.
  • In Code Stream creare una pipeline e aggiungere una fase.

Procedura

  1. In qualità di amministratore, preparare un workflow di vRealize Orchestrator per l'esecuzione della pipeline.
    1. In vRealize Orchestrator, trovare il workflow che è necessario utilizzare nella pipeline, ad esempio un workflow per abilitare un utente.
      Se è necessario un workflow che non esiste, è possibile crearlo.
    2. Nella barra di ricerca, immettere Tag workflow per trovare il workflow denominato Tag workflow.
    3. Nella scheda denominata Tag workflow, fare clic su Esegui. Viene visualizzata l'area di configurazione.
    4. Nell'area di testo Tagged workflow, immettere il nome del workflow da utilizzare nella pipeline di Code Stream, quindi selezionarlo nell'elenco.
    5. Nelle aree di testo Tag e Value, immettere CODESTREAM in lettere maiuscole.
    6. Fare clic sulla casella di controllo Tag globale.
    7. Fare clic su Esegui per collegare il tag denominato CODESTREAM al workflow che è necessario selezionare nella pipeline di Code Stream.
    8. Nel riquadro di spostamento, fare clic su Workflow e verificare che il tag denominato CODESTREAM sia presente nella scheda del workflow che verrà eseguito dalla pipeline.
      Dopo aver effettuato l'accesso a Code Stream e aver aggiunto un'attività di vRO alla pipeline, nell'elenco dei workflow viene visualizzato il workflow con tag.
  2. In Code Stream creare un endpoint per l'istanza di vRealize Orchestrator.
    1. Fare clic su Endpoint > Nuovo endpoint.
    2. Selezionare un progetto.
    3. Immettere un nome pertinente.
    4. Immettere l'URL dell'endpoint di vRealize Orchestrator.
      Utilizzare il seguente formato: https://vro-appliance.yourdomain.local:8281
      Non utilizzare il seguente formato: https://vro-appliance.yourdomain.local:8281/vco/api
      L'URL di un'istanza di vRealize Orchestrator integrata nell'appliance vRealize Automation è il nome di dominio completo per l'appliance senza porta. Per esempio: https://vra-appliance.yourdomain.local/vco
      Per le appliance vRealize Orchestrator esterne a partire da vRealize Automation 8.x, il nome di dominio completo per l'appliance è https://vro-appliance.yourdomain.local
      Per le appliance vRealize Orchestrator esterne incluse con vRealize Automation 7.x, il nome di dominio completo per l'appliance è https://vro-appliance.yourdomain.local:8281/vco
      Se si verifica un problema quando si aggiunge l'endpoint, potrebbe essere necessario importare una configurazione YAML con un'impronta digitale del certificato SHA-256 con i due punti rimossi. Ad esempio, B0:01:A2:72... diventa B001A272.... Il codice YAML di esempio è simile a:
      ```
      ---
      project: Demo
      kind: ENDPOINT
      name: external-vro
      description: ''
      type: vro
      properties:
        url: https://yourVROhost.yourdomain.local
        username: yourusername
        password: yourpassword
        fingerprint: <your_fingerprint>
      ```
    5. Fare clic su Accetta certificato nel caso in cui l'URL immesso necessiti di un certificato.
    6. Se la versione dell'endpoint di vRealize Orchestrator è compresa tra 8.0 e 8.7, è possibile selezionare Autenticazione di base o Token per il tipo di autenticazione. Se la versione dell'endpoint di vRealize Orchestrator è 8.8 o successiva, è necessario selezionare Token come tipo di autenticazione.
      Nota: Se la versione dell'endpoint vRealize Orchestrator è 8.8 o successiva, non selezionare Autenticazione di base. L'autenticazione di base non è supportata e la creazione dell'endpoint non riuscirà.
      • Se si seleziona Autorizzazione di base, immettere il nome utente e la password del server di vRealize Orchestrator.

        Se si utilizza un utente non locale per l'autenticazione, è necessario omettere la parte del dominio del nome utente. Ad esempio, per eseguire l'autenticazione con [email protected], è necessario immettere svc_vro nell'area di testo Nome utente.

      • Se si seleziona Token per il tipo di autenticazione, generare il token privato.
        Il token dell'API VMware Cloud Services autentica l'utente per le connessioni API esterne con Code Stream. Per ottenere il token API:
        1. Fare clic su Genera Token.
        2. Immettere l'indirizzo e-mail associato al nome utente e alla password, quindi fare clic su Genera.
          Il token generato è valido per sei mesi. È anche noto come token di aggiornamento.
          • Per mantenere il token come una variabile per un utilizzo futuro, fare clic su Crea variabile, assegnare un nome alla variabile e fare clic su Salva.
          • Per mantenere il token come valore di testo per un utilizzo futuro, fare clic su Copia e incollare il token in un file di testo da salvare in locale.
          È possibile scegliere di creare una variabile e archiviare il token in un file di testo per un utilizzo futuro.
        3. Fare clic su Chiudi.
  3. Preparare la pipeline per eseguire l'attività vRO.
    1. Aggiungere un'attività vRO alla fase della pipeline.
    2. Immettere un nome pertinente.
    3. Nell'area Proprietà workflow selezionare l'endpoint vRealize Orchestrator.
    4. Selezionare il workflow che è stato contrassegnato come CODESTREAM in vRealize Orchestrator.
      Se si seleziona un workflow personalizzato creato dall'utente, potrebbe essere necessario immettere i valori dei parametri di input.
    5. Per Esegui attività, fare clic su Su condizione.
      Se è necessario applicare condizioni per l'attività vRealize Orchestrator, immetterle nell'area Condizione.
    6. Immettere le condizioni che si applicano quando viene eseguita la pipeline.
      Quando eseguire pipeline... Selezionare le condizioni...
      Su condizione

      Esegue l'attività della pipeline solo se la condizione definita viene valutata come true. Se la condizione è false, l'attività viene ignorata.

      L'attività vRO consente di includere un'espressione booleana, che utilizza i seguenti operandi e operatori.

      • Variabili di pipeline come ${pipeline.variableName}. Quando si immettono le variabili, utilizzare solo le parentesi graffe.
      • Variabili di output dell'attività, ad esempio ${Stage1.task1.machines[0].value.hostIp[0]}.
      • Variabili di associazione delle pipeline predefinite, ad esempio ${releasePipelineName}.
      • Valori booleani con distinzione tra maiuscole e minuscole, ad esempio true, false, 'true', 'false'.
      • Valori interi o decimali senza virgolette.
      • Valori stringa utilizzati con virgolette singole o doppie, ad esempio "test", 'test'.
      • Tipi stringa e numerici di valori, quali == Equals e != Not Equals.
      • Operatori relazionali quali >, >=, < e <=.
      • Logica booleana, ad esempio && e ||.
      • Operatori aritmetici quali +, -, * e /.
      • Espressioni nidificate che utilizzano parentesi tonde.
      • Le stringhe che includono il valore letterale ABCD vengono valutate come false e l'attività viene ignorata.
      • Gli operatori unari non sono supportati.

      Una condizione di esempio potrebbe essere ${Stage1.task1.output} == “Passed” || ${pipeline.variableName} == 39

      Sempre Se si seleziona Sempre, la pipeline esegue l'attività senza condizioni.
    7. Immettere un messaggio di saluto.
    8. Fare clic su Convalida attività e correggere gli eventuali errori che si verificano.
  4. Salvare, abilitare ed eseguire la pipeline.
  5. Dopo l'esecuzione della pipeline, esaminare i risultati.
    1. Fare clic su Esecuzioni.
    2. Fare clic sulla pipeline.
    3. Fare clic sull'attività.
    4. Esaminare i risultati, il valore di input e le proprietà.
      È possibile identificare l'ID di esecuzione del workflow, chi ha risposto all'attività e quando, nonché tutti i commenti che ha incluso.

risultati

Congratulazioni! È stato contrassegnato un workflow vRealize Orchestrator per l'utilizzo in Code Stream ed è stata aggiunta un'attività vRO nella pipeline di Code Stream in modo che esegua un workflow che automatizza un'azione nell'ambiente DevOps.

Esempio: Formato output dell'attività vRO

Il formato di output per un'attività vRO è simile a questo esempio.

[{
                "name": "result",
                "type": "STRING",
                "description": "Result of workflow run.",
                "value": ""
},
{
                "name": "message",
                "type": "STRING",
                "description": "Message",
                "value": ""
}]

Operazioni successive

Continuare a includere le attività di workflow vRO nelle pipeline in modo da poter automatizzare le attività negli ambienti di sviluppo, test e produzione.