Aggiunta di una fase shell

La fase Shell consente di eseguire comandi personalizzati nella pipeline di distribuzione. Questa fase può essere aggiunta in qualsiasi punto della pipeline di distribuzione.

È necessario preparare un file YAML con la specifica di comando contenente tutti i passi che si desidera eseguire durante la distribuzione. La specifica del comando viene eseguita su un host dell'istanza del contenitore nel compartimento e nella subnet selezionati nella tenancy. È possibile scegliere una configurazione di istanza diversa prima della distribuzione. Vedere Dettagli runtime immagine contenitore shell. Quando si esegue la pipeline di distribuzione, è possibile visualizzare l'esecuzione dei passi definiti nella specifica di comando nell'output e nei log della pipeline. Per una sintassi ed un esempio della specifica dei comandi, vedere Specifica dei comandi.

Vantaggi principali dell'aggiunta di una fase shell

  • Automatizza le distribuzioni sulle piattaforme OCI, come le istanze di mesh dei servizi e container, utilizzando l'interfaccia CLI OCI e altri strumenti preinstallati. Vedere Dettagli runtime immagine contenitore shell.

    L'interfaccia CLI OCI è preautenticata per utilizzare il principal della risorsa pipeline per accedere alle risorse OCI.

  • Eseguire una migrazione dello schema di database utilizzando strumenti della riga di comando quali Oracle SQL Developer Command Line (SQLcl).
  • Utilizzare qualsiasi parametro della pipeline facendo riferimento a tali parametri nella specifica. Sostituire inoltre parametri e variabili durante l'esecuzione della distribuzione.
  • Eseguire i test di integrazione sugli artifact prima della distribuzione in produzione.
  • Personalizzare il flusso di lavoro DevOps. Ad esempio, è possibile attendere che alcune risorse siano pronte prima che la pipeline distribuisca risorse aggiuntive.

Prima di creare la pipeline, è necessario disporre di un progetto DevOps e di un artifact di specifica dei comandi. Gli artifact possono essere definiti in linea o posizionati nel registro artifact.

    1. Aprire il menu di navigazione e fare clic su Servizi per sviluppatori. In DevOps fare clic su Progetti.
    2. Selezionare un progetto e fare clic su Crea pipeline.
    3. Immettere un nome e una descrizione per la pipeline. L'aggiunta di una descrizione è facoltativa.
    4. Per Tipo di pipeline, selezionare Crea una pipeline di distribuzione.
    5. Fare clic su Crea pipeline.
    6. Per aggiungere una fase alla nuova pipeline, fare clic sull'icona + e selezionare Aggiungi fase.
    7. Selezionare Integrazioni - Shell, quindi fare clic su Successivo.
    8. Immettere un nome e una descrizione facoltativa per la fase.
    9. Fare clic su Seleziona artifact, quindi selezionare l'artifact di specifica dei comandi disponibile da distribuire.
    10. Selezionare il compartimento per creare l'istanza del contenitore in cui viene eseguita la specifica.

      È possibile conservare il compartimento predefinito visualizzato.

    11. Selezionare un dominio di disponibilità.
    12. Selezionare una forma per l'istanza del contenitore tra le opzioni specificate. Puoi anche selezionare il numero di OCPU e la quantità di memoria per l'istanza.

      L'istanza del contenitore (in base alla forma di computazione selezionata) viene addebitata durante la distribuzione in base al modello di determinazione prezzi per le istanze del contenitore. Vedere Prezzi delle istanze di container.

      1. Selezionare una rete cloud virtuale (VCN) e una subnet regionale nella tenancy. È possibile selezionare una subnet pubblica o privata.

        Quando viene eseguito il comando, viene creata una scheda VNIC (Virtual Network Interface Card) nella subnet selezionata. Assicurarsi che la subnet disponga di un percorso di rete per OCI Container Registry. Se un comando qualsiasi deve gestire altre risorse OCI, questo deve essere gestito anche per garantire che sia il percorso di rete che il criterio siano impostati correttamente.

      2. (Facoltativo) Per limitare l'accesso alla rete VCN, è possibile selezionare i gruppi di sicurezza di rete (NSG) nelle reti VCN.
      3. (Facoltativo) Immettere un valore di timeout (in secondi) per la fase.
    13. (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.

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

      Un'anteprima fase fornisce uno snapshot della configurazione.

    Aggiungere altre fasi in sequenza o in parallelo alla pipeline, se necessario. Per distribuire l'output della build nell'ambiente di destinazione, eseguire la pipeline di distribuzione.

    Per attivare automaticamente una distribuzione dalla pipeline di build, è possibile aggiungere una fase di distribuzione del trigger alla pipeline di build.

  • Per creare una pipeline di distribuzione, eseguire il comando create:

    oci devops deploy-pipeline create --project-id

    Per creare una fase della shell, eseguire il comando create-shell-stage:

    oci devops deploy-stage create-shell-stage

    Parametri richiesti per il comando create-shell-stage:

    • --pipeline-id
    • --stage-predecessor-collection
    • --command-spec-artifact-id
    • --container-config

    Per ottenere tutti i comandi per deploy-pipeline e deploy-stage:

    oci devops deploy-pipeline -h
    oci devops deploy-stage -h

    Per ottenere assistenza per il comando create-shell-stage:

    oci devops deploy-stage create-shell-stage -h
  • Per creare una pipeline di distribuzione, utilizzare l'operazione CreateDeployPipeline.

    Per aggiungere una fase shell alla pipeline, utilizzare l'operazione CreateDeployStage. Per l'attributo deployStageType, specificare il valore SHELL.