6

Sto cercando di includere i file TypeScript nella mia distribuzione git automatica in modo da poter mostrare il codice per un framework che sto costruendo. Tuttavia, ogni volta che eseguo la deploy in azurewebsites le distribuzioni non includono i file TypeScript.Include file TypeScript in azure git deploy

sito in questione: http://endgate-samples.azurewebsites.net/Samples/AnimatedSprites/

Quello che ho provato:

  1. Copiare tutti i file tipografico nella cartella di output impostando le proprietà dattiloscritto di "Copia Sempre". Il problema è che ho bisogno di cambiare i riferimenti a tutti i file (non voglio farlo).

  2. MSBuild gasdotto. Funziona per la distribuzione del file system ma non per la distribuzione sul Web ... https://github.com/NTaylorMullen/EndGate/blob/master/EndGate/samples/EndGate.Core.JS.Samples/EndGate.Core.JS.Samples.csproj#L896-L909.

  3. Pubblica manuale sull'endpoint FTP (funziona come un incantesimo), ma non automatico. Richiede anche la pipeline msbuild (# 2)

Che cosa sto facendo di sbagliato o cosa posso fare (che non ho provato) per ottenere i miei file dattiloscritto distribuzione automagically?

+0

Proprio come il # collegamento alle righe di file. Non sapevo che potevi farlo. Modificato manualmente l'url? – basarat

+1

No, basta fare clic sulla riga di avvio, tenere premuto MAIUSC quindi fare clic sulla linea di fine –

+0

suggerimento dolce. Grazie compagno. – basarat

risposta

5

Quindi dopo un sacco di lavoro risulta che con il pezzo pipeline msbuild (# 2) verrà effettivamente distribuito i file dattiloscritto. Una cosa che mi mancava era l'aggiunta del tipo mime appropriato per gestire i file dattiloscritti.

Si scopre che per impostazione predefinita IIS non servirà correttamente i file TypeScript.

per aggiungere il tipo MIME personalizzato che ho fatto:

<system.webServer> 
    <staticContent> 
     <remove fileExtension=".ts"/> 
     <mimeMap fileExtension=".ts" mimeType="text/plain" /> 
    </staticContent> 
</system.webServer> 

E 'importante che togliamo i ts esistenti tipo MIME (se ce n'è uno) prima di aggiungere il tipo MIME. Se si esegue il deployment su una macchina che ha già il mime .ts e non viene rimosso prima dell'aggiunta, distruggerà i mapping esistenti e non servirà alcun file css, js, ecc.

Questo è stato una battaglia ma alla fine ho funzionato, spero che questo aiuti qualcun altro in futuro!

+1

+1 Lavoro epico sul compagno di biblioteca: http://endgate-samples.azurewebsites.net/ Starred: https://github.com/NTaylorMullen/EndGate – basarat

+0

Haha grazie @BASarat, è ancora in lavorazione, ma dovrebbe essere fatto presto! –