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
Gestione dei codeowners in GitHub
Centralizzare e governare MCP server e Skill con Azure API Center
Ottimizzare gli indici con Automatic Index Compaction in Azure SQL Database
Utilizzare i command service nei test con .NET Aspire
Usare i generics di C# con la clausola nameof in modo semplificato
Abilitare il rolling update su Azure Functions flex consumption
Creare una cache temporanea in JavaScript
Integrare modelli AI in un workflow di GitHub
Stop alle password con Azure Managed Identity
Agentic Workflows in GitHub
Effettuare un clone parziale di un repository di GitHub
Interagire con Azure DevOps tramite MCP Server


