Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
Un trigger di una pipeline stabilisce quando una pipeline deve essere eseguita. È possibile configurare un trigger per eseguire una pipeline in base a una pianificazione o in risposta a un evento, ad esempio la creazione di una richiesta pull. Azure Pipelines supporta i tipi di trigger seguenti:
- I trigger di integrazione continua (trigger CI) eseguono una pipeline quando si esegue il push del codice in un ramo.
- I trigger delle richieste pull (trigger PR) eseguono una pipeline quando si crea una PR o si effettua il push del codice nel ramo di origine di una PR aperta. I repository GitHub supportano trigger basati sui commenti che eseguono una pipeline quando aggiungi commenti su una pull request aperta.
- I trigger pianificati eseguono una pipeline secondo una pianificazione predefinita.
- I trigger di completamento delle pipeline attivano una pipeline quando un'altra pipeline viene completata.
Questo articolo offre una panoramica dei trigger della pipeline YAML e dei trigger della pipeline di compilazione classica . Le pipeline di rilascio classiche hanno versioni simili dei trigger descritti in precedenza. Per ulteriori informazioni, vedi Fattori di attivazione della pipeline di rilascio classica.
Trigger di CI
- YAML
- Build classica
I trigger CI attivano una pipeline quando viene effettuato un push a un ramo che soddisfa i criteri definiti dal trigger. Usare la trigger parola chiave per configurare un trigger CI. Ad esempio, per eseguire una pipeline quando viene effettuato un push nel ramo main, specificare il trigger seguente.
trigger:
- main
Se non configuri esplicitamente la pipeline, i trigger CI sono abilitati per tutti i rami per impostazione predefinita, a meno che non sia impostato Disable implied CI trigger o che UI settings override YAML trigger.
Se non configuri esplicitamente la pipeline, per impostazione predefinita i trigger CI sono abilitati per tutti i rami, a meno che non sia impostato Disable implied CI trigger o che UI settings override YAML trigger.
Nota
Disable Implicit CI trigger è disponibile solo in Azure DevOps Server 2022.2 e versioni successive. In Azure DevOps Server 2022 e 2022.1, i trigger CI sono abilitati per impostazione predefinita se non sono configurati in modo esplicito.
Per disabilitare i trigger CI nella pipeline, usare la sintassi seguente.
trigger: none
Le pipeline YAML supportano i trigger CI per i tipi di repository seguenti. Per informazioni specifiche sull'uso di trigger CI con un tipo di repository specifico, vedere gli articoli seguenti.
- Trigger di integrazione continua in Azure Repos Git
- Trigger della CI in GitHub
- trigger CI in GitHub Enterprise Server
- Trigger della CI in Bitbucket Cloud
Per informazioni sulla sintassi completa del trigger YAML e sulle opzioni disponibili per i trigger CI, vedere Definizione del trigger.
Importante
I percorsi in Git fanno distinzione tra maiuscole e minuscole, inclusi i filtri di percorso del trigger CI e PR.
Trigger di richiesta pull
- YAML
- Build classica
I trigger delle pull request (PR) attivano una pipeline ogni volta che si apre una pull request o quando si esegue il push delle modifiche al branch di origine di una pull request. Usare la parola chiave pr per configurare un trigger PR. Ad esempio, per eseguire una pipeline quando viene aperta una PR nel ramo main, specificare il trigger seguente.
pr:
- main
Se non si configurano esplicitamente i trigger delle pull request nella pipeline, sono abilitati per impostazione predefinita, a meno che le impostazioni dell'interfaccia utente non sovrascrivano il trigger YAML. Le pull request verso qualsiasi ramo avviano una pipeline. Per disabilitare i trigger PR nella tua pipeline, usa la sintassi seguente.
pr: none
I trigger YAML per le pull request sono supportati da GitHub e Bitbucket Cloud. Per ulteriori informazioni sull'uso dei trigger PR con questi tipi di repository, vedere i trigger PR in GitHub e trigger PR in Bitbucket Cloud. Per informazioni sulla sintassi completa del trigger YAML della pull request, vedere definizione di PR.
Azure Repos Git usa i criteri dei rami per implementare i trigger delle PR. Per altre informazioni, vedere trigger PR in Azure Repos Git.
Attivatori di commento
I trigger di commento configurano una pipeline da eseguire quando i collaboratori effettuano un commento di richiesta pull contenente un comando di richiesta pull, ad esempio /azp run. I trigger di commento sono supportati solo per i repository GitHub. Per ulteriori informazioni, consulta trigger dei commenti del repository GitHub.
Attivazioni pianificate
I trigger pianificati eseguono una pipeline secondo una pianificazione prestabilita. Tutti i tipi di repository che supportano le pipeline YAML supportano i trigger pianificati nelle pipeline YAML. Questi tipi di repository includono Azure Repos Git, GitHub, GitHub Enterprise Server e Bitbucket Cloud.
Per definire un trigger pianificato in YAML, usa la parola chiave schedules e definisci la pianificazione utilizzando la sintassi cron. Nell'esempio seguente viene configurata una pianificazione eseguita ogni giorno a mezzanotte.
# YAML file in the main branch
schedules:
- cron: '0 0 * * *'
displayName: Daily midnight build
branches:
include:
- main
Per ulteriori informazioni ed esempi, consulta trigger pianificati, definizione delle pianificazioni e definizione di schedules.cron.
Attivatori al completamento della pipeline
Trigger delle pipeline nelle pipeline YAML e trigger di completamento della compilazione nelle pipeline di compilazione classiche consentono di attivare una pipeline al termine di un'altra.
- YAML
- Build classico
Configurare un trigger della risorsa pipeline nella pipeline per avviare un'esecuzione quando la pipeline di origine completa un'esecuzione.
resources:
pipelines:
- pipeline: sourcePipelineResource # Label for this pipeline resource; used when referring to it elsewhere in the pipeline.
source: source-pipeline # The name of the pipeline referenced by this pipeline resource.
project: FabrikamProject # Required only if the source pipeline is in another project
trigger: true # Run this pipeline when any run of source-pipeline completes
È possibile aggiungere più risorse pipeline alla pipeline. È possibile configurare il trigger da eseguire al termine di qualsiasi versione della pipeline di origine oppure limitarlo a determinati rami.
Per altre informazioni ed esempi, vedere Trigger di completamento della pipeline.
Per la sintassi completa e le opzioni di trigger, vedere resources.pipelines.pipeline definition(Definizione di resources.pipelines.pipeline).
Considerazioni sui branch per i trigger nelle pipeline YAML
Le pipeline YAML possono avere versioni diverse della pipeline in rami diversi, che possono influire sulla versione dei trigger della pipeline valutata e sulla versione della pipeline da eseguire.
| Tipo di attivazione | Versione YAML della pipeline |
|---|---|
Attivatori CI (trigger) |
Viene usata la versione della pipeline del ramo di cui è stato eseguito il push. |
Trigger di richiesta pull (pr) |
Viene utilizzata la versione della pipeline nel ramo di origine per la pull request. |
| Trigger dei commenti delle pull request di GitHub | Viene utilizzata la versione della pipeline del ramo di origine della pull request. |
| Trigger pianificati | Vedi Considerazioni sui rami per i trigger pianificati. |
| Attivazione al completamento della pipeline | Vedere Considerazioni relative ai branch per i trigger di completamento della pipeline. |
Pipeline di rilascio classiche
I trigger di distribuzione continua consentono di avviare le versioni classiche al termine di una pipeline YAML o di compilazione classica.
I trigger di rilascio pianificati consentono di eseguire una pipeline di rilascio secondo una pianificazione.
I trigger di rilascio delle richieste pull vengono usati per distribuire una richiesta pull direttamente usando le versioni classiche.
I trigger di fase nella versione classica vengono usati per configurare la modalità di attivazione di ogni fase in una versione classica.