2015-12-09 18 views
7

Şimdi birkaç yıldır. Net platform üzerinde çalışıyorum ve Microsoft'un .net çapraz platform uyumlu hale getirdiği konusunda çok etkilendiğimi söylemeliyim.DNX ve ASP.NET ile sürekli teslimat nasıl yapılır 5

Bir Mac'te CoreCLR kullanılarak oluşturulan küçük bir Merhaba dünya uygulaması çalıştırmaya çalışırken saatler geçirdim. Ve çalıştı. Hala anlamaya çalıştığım birçok UNKNOWNS varken, google'da cevap bulamadığım bir soru var.

Dağıtımın nasıl otomatikleştirilir bir dnx uygulaması. Yani, aspnet 5 uygulamanızı bir nuget paketine derler ve linux sunucunuzda geri yükler misiniz (linux'u hiç kullanmadım bu yüzden nuget orada çalışır emin değilim) ve dnx komutunu çalıştırır mısınız? Ya da sadece sıkıştırın ve doğrudan sunucuya itin?

Üzgünüm, bu benim için çok yeni ve sorularım da aptalca gelebilir. Asp.net 5 uygulamalarım için sürekli teslimat yapmanın en iyi yolunun ne olduğunu bilmek istiyorum. Son hedefim uygulamalarımı linux kapsayıcılarda barındırmak.

cevap

4

dnu publish --runtime <name of runtime> --no-source'u kullanabilirsiniz. Bu, uygulamanızı, bağımlılıklarını ve çalışma zamanını içeren bir klasör oluşturur. Sonra, tek yapmanız gereken bu klasörü sunucunuzda almak.

gerçekten senaryo bağlıdır etrafında dosyaları taşımak Nasıl ... Bu FTP, Depolama, Kudu (eğer Azure WebSites iseniz) vb diğer alternatif üzerinde geri yapmaktır

olabilir sunucusu. Bu, yayınladığınız zaman uygulamanın boyutunu küçültürken, sunucuda güvensiz olabilecek paketleri geri yüklemeniz gerekecek ve aynı zamanda uygulama aralarına da yol açabilecektir çünkü feed'lerde daha yeni, uyumsuz paketler olabilir.

Herkese uygun bir yanıt olmasa da, en güvenilir ve tutarlı sonuçlara ulaşmak istiyorsanız, her şeyi yayınlamanız, yerel olarak test etmeniz ve ardından paketi sunucunuza kopyalamanız gerektiğini öğrendim.

Docker için aynı şeyi öneririm. Çalışma zamanı ile yayınlayın ve kaynak yok ve ortaya çıkan klasöre sahip bir kapsayıcı oluşturun.