2016-04-09 10 views
7

Sono in procinto di pubblicare il modello di soluzione nel marketplace di Azure.Qual è il modo più semplice per testare un file createUIDefinion.json per i modelli di soluzioni Azure?

Il mio file mainTemplate.json, ad esempio, è facile da testare senza pubblicazione perché posso essere distribuito da Git. Ma non riesco a testare il file dell'interfaccia utente tramite la distribuzione Git.

Quindi il problema è ottenere il mio file createUIdefinition.json testato in modo tempestivo. Sembra che ogni volta che ho apportato una modifica al file createUIdefinition.json, devo caricare un nuovo pacchetto nel portale di pubblicazione, il che significa che devo attendere la certificazione Microsoft prima di poter mettere in scena un test. È un processo di 24 ore.

C'è un modo più semplice per testare le mie modifiche createUIdefinition.json senza passare attraverso tale processo?

Per esempio, ho un bug da qualche parte nel regex che convalida uno dei miei input dell'utente:?

{ 
     "name": "EmailUser", 
     "type": "Microsoft.Common.TextBox", 
     "label": "Email Address", 
     "toolTip": "The email address for your account", 
     "defaultValue": "", 
     "constraints": { 
      "required": true, 
      "regex": "\\w+([-+.']\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*", 
      "validationMessage": "Must be a valid email address." 
    } 

(Nota a margine, se qualcuno può macchiare il mio errore - forse quando sfuggire i personaggi - Per favore fatemi sapere! Nessun indirizzo email è valido.)

E mi sta facendo un po 'impazzire dover aspettare un giorno solo per testare le mie supposte correzioni. Ci deve essere un modo migliore, grazie!

+1

Hai trovato una soluzione al tuo problema di regex dei vincoli? Ho un problema simile. –

+1

Quindi la regex deve essere json-encoded, da cui \\. È risultato che ho avuto un altro problema di sintassi che stava causando il malfunzionamento dell'interfaccia utente. Non riesco a ricordare esattamente quale fosse l'altro problema, ma usare il collegamento di anteprima di Azure ha reso più facile rintracciare. Penso che fosse qualcosa di sciocco come il parametro che viene chiamato in modo errato nella parte inferiore dello script dell'interfaccia utente quando si imposta vars. – Rocky

+0

FYI, ho finito con questo per i vincoli su un indirizzo email: "vincoli": { "required": true, "regex": "^ \\ S + @ \\ S + [\\.] [ 0-9a-z] + $ ", " validationMessage ":" Deve essere un indirizzo email valido " } –

risposta

5

Ho trovato la mia risposta. C'è un URL appositamente predisposto che può essere utilizzato per visualizzare in anteprima createUIDefinition.json. Il formato è come questo:

<a href="https://portal.azure.com/#blade/Microsoft_Azure_Compute/CreateMultiVmWizardBlade/internal_bladeCallId/anything/internal_bladeCallerParams/{"initialData":{},"providerConfig":{"createUiDefinition":"URL_ENCODED_LINK TO_createUiDefinition.json"}}">[Preview createUiDefinition.json]</a> 

Così i gradini di prova sono:

  1. Carica createUIdefinition.json a un URL pubblico accessibile (GitHub o Azure blob sia il lavoro bene)
  2. Modifica il link sopra con l'URL completo del tuo file.
  3. Incollalo in un browser.
  4. Accedere a Azure quando richiesto, verrà reindirizzato al proprio blade UI.
  5. Utilizzare F12 per visualizzare la console di script nel browser per visualizzare l'output in formato json dopo aver inserito i valori dell'interfaccia utente.

Si noti che non si può fare una distribuzione completa, questi passaggi sono solo per testare l'interfaccia utente, la convalida regex, ecc Hai ancora bisogno di testare l'output e assicurarsi che funziona con il vostro mainTemplate.json file con una distribuzione separata.

+1

Rocky potresti dare un'occhiata al mio problema? http://stackoverflow.com/questions/37862165/publish-arm-templates-in-azure-portal.Sembra che tu sappia già come pubblicare la distribuzione dei modelli ARM in azzurro su publish.azure.com – Kenneth

+0

@Kenneth fatto! Spero che la mia risposta aiuti. – Rocky

+0

@Rocky se modifico qualcosa nel file createUiDefinition, i miei lame UI non riflettono immediatamente la modifica, anche se all'avvio di una nuova sessione o rinominando "qualsiasi cosa" in sg else, solo se trascorre qualche tempo. Puoi aiutare a eludere questo? – Diepie

Problemi correlati