Ad esempio, per distribuire in modo continuativo l'immagine del contenitore aggiornata tramite la pipeline CD, utilizzare il trigger Docker. Quando l'immagine del contenitore viene selezionata nel registro Docker, il webhook in Docker Hub segnala a Automation Pipelines che l'immagine è stata modificata. Questa notifica attiva la pipeline della consegna continua da eseguire con l'immagine del contenitore aggiornata e carica l'immagine nel repository di Docker Hub.
Per utilizzare il trigger Docker, è necessario eseguire diversi passaggi in Automation Pipelines.
Cosa fare... | Ulteriori informazioni su questa azione... |
---|---|
Creare un endpoint del registro Docker. |
Per consentire a Automation Pipelines di attivare la pipeline, è necessario disporre di un endpoint del registro Docker. Se l'endpoint non esiste, è possibile selezionare un'opzione che lo crei quando si aggiunge il webhook per il trigger Docker. L'endpoint del registro Docker include l'URL del repository Docker Hub. |
Aggiungere parametri di input alla pipeline che immettono automaticamente i parametri Docker al momento dell'esecuzione della pipeline. |
È possibile inviare i parametri Docker nella pipeline. I parametri possono includere il nome del proprietario, l'immagine, il nome del repository, lo spazio dei nomi del repository e il tag dell'evento Docker. Nella pipeline CD includere parametri di input che il webhook Docker passa alla pipeline prima che venga attivata. |
Creare un webhook Docker. |
Quando si crea il webhook Docker in Automation Pipelines, viene creato anche un webhook corrispondente in Docker Hub. Il webhook Docker in Automation Pipelines si connette a Docker Hub tramite l'URL che viene incluso nel webhook. I webhook comunicano tra loro e attivano la pipeline quando viene creato o aggiornato un artefatto in Docker Hub. Se si aggiorna o si elimina il webhook Docker in Automation Pipelines, viene aggiornato o eliminato anche il webhook in Docker Hub. |
Aggiungere e configurare un'attività Kubernetes nella pipeline. |
Quando si crea o aggiorna un artefatto nel repository Docker Hub, la pipeline viene attivata. Quindi, distribuisce l'artefatto tramite la pipeline all'host Docker nel cluster Kubernetes. |
Includere una definizione YAML locale nell'attività. |
La definizione YAML applicata all'attività di distribuzione include l'immagine del contenitore Docker. Se è necessario scaricare un'immagine da un repository di proprietà privata, il file YAML deve includere una sezione con il segreto di configurazione di Docker. Vedere la parte CD di Pianificazione di una creazione nativa di integrazione continua e consegna continua in Automation Pipelines prima di utilizzare il modello di pipeline smart |
Quando viene creato o aggiornato un artefatto nel repository Docker Hub, il webhook in Docker Hub invia una notifica al webhook in Automation Pipelines, che attiva la pipeline. Si verificano le seguenti azioni:
- Docker Hub invia una richiesta POST all'URL nel webhook.
- Automation Pipelines esegue il trigger Docker.
- Il trigger Docker avvia la pipeline CD.
- La pipeline CD inserisce l'artefatto nel repository Docker Hub.
- Automation Pipelines attiva il webhook Docker, che esegue una pipeline CD che distribuisce l'artefatto nell'host Docker.
In questo esempio vengono creati un endpoint Docker e un webhook Docker in Automation Pipelines, che distribuisce l'applicazione nel cluster Kubernetes di sviluppo. I passaggi includono il codice di esempio per il payload che Docker invia all'URL nel webhook, il codice API che utilizza e il codice di autenticazione con il token sicuro.
Prerequisiti
- Verificare che nella propria istanza di Automation Pipelines esista una pipeline di consegna continua (CD). Verificare inoltre che includa una o più attività Kubernetes che distribuiscono l'applicazione. Vedere Pianificazione di creazione, integrazione e consegna native del codice in Automation Pipelines.
- Verificare che sia possibile accedere a un cluster Kubernetes esistente in cui la pipeline CD può distribuire l'applicazione per lo sviluppo.
- Verificare di essere un membro di un progetto in Automation Pipelines. In caso contrario, chiedere a un amministratore di Automation Pipelines di essere aggiunti come membri di un progetto. Vedere Come aggiungere un progetto in Automation Pipelines.
Procedura
risultati
Congratulazioni! È possibile configurare il trigger Docker per eseguire la pipeline di consegna continua in modo continuativo. La pipeline può ora caricare artefatti Docker nuovi e aggiornati nel repository di Docker Hub.
Operazioni successive
Verificare che l'artefatto nuovo o aggiornato venga distribuito nell'host Docker nel cluster Kubernetes di sviluppo.