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.