Se nel vostro Azure Web Sites, nella parte di configurazione abilitate l’editing con Visual Studio Online, codename “Monaco”
Vi troverete la possibilità di editare il sito direttamente da una comoda interfaccia web. Dal tab DASHBOARD infatti dovreste ora vedere un apposito link.
A questo punto vi verrà chiesta una password e la prima domanda che mi viene fatta è, dove trovo questa password? In particolare se il sito è stato automaticamente creato per il deploy automatico tramite Visual Studio Online, la password è memorizzata nel Publish Profile. Sempre dalla lista precedente, scaricate il Publish profile, apritelo e li troverete la vostra password (che è una lunga stringa)
A questo punto potete entrare nell’editor online. L’aspetto SUPER INTERESSANTE è che esiste un apposito tab Git da cui voi potete addirittura creare un repository git remote dove poter lavorare e tenere traccia delle vostre modifiche.
Una volta creato il repository Git potete tranquillamente editare qualsiasi file, come ad esempio il web.config, ed avere anche intellisense (siamo nel browser)
Per poi aprire la console, dove potete tranquillamente lavorare con Git all’interno del browser, avete tutti i comandi disponibili.
Chiaramente, appena effettuate il commit delle modifiche esse diverranno attive nel web site praticamente in maniera immediata. Ma non è tutto qui, dato che voi avete un repository git praticamente potete fare qualsiasi cosa, ad esempio creare una nuova branch
A questo punto potete fare le vostre modifiche su più branch, e decidere quale branch sarà attualmente attiva nel vostro web site semplicemente scegliendo la branch corrispondente. Questo vuol dire che cambiando branch con git checkout voi decidete quale versione del codice è attualmente attiva nel vostro web site. Questo fa capire che Monaco è ben di piu di una semplice interfaccia web per editare file, ma permette una gestione avanzata con git come source control. In questo modo siamo sicuri che anche se facessimo degli errori, possiamo in ogni momento tornare ad una situazione stabile.
Visualizzando il log del repository Git, potete comunque restorare il sito ad uno stato qualsiasi precedente (Attenzione che siete in detatched HEAD se non ci create una branch sopra)
Ora chiaramente realizzare un intero sito direttamente online mi sembra quantomeno fantasioso, ma per fare fix veloci, soprattutto se dovete modificare al volo qualche cosa nel web.config, la potenza messa a disposizione è decisamente molta. Avendo a disposizione comunque la console completa di git, penso che sia possibile (non ho ancora voluto provare) a configurare come remote un normale repository Git, ad esempio uno su VSO e poi effettuare il push direttamente dall’interno dell’azure web site.
Gian Maria.