2015-12-09 22 views
7

Pracuję na platformie .net od kilku lat i muszę powiedzieć, że jestem pod wrażeniem tego, jak Microsoft sprawia, że ​​platforma .net jest kompatybilna.Jak zrealizować ciągłą dostawę z DNX i ASP.NET 5

Spędziłem godziny, próbując uruchomić małą aplikację na świecie, stworzoną przy użyciu CoreCLR na komputerze Mac. I zadziałało. Chociaż wciąż jest wiele UNKNOWNS nadal próbuję zrozumieć, jest jedno pytanie, na które nie byłem w stanie znaleźć odpowiedzi w google.

W jaki sposób zautomatyzować wdrożenie aplikacji dnx. Chodzi mi o to, czy kompilujesz swoją aplikację aspnet 5 do pakietu nuget, a następnie przywracasz ją na swoim serwerze linuksowym (nigdy nie korzystałem z Linuksa, więc nie jestem pewien, jak działa tam nuget) i uruchamiasz polecenie dnx? Lub po prostu go zapakować i przesłać bezpośrednio na serwer?

Przepraszam, że to wszystko jest dla mnie bardzo nowe, więc moje pytania mogą brzmieć głupio. Chcę tylko wiedzieć, jaki jest najlepszy sposób, w jaki mogę wdrożyć ciągłą dostawę dla moich aplikacji asp.net 5. Moim ostatecznym celem jest hostowanie moich aplikacji w kontenerach linuxowych.

Odpowiedz

4

Można użyć dnu publish --runtime <name of runtime> --no-source. Tworzy to folder z aplikacją, jej zależnościami i środowiskiem wykonawczym. Następnie wszystko, co musisz zrobić, to zdobyć ten folder na swoim serwerze.

Jak przenieść pliki wokół naprawdę zależy od scenariusza ... To może być FTP, bagażu, Kudu (jeśli jesteś na Azure stron internetowych), itp

Inną alternatywą jest zrobić przywracanie na serwer. Chociaż zmniejsza to rozmiar aplikacji podczas publikowania, będziesz musiał przywrócić pakiety na serwerze, które mogą być niebezpieczne, a także mogą prowadzić do przerw w działaniu, ponieważ mogą być nowsze, niekompatybilne pakiety na kanałach.

Chociaż nie ma właściwej odpowiedzi dla wszystkich, okazało się, że jeśli chcesz najbardziej wiarygodne i spójne wyniki, należy opublikować wszystko, przetestować lokalnie, a następnie po prostu skopiować pakiet na serwerze.

Do dokowania polecam to samo. Opublikuj przy użyciu środowiska wykonawczego i bez źródeł, a następnie utwórz kontener zawierający folder wynikowy.