Mój zespół korzysta z Visual Studio Team Services do zarządzania naszym kodem źródłowym w repozytorium TFS. Rozwiązanie zawiera wiele aplikacji internetowych. Próbuję skonfigurować ciągłą integrację i ciągłe wdrażanie tego rozwiązania, tak aby każda aplikacja internetowa została wdrożona w poprawnej aplikacji internetowej Azure po pomyślnej kompilacji. Skonfigurowałem BuildDefinition do zbudowania $/MyProduct/MAIN/MySolution.sln. Mam zdefiniowane następujące parametry dla MSBuild oparte na pewnych MSDN artykułów znalazłem na ten temat:za pomocą usług zespołu visual studio, aby zbudować rozwiązanie zawierające wiele aplikacji internetowych i wdrożyć te aplikacje internetowe do lazuru
/p:DeployOnBuild=true
/p:WebPublishMethod=Package
/p:PackageAsSingleFile=true
/p:SkipInvalidConfigurations=true
/p:PackageLocation="$(build.stagingDirectory)"
Build kroki obejmują Visual Studio krok budować, krok testu Visual Studio (obecnie wyłączone, aby zminimalizować złożoność), krok Indeks źródeł i symboli publikacji (którego naprawdę nie potrzebuję), a na końcu krok Kopiuj i opublikuj kompilację artefaktów.
Jestem w stanie zbudować to rozwiązanie za pomocą tej konfiguracji. Mogę zobaczyć wyniki kompilacji, dziennik kompilacji, szczegóły kompilacji itp. Kiedy patrzę na utworzone artefakty, widzę dwa artefakty: "drop" i "build.sourceLabel" Jeśli eksploruję plik upuszczania za pomocą Eksploratora artefaktów Znajduję wszystkie moje projekty w tym pliku drop, a dla projektów aplikacji internetowych mogę przejść do folderu webapp1 \ obj \ QA \ Package \ PackageTemp \ bin i zobaczyć wszystkie biblioteki DLL itp. Dla aplikacji internetowej.
To, czego nie widzę, to jeden plik zip na każdą aplikację internetową, na co liczy się funkcja wydania Visual Studio Team Services.
Chciałbym wiedzieć, jak zmodyfikować moją bieżącą konfigurację, aby wygenerować poprawne artefakty z poziomu kompilacji, dzięki czemu mogę utworzyć prawidłowe zadania wdrażania aplikacji Wep wydania, aby wdrożyć każdą aplikację internetową do właściwej aplikacji internetowej. moje środowisko.
Wszystko dzieje się za pomocą Visual Studio 2015 i Visual Studio Online (Team Services).
dzięki za odpowiedź ... Zrobiłem kilka dalszych badań i okazało się, że z nowym projektem/rozwiązanie/webapp, ja może sprawić, że zadziała tak, jak opisałeś. Myślę, że prawdziwym problemem jest to, że nasze projekty i rozwiązania zostały utworzone w VS2013 i .NET 4.0, a następnie zmigrowano/zaktualizowano/etc. Prostym faktem jest, że pliki .sln i .csproj są budowane lokalnie, ale nie w VSO. Zamierzam stworzyć nowe projekty i pliki rozwiązań i sprawdzić, czy to daje lepsze wyniki. –
@MichaelSchulz Pracuję nad tym samym problemem, rozwiązaniem stworzonym w VS2013, a nie w VSO. Wszelkie pomysły, jak to naprawić? – TWilly
Bardzo dobra odpowiedź dla Visual Studio Online RM – user3447136