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
Gestione degli stili CSS con le regole @layer
Creare un webhook in Azure DevOps
Creare una libreria CSS universale: Cards
Utilizzare EF.Constant per evitare la parametrizzazione di query SQL
Utilizzare QuickGrid di Blazor con Entity Framework
Ordine e importanza per @layer in CSS
Sostituire la GitHub Action di login su private registry
Usare una container image come runner di GitHub Actions
Evitare il flickering dei componenti nel prerender di Blazor 8
Eseguire una ricerca avanzata per recuperare le issue di GitHub
Utilizzare Tailwind CSS all'interno di React: primi componenti
Sfruttare al massimo i topic space di Event Grid MQTT