Creazione e modifica di file e script utilizzando gli editor in Azure Cloud Shell
Abbiamo visto nel precedente articolo Azure Cloud Shell – Amministrazione di Microsoft Azure con una shell accessibile tramite browser che Azure Cloud Shell ci permette di gestire e sviluppare le risorse in Microsoft Azure senza la necessità di installare e aggiornare i tool di gestione.
La comodità offerta da Azure Cloud Shell è davvero notevole e la semplicità di attivazione, sia tramite browser che tramite app sullo smartphone, ci permette di poterla utilizzare praticamente ovunque.
La shell viene eseguita in un Linux Container basato su Ubuntu 16.04 LTS e include gli strumenti più usati dell’interfaccia della riga di comando, tra cui gli interpreti della shell Linux, i moduli di PowerShell, gli strumenti per amministrare Azure, gli editor di testo, il controllo del codice sorgente, gli strumenti per la compilazione, gli strumenti per i contenitori, gli strumenti per i database e altro ancora. Cloud Shell include anche il supporto per alcuni linguaggi di programmazione più diffusi, ad esempio Node.js, .NET e Python.
Nella tabella sotto sono riportati gli strumenti e i linguaggi disponibili nella Cloud Shell:
Strumenti
Categoria | Nome |
Linux tools | bash zsh sh tmux dig |
Azure tools | Azure CLI and Azure classic CLI AzCopy Service Fabric CLI Batch Shipyard blobxfer |
Text editors | code (Cloud Shell editor) vim nano emacs |
Source control | git |
Build tools | make maven npm pip |
Containers | Docker Machine Kubectl Helm DC/OS CLI |
Databases | MySQL client PostgreSql client sqlcmd Utility mssql-scripter |
Altri | iPython Client Cloud Foundry CLI Terraform Ansible Chef InSpec |
Linguaggi supportati
Linguaggio | Versione |
.NET Core | 2.0.0 |
Go | 1.9 |
Java | 1.8 |
Node.js | 8.9.4 |
PowerShell | 6.2.0 |
Python | 2.7 and 3.5 (default) |
È possibile lanciare Azure Cloud Shell direttamente dal portale di Azure, utilizzando il simbolo presente in alto, oppure dal link https://shell.azure.com
Figura 1: Azure Cloud Shell eseguita dal portale di Azure
Figura 2: Azure Cloud shell eseguita dallo smartphone tramite l’app Azure
Alla pagina https://azure.microsoft.com/it-it/features/azure-portal/mobile-app/ trovate maggiori informazioni sull’app per dispositivi mobili di Azure
Azure Cloud Shell utilizza una condivisione di File di Azure per salvare in modo permanente i file. Quando lanciate per la prima volta Azure Cloud Shell verrà richiesta la creazione di una condivisione di file in Azure Files (sarà necessario indicare quale storage account utilizzare per mantenere i file) e questa condifisione verrà ricollegata automaticamente tutte le volte che rilancerete la Azure Cloud Shell. La risorsa di archiviazione viene resa persistente come un file .img nella condivisione file di Azure e sarà montata come $HOME\clouddrive.
Sarà anche possibile caricare script all’interno della file share creata, in modo tale da poterli riutilizzare tutte le volte che saranno necessari
Figura 3: È possibile caricare script all’interno della Azure File Share
Per caricare file all’interno della directory clouddrive è anche possibile utilizzare il portale di Azure accedendo direttamente allo storage account associato alla Azure Cloud Shell cliccando sul link Manage file share mostrato nella figura precedente.
Nell’esempio sotto ho caricato un file chiamato CreaUnaNuovaVMWindows.ps1 all’interno della sottocartella Scripts. È possibile caricare script, template ARM e altri file da riutilizzare.
Figura 4: I file possono essere caricati anche direttamente nella file share dello storage account associato ad Azure Cloud Shell
Per verificare qual è il mount point del vostro clouddrive potete lanciare il comando Get-CloudDrive, come mostrato in figura 5 e successivamente potete spostare il prompt nella posizione indicata. Nel mio caso il mount point è /home/nicola/clouddrive
Figura 5: Dall’interno di Azure Cloud Shell è possibile navigare nel clouddrive e accedere ai propri script
Creazione e modifica dei file utilizzando gli editor disponibili in Azure Cloud Shell
Azure Cloud Shell permette di utilizzare un editor di file progettato in base allo strumento open source Monaco Editor, un web-standard editor che è anche alla base di Visual Studio Code. Eseguendo semplicemente il comando code in Azure Cloud Shell, oppure cliccando sul pulsante presente nella barra degli strumenti, è possibile modificare i propri script ed i propri file direttamente nella finestra di Cloud Shell. I file creati e modificati verranno salvati nel vostro clouddrive.
Figura 6: Modifica dello script PowerShell precedentemente caricato nel clouddrive utilizzando code
Per tutti i “nostalgici” c’è anche la possibilità di utilizzare gli editor nano, vi ed emacs, visto che come ho accennato prima la shell viene eseguita in un Linux Container basato su Ubuntu 16.04 LTS.
Figura 7: Utilizzo degli editor nano, vi ed emacs in Azure Cloud Shell
Conclusioni
Azure Cloud Shell è uno strumento interattivo, potente, versatile e soprattutto comodo per poter amministrare le nostre risorse in Cloud. Da un browser, da un tablet o da uno smartphone abbiamo la possibilità di collegarci facilmente alla Shell ed operare ovunque ci troviamo, senza la necessità di installare nulla. La Shell è gestita e aggiornata da Microsoft, in modo tale da poter avere sempre i nostri strumenti aggiornati e gli editor presenti ci permettono di modificare con enorme semplicità i nostri script ed i nostri file di configurazione.