2009-10-27 9 views
5

Czy ktoś może rzucić nieco światła na to, jak sprawić, aby Team Build 2010 beta 2 wypchnął projekt bazy danych SQL na serwer SQL?W jaki sposób: Wdrażać projekt bazy danych SQL za pomocą Team System Build 2010 (beta 2)

W VSTS 2008 wystarczy dodać komendy MSBuild z atrybutem celów ustawionym na "wdrażanie" w pliku TFSBuild.proj, ale mam problem z tłumaczeniem tego na nowy xaml oparty na workflow, który jest używany w 2010 roku. .

Czego szukam, to jak uruchomić rzeczywiste rozmieszczenie samych baz danych. To już generuje skrypty wdrażania.

Odpowiedz

6

Dla każdego, wciąż szuka odpowiedzi, należy użyć w procesie, który używa vsdbcmd.exe Invoke: http://msdn.microsoft.com/en-us/library/ff805001.aspx

+0

Dziękuję bardzo za tę odpowiedź! Opuściłem ten artykuł i nigdy tak naprawdę nie rozwiązałem tego problemu. –

+0

Czy to tylko ja, czy jest to prawie niemożliwe podczas nocnej kompilacji? –

+0

Szczerze mówiąc, zrezygnowałem z używania kompilacji zespołu do wdrożenia DB. Zamiast tego zamieniłem wszystko na nasze codzienne używanie bazy danych dołączonej do pliku SQL Express, którą utrzymujemy w ramach naszego procesu rozwoju; kiedy sprawdzamy zawartość projektu DB, upewniamy się, że użyjemy porównania schematu, aby zapisać zmiany w referencyjnym DB. W ten sposób możemy korzystać z projektów DB, upewniając się, że "budują" co noc, ale nie muszą się bać z rozmieszczeniem projektu DB. –

1

Oto przykład:

http://www.nablasoft.com/alkampfer/index.php/2009/10/06/deploy-a-database-project-with-tfs-build/

Być może, że jesteś po prostu brakuje DeployToDatabase = true

+0

Tak, dokładnie tak to robisz ... w VS 2008 przy użyciu budowania zespołu 2008. Potrzebuję informacji o tym, jak to zrobić w tfs 2010, który teraz używa pliku przepływu pracy opartego na XAML do sterowania kompilacją proces. –

+0

Musiałem edytować XAML (w straszliwie powolnym edytorze graficznym XAML!), Aby dodać "/ t: Build, Deploy" do argumentów msbuild. –

0

Najbliższy rzeczą znalazłem tak daleko jest this post z Jimem Lamb (The Team Foundation PM w Microsoft).

Tutaj mówi niejasno o tworzeniu niestandardowego pliku proj i modyfikuje domyślny szablon procesu kompilacji, aby wywołać plik proj.

Mówi również o korzystaniu z szablonu aktualizacji, który wcześniej zignorowałam. Wygląda na to, że szablon aktualizacji może być użyty do wywołania definicji kompilacji 2008. Wolę nie wywoływać i definiować całą kompilację na podstawie starszego pliku proj, ale przynajmniej jest to opcja.

Żaden z tych tematów nie zawiera wystarczających informacji, aby faktycznie dokonać niezbędnych modyfikacji, ale daje mi rozsądny punkt wyjścia do przyszłych eksperymentów.

+0

Mam ten sam problem. Czy kiedykolwiek dostałeś odpowiedź? – aquinas

+0

Nie. Nigdy nie znalazłem odpowiedzi. Odkładałem aktualizację do 2010 roku, kiedy to RTM. Mam nadzieję, że wydanie będzie miało więcej funkcji do wdrożenia lub przynajmniej trochę więcej dokumentacji i instrukcji dostosowywania przepływu pracy. –

1

Nie ma innego rozwiązania tego problemu, jeśli nie trzeba przyrostowe uaktualnienie bazy danych. Więc jeśli odtworzenie bazy danych dla każdej kompilacji jest w porządku, następujące czynności również by działały.

Dodaj cel wdrożyć do pliku bazy danych Projektu

skonfigurować ustawienia wdrażania dla „My project settings”. Ustawienia te będą następnie używane przez serwer kompilacji podczas budowania rozwiązania. Podczas budowania lokalnie używane będą ustawienia z "My isolated development environment".

  1. W właściwości projektu bazy danych

Deploy działania muszą być „Create a deployment script (.sql) and deploy the database”; to uniemożliwi wykonanie skryptu, tylko go utworzy.

  1. plik projektu bazy danych

zmodyfikować plik projektu bazy danych (projekt bazy danych kliknij prawym przyciskiem myszy, wybierz Unload, ponownie kliknij prawym przyciskiem myszy, wybierz Edit [NazwaProjektu].dbproj) z

<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0"> 

Aby

<Project DefaultTargets="Build;Deploy" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0"> 

Gdy serwer budowy buduje roztwór zawierający projekt bazy danych, dodając cele domyślne będą również wdrażać bazy danych. Ta kompilacja użyje ustawień wdrażania wybranych dla "My project settings".

Plusy

  • Łatwa konfiguracja

Wady

  • Ponieważ cel domyślna zmienia się zbudować i wdrożyć, gdy deweloper zrobić lokalny Rebuild rozwiązania, wdroży także bazę danych (budynek nie będzie wyzwalał wdrożenia)
Powiązane problemy