Esempi: trigger nei flussi di lavoro - Amazon CodeCatalyst

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Esempi: trigger nei flussi di lavoro

Gli esempi seguenti mostrano come aggiungere diversi tipi di trigger in un file di definizione del CodeCatalyst flusso di lavoro Amazon.

Per ulteriori informazioni sui trigger, consulta L'avvio di un flusso di lavoro viene eseguito automaticamente utilizzando i trigger.

Esempio: un semplice pulsante di attivazione tramite codice

L'esempio seguente mostra un trigger che avvia un flusso di lavoro ogni volta che il codice viene inviato a qualsiasi ramo del repository di origine.

Quando questo trigger è attivato, CodeCatalyst avvia un flusso di lavoro eseguito utilizzando i file nel ramo verso cui state inviando il push (ovvero il ramo di destinazione).

Ad esempio, se invii un commit amain, CodeCatalyst avvia un flusso di lavoro eseguito utilizzando il file di definizione del flusso di lavoro e altri file di origine. main

Come altro esempio, se si invia un commit afeature-branch-123, CodeCatalyst avvia un flusso di lavoro eseguito utilizzando il file di definizione del flusso di lavoro e altri file di origine. feature-branch-123

Triggers: - Type: PUSH
Nota

Se desideri che l'esecuzione di un flusso di lavoro inizi solo quando esegui il push tomain, consulta. Esempio: un semplice trigger «push to main»

Esempio: un semplice trigger «push to main»

L'esempio seguente mostra un trigger che avvia un flusso di lavoro ogni volta che il codice viene inviato al ramo, main e solo al ramo, del repository di origine. main

Triggers: - Type: PUSH Branches: - main

Esempio: un semplice trigger di pull request

L'esempio seguente mostra un trigger che avvia l'esecuzione di un flusso di lavoro ogni volta che una richiesta pull viene creata o modificata nel repository di origine.

Quando questo trigger è attivato, CodeCatalyst avvia un flusso di lavoro eseguito utilizzando il file di definizione del flusso di lavoro e altri file sorgente nel ramo da cui state estraendo (ovvero il ramo di origine).

Ad esempio, se crei una richiesta pull con un ramo di origine chiamato feature-123 e un ramo di destinazione chiamatomain, CodeCatalyst avvia un flusso di lavoro eseguito utilizzando il file di definizione del flusso di lavoro e altri file di origine. feature-123

Triggers: - Type: PULLREQUEST Events: - OPEN - REVISION

Esempio: un semplice trigger di pianificazione

L'esempio seguente mostra un trigger che avvia un flusso di lavoro eseguito a mezzanotte (UTC+0) dal lunedì al venerdì.

Quando questo trigger è attivato, CodeCatalyst avvia un singolo flusso di lavoro per ogni ramo del repository di origine che contiene un file di definizione del flusso di lavoro con questo trigger.

Ad esempio, se nel repository di origine sono presenti tre rami,, main release-v1feature-123, e ognuno di questi rami contiene un file di definizione del flusso di lavoro con il trigger seguente, CodeCatalyst avvia tre esecuzioni del flusso di lavoro: una utilizzando i file inmain, un'altra utilizzando i file in release-v1 e un'altra utilizzando i file in. feature-123

Triggers: - Type: SCHEDULE Expression: "0 0 ? * MON-FRI *"

Per altri esempi di espressioni cron che è possibile utilizzare nella Expression proprietà, vedere. Expression

Esempio: un trigger con una pianificazione e rami

L'esempio seguente mostra un trigger che avvia un flusso di lavoro eseguito ogni giorno alle 18:15 (UTC+0).

Quando questo trigger è attivato, CodeCatalyst avvia un flusso di lavoro eseguito utilizzando i file nel main ramo e avvia esecuzioni aggiuntive per ogni ramo che inizia con. release-

Ad esempio, se sono presenti rami denominatimain, release-v1bugfix-1, e bugfix-2 nel repository di origine, CodeCatalyst avvia due esecuzioni del flusso di lavoro: una utilizzando i file in esso main e l'altra utilizzando i file inrelease-v1. Non avvia le esecuzioni del flusso di lavoro per i bugfix-1 rami bugfix-1 and.

Triggers: - Type: SCHEDULE Expression: "15 18 * * ? *" Branches: - main - release\-.*

Per altri esempi di espressioni cron che è possibile utilizzare nella Expression proprietà, vedereExpression.

Esempio: un trigger con una pianificazione, un push e rami

L'esempio seguente mostra un trigger che avvia un flusso di lavoro eseguito a mezzanotte (UTC+0) ogni giorno e ogni volta che il codice viene inviato alla filiale. main

In questo esempio:

  • L'esecuzione di un flusso di lavoro inizia ogni giorno a mezzanotte. L'esecuzione del flusso di lavoro utilizza il file di definizione del flusso di lavoro e altri file di origine presenti nel main ramo.

  • L'esecuzione di un flusso di lavoro viene inoltre avviata ogni volta che si invia un commit al main ramo. L'esecuzione del flusso di lavoro utilizza il file di definizione del flusso di lavoro e altri file di origine nel ramo di destinazione (main).

Triggers: - Type: SCHEDULE Expression: "0 0 * * ? *" Branches: - main - Type: PUSH Branches: - main

Per altri esempi di espressioni cron che è possibile utilizzare nella Expression proprietà, vedereExpression.

Esempio: un grilletto con trazione e ramificazioni

L'esempio seguente mostra un trigger che avvia un flusso di lavoro ogni volta che qualcuno apre o modifica una richiesta pull con un branch di destinazione chiamatomain. Sebbene il ramo specificato nella Triggers configurazione siamain, l'esecuzione del flusso di lavoro utilizzerà il file di definizione del flusso di lavoro e altri file di origine nel ramo di origine (che è il ramo da cui state estraendo).

Triggers: - Type: PULLREQUEST Branches: - main Events: - OPEN - REVISION

Esempio: un trigger con pull, branch e un evento 'CLOSED'

L'esempio seguente mostra un trigger che avvia l'esecuzione di un flusso di lavoro ogni volta che una richiesta pull viene chiusa su un ramo che inizia conmain.

In questo esempio:

  • Quando si chiude una richiesta pull con un ramo di destinazione che inizia conmain, l'esecuzione di un workflow viene avviata automaticamente utilizzando il file di definizione del flusso di lavoro e altri file di origine nel ramo di origine (ora chiuso).

  • Se hai configurato il tuo repository di origine per eliminare automaticamente i branch dopo l'unione di una pull request, questi branch non avranno mai la possibilità di entrare nello CLOSED stato. Ciò significa che i rami uniti non attiveranno il trigger della pull request. CLOSED L'unico modo per attivare il CLOSED trigger in questo scenario è chiudere la pull request senza unirla.

Triggers: - Type: PULLREQUEST Branches: - main.* Events: - CLOSED

Esempio: un trigger con push, branch e file

L'esempio seguente mostra un trigger che avvia l'esecuzione di un flusso di lavoro ogni volta che viene apportata una modifica al filename.txt file, o a qualsiasi file nella src directory, sul main ramo.

Quando questo trigger è attivato, CodeCatalyst avvia un flusso di lavoro eseguito utilizzando il file di definizione del flusso di lavoro e altri file di origine nel main ramo.

Triggers: - Type: PUSH Branches: - main FilesChanged: - filename.txt - src\/.*

Esempio: un trigger manuale

Per configurare un trigger manuale, omettete la Triggers sezione dal file di definizione del flusso di lavoro. Senza questa sezione, gli utenti sono costretti ad avviare il flusso di lavoro manualmente scegliendo il pulsante Esegui nella CodeCatalyst console. Per ulteriori informazioni, consulta Avvio di un flusso di lavoro eseguito manualmente.

Esempio: trigger in una configurazione CI/CD con più flussi di lavoro

Questo esempio descrive come configurare i trigger quando desideri utilizzare CodeCatalyst flussi di lavoro Amazon separati per l'integrazione continua (CI) e la distribuzione continua (CD).

In questo scenario, configuri due flussi di lavoro:

  • un flusso di lavoro CI: questo flusso di lavoro crea e verifica l'applicazione quando viene creata o modificata una pull request.

  • un flusso di lavoro su CD: questo flusso di lavoro crea e distribuisce l'applicazione quando viene unita una pull request.

Il file di definizione del flusso di lavoro CI sarebbe simile al seguente:

Triggers: - Type: PULLREQUEST Branches: - main Events: - OPEN - REVISION Actions: BuildAction: instructions-for-building-the-app TestAction: instructions-for-test-the-app

Il Triggers codice indica di avviare un flusso di lavoro eseguito automaticamente ogni volta che uno sviluppatore di software crea una pull request (o ne modifica una) chiedendo di unire il proprio feature branch al main branch. CodeCatalyst avvia il flusso di lavoro eseguito utilizzando il codice sorgente nel ramo sorgente (che è il ramo delle funzionalità).

Il file di definizione del flusso di lavoro del CD sarebbe simile al seguente:

Triggers: - Type: PUSH Branches: - main Actions: BuildAction: instructions-for-building-the-app DeployAction: instructions-for-deploying-the-app

Il Triggers codice indica di avviare automaticamente il flusso di lavoro quando si main verifica un'unione a. CodeCatalyst avvia il flusso di lavoro eseguito utilizzando il codice sorgente nel main ramo.