GitHub Codespaces è una funzionalità molto utile e comoda che risolve un problema storico degli sviluppatori e che negli ultimi anni è diventato via via sempre più importante: il setup dell'ambiente di lavoro con tutte le dipendenze necessarie porta via tempo, soprattutto per i nuovi arrivati nel progetto possono volerci giorni prima che si diventi produttivi e si possa eseguire la prima build di Visual Studio. Allo stesso modo, il numero di dipendenze, soprattutto in ambito microservice, che viene richiesto è in costante aumento, oppure con le diverse versioni applicative è difficile tenere traccia delle configurazioni richieste o dei servizi necessari ad avviare il progetto/solution di riferimento. ù
Proprio per questo motivo, con Codespaces è possibile definire la configurazione di un ambiente come codice: nella pagina del repository, all'interno di GitHub, sarà possibile cliccare sul pulsante "Open Codespace" per iniziare a lavorare immediatamente su una VM hosted di Microsoft, già configurata con l'ambiente necessario ad eseguire il progetto, eliminando di fatto i lunghi tempi di attesa e di setup.
Questo strumento è molto comodo ma, al momento, è legato principalmente a GitHub. Per poterlo utilizzare anche in Azure DevOps, è necessario fare qualche workaround:
- Aprire un account di GitHub;
- Creare un nuovo repository;
- Aggiungere la configurazione nella cartella .devcontainer puntando al repository di Azure DevOps dove si trova il nostro codice sorgente.
La cartella .devcontainer è infatti una cartella speciale per GitHub. Questa deve contenere all'interno un file chiamato devcontainer.json con la configurazione seguente:
{ "workspaceFolder": "azdo", "postCreateCommand": "git clone <url> azdo" }
Una volta aperto Visual Studio e una volta effettuato il login tramite l'account di GitHub, sarà possibile visualizzare il repository "fake" che abbiamo creato per hostare la configurazione di Codespaces. Aprendo il repository come Codespace in Visual Studio, ci verrà richiesto di loggarci anche con l'account di Azure DevOps associato al repository vero e proprio, dove si trova il codice sorgente. Nel giro di qualche secondo la VM gestita con le dipendenze verrà creata e aperta in Visual Studio.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Recuperare automaticamente un utente e aggiungerlo ad un gruppo di Azure DevOps
Creare una custom property in GitHub
Generare la software bill of material (SBOM) in GitHub
Bloccare l'esecuzione di un pod in mancanza di un'artifact attestation di GitHub
Ordinare randomicamente una lista in C#
Rendere le variabili read-only in una pipeline di Azure DevOps
Evitare (o ridurre) il repo-jacking sulle GitHub Actions
Utilizzare WhenEach per processare i risultati di una lista di task
Eseguire i worklow di GitHub su runner potenziati
Utilizzare l'espressione if inline in una pipeline di Azure DevOps
Ordine e importanza per @layer in CSS
Sfruttare gli embedding e la ricerca vettoriale con Azure SQL Database