All'interno dello script precedente, abbiamo visto come Azure DevOps attraverso le pipeline YAML ci dia la possibilità di effettuare il checkout di più repository git, anche residenti al di fuori di Azure DevOps stesso, senza ricorrere alla sintassi tipica di git, ovvero senza sfruttare il git clone, rimpiazzato dal sistema di clone automatico offerto dalle pipeline YAML.
Come abbiamo già visto, i repository di cui possiamo fare il checkout possono essere specificati all'inizio della definizione della build tramite i tag resources e repositories ma, in pipeline molto complesse e che fanno uso intensivo di template, magari separati su più repository, questo non è sempre possibile. In questo scenario, viene comodo sfruttare il multi-checkout direttamente in linea:
- checkout: self # Clone del repository corrente - checkout: git://MyProject/MyRepo # Azure Repos - checkout: github://Org/PublicGitHubRepo # GitHub - checkout: bitbucket://Org/PublicBitbucketRepo # Bitbucket
Esattamente come nel caso precedente, con il supporto al multi-checkout dobbiamo specificare se vogliamo scaricare anche il repository che contiene la definizione della build (self) oppure no. Qualora ci sia, invece, la necessità di fare anche lo switch automatico ad un branch (diverso da quello di default impostato sul repository) una volta completato il clone, possiamo andare a specificare il nome del branch come suffisso del repository stesso, una volta applicato il carattere @:
- checkout: git://MyProject/MyRepo@features/myFeature # checkout del branch features/myFeature - checkout: git://MyProject/MyRepo@refs/tags/MyTag # checkout del tag MyTag.
Il sistema funziona sia con il nome del branch in versione "abbreviata" sia quella estesa (es. refs/heads/features/myFeature) e, inoltre, supporta anche il checkout a tag.
E' innegabile che una definizione più compatta sia spesso più comoda, soprattutto quando ci troviamo in presenza di molti step che devono essere eseguiti.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Aggiungere e rimuovere un tag ad un work item in una pipeline di Azure DevOps
Utilizzare le annotazioni nei metadati di Entity Framework Core per marcare campi come non modificabili
Realizzare un oggetto DataList generico in Blazor
Use Firebase in Progressive Web Apps
Invocare trigger non HTTP delle Azure Function durante lo sviluppo
Esecuzione condizionale dei template nelle pipeline YAML di Azure DevOps
Creare un effetto di ombra sui controlli della Universal Windows Platform
Cambiare automaticamente lo stato di un work item in una pipeline di Azure DevOps
Produrre e condividere una variabile tra step in una pipeline YAML di Azure DevOps
Taggare automaticamente un team member in work item tramite Azure DevOps
Condividere una variabile tra job in una pipeline YAML di Azure DevOps
.NET Conference Italia 2020
I più letti di oggi
- Modificare la modalità di esecuzione delle query con Include in Entity Framework Core 5
- Le novità di Entity Framework Core 5
- Autenticazione con JWT Token e ASP.NET Core Web API
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Creare un web server locale con LiveReload
- Effettuare l'upload di un file da Blazor su Azure Blob Storage
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Tracciabilità dei work item nel ciclo di vita del software con Azure DevOps