In uno dei primissimi script di questo canale abbiamo visto come sia possibile disabilitare il clone del repository durante l'esecuzione di una pipeline YAML. Questa è un'attività che, infatti, viene eseguita di default da ogni "job" (ad esclusione dei deployment job). Al contrario di questo, può invece risultare utile dover clonare non solo il repository corrente, ma anche un secondario (o molti altri). A questo scopo è stata rilasciata recentemente la feature del multi-checkout per i repository:
resources:
repositories:
- repository: MyGitHubRepo
type: github
endpoint: MyGitHubServiceConnection
name: MyGitHubOrgOrUser/MyGitHubRepo
- repository: MyBitBucketRepo
type: bitbucket
endpoint: MyBitBucketServiceConnection
name: MyBitBucketOrgOrUser/MyBitBucketRepo
- repository: MyAzureReposGitRepository
type: git
name: MyProject/MyAzureReposGitRepo
trigger:
- master
pool:
vmImage: 'ubuntu-latest'
steps:
- checkout: self
- checkout: MyGitHubRepo
- checkout: MyBitBucketRepo
- checkout: MyAzureReposGitRepository
.... Come si può notare dalla definizione della pipeline, in questo caso siamo andati a fare il link con tre repository diversi da quello corrente, specificandoli nella sezione resources. Durante l'esecuzione dei singoli step, poi, siamo andati a impostare quelli di cui vogliamo fare il checkout, ovvero tutti, incluso self ovvero il repository dalla quale la build è partita. Come evidenziato, possiamo effettuare il checkout di qualsiasi repository git, che sia caricato su Azure DevOps oppure che appartenga a sorgenti esterne come, ad esempio, BitBucket o GitHub.
Ovviamente sta a noi scegliere di quali repository abbiamo bisogno, perciò in ogni job possiamo specificare quale checkout effettuare.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Ricevere notifiche sui test con Azure Load Testing
Managed deployment strategy in Azure DevOps
Usare i settings di serializzazione/deserializzazione di System.Text.Json di ASP.NET all'interno di un'applicazione non web
La gestione della riconnessione al server di Blazor in .NET 9
Testare il failover sulle region in Azure Storage
Escludere alcuni file da GitHub Secret Scanning
Utilizzare l nesting nativo dei CSS
Gestione degli eventi nei Web component HTML
Utilizzare Hybrid Cache in .NET 9
Utilizzare DeepSeek R1 con Azure AI
Rinnovare il token di una GitHub App durante l'esecuzione di un workflow


