2015-12-09 23 views
7

Ho lavorato su una piattaforma .NET da alcuni anni e devo dire che sono molto impressionato dal modo in cui Microsoft sta creando. Net compatibile multipiattaforma.Come implementare la consegna continua con DNX e ASP.NET 5

Ho passato ore a provare a eseguire una piccola applicazione Hello World costruita con CoreCLR su un Mac. E ha funzionato. Mentre ci sono ancora molti SCONOSI che sto ancora cercando di capire, c'è questa domanda a cui non sono stato in grado di trovare risposta su google.

Come si automatizza la distribuzione di un'applicazione dnx. Voglio dire, compili la tua app aspnet 5 in un pacchetto nuget e poi la ripristini sul tuo server linux (non ho mai usato Linux così non sono sicuro di come funziona nuget) ed esegui il comando dnx? Oppure basta comprimerlo e inviarlo direttamente al server?

Spiacente, questo è tutto molto nuovo per me e quindi le mie domande potrebbero sembrare stupide. Voglio solo sapere qual è il modo migliore per implementare la consegna continua per le mie applicazioni asp.net 5. Il mio obiettivo finale è ospitare le mie app su contenitori linux.

risposta

4

È possibile utilizzare dnu publish --runtime <name of runtime> --no-source. Ciò crea una cartella con l'applicazione, le sue dipendenze e il runtime. Quindi, tutto ciò che devi fare è ottenere quella cartella sul tuo server.

Come spostare i file in realtà dipende da scenario ... Potrebbe essere FTP, bagagli, Kudu (se siete su siti web Azure), ecc

Un'altra alternativa è quella di fare il ripristino del server. Mentre questo riduce la dimensione dell'applicazione quando pubblichi, dovrai ripristinare i pacchetti sul server che possono essere non sicuri e può anche portare a interruzioni dell'applicazione perché potrebbero esserci pacchetti più nuovi e incompatibili nei feed.

Mentre non c'è una risposta giusta per tutti, ho scoperto che se si desidera ottenere risultati più affidabili e coerenti, è necessario pubblicare con tutto, testare localmente e quindi copiare semplicemente il bundle sul proprio server.

Per la finestra mobile, consiglio la stessa cosa. Pubblicare con runtime e senza origini e creare un contenitore con la cartella risultante.