2015-05-22 6 views
8

Ho recentemente configurato una nuova configurazione di build in Teamcity per creare un pacchetto di servizi cloud per Azure. Dopo aver creato il progetto con msbuild, sto chiamando cspack.exe (Azure SDK 2.2) per creare il pacchetto.CSPack codifica il nome della directory con spazio su% 20

Questo è il comando che sto utilizzando:

cspack.exe "ServiceDefinition.csdef" 
"/out:%Package.RelativePath%package.cspkg" 
"/role:MyWebRole;%teamcity.build.checkoutDir%\t\%build.number%;bin\MyProject.Web.dll" 
"/sites:MyWebRole;MyWebSite;%teamcity.build.checkoutDir%\t\%build.number%" 

Questo crea un cspkg che sembra corretto. Ho caricato questo pacchetto nello spazio di archiviazione di Azure ed eseguito un aggiornamento di webrole. Ma dopo un po 'mostra un errore durante l'esecuzione di tali attività di avvio. Dopo di ciò viene un ciclo di riavvio di webrole.

Durante la ricerca di una possibile causa, ho notato che una delle directory nel mio approot contiene uno spazio nel mio progetto originale, ma nel pacchetto codificato in% 20. Dopo aver cambiato il nome della directory con il nome originale e aver aggiornato la webrole, i problemi sono scomparsi.

Qualcuno ha familiarità con questo problema e può indicarmi la giusta direzione per risolvere questo problema?

+1

Vedo lo stesso comportamento dell'utente, utilizzando il più recente SDK di Azure 2.6. La creazione di un pacchetto cspkg con un ruolo Web o di lavoro con una directory con uno spazio al suo interno, lo spazio è codificato in% 20 nel pacchetto. Questo potrebbe essere un bug in cspack.exe –

+0

Grazie per aver riprodotto questo! Proverò a creare una segnalazione di bug in Microsoft. –

+0

hm, succede anche per i ruoli dei lavoratori. Mentre questo è davvero un comportamento fasullo, metto davvero in discussione la necessità di avere spazio nei nomi di cartelle o file. A proposito, utilizzando Azure dal 2008, avendo lavorato con molti clienti e con i loro sforzi di Azure, sei il primo (che conosca) a dover affrontare questo problema. Infine, il problema segnalato è: https://github.com/Azure/azure-sdk-for-net/issues/1251 – astaykov

risposta

0

% 20 entra nel pacchetto, ma non quando viene distribuito. Hai eseguito l'RDP al ruolo del servizio cloud per verificare se il nome della cartella è con% 20 o no? Perché sembra, il% 20 viene aggiunto solo al pacchetto, ma rimosso quando decompresso. Quindi il tuo problema con il riavvio potrebbe essere qualcos'altro.

E a proposito, lo stesso vale per tutti i caratteri non URI, inclusi i caratteri Unicode che dovrebbero entrare nel pacchetto. Che viene imposto dal Open Packaging Conventions.

+0

Grazie per la spiegazione. Ma sfortunatamente il mio webrole stava fallendo durante l'onstartup con% 20 nel pacchetto. –

+0

Se si dispone di una prova concreta per questo - come i registri dal ruolo stesso o screenshot dal desktop remoto nell'istanza, si prega di fornire loro e questo sarà aggiunto al rapporto bug. – astaykov

Problemi correlati