2012-07-03 13 views
5

Próbuję uruchomić skrypt Powershell podczas mojego procesu kompilacji, ale nie mogę się dowiedzieć, jak uzyskać dostęp do pliku ps1, który jest sprawdzany pod kontrolą źródła (TFS 2010). Jest podobny SO pytanie, co istnieje, ale jestem pewien, czy rzeczywiście nie jest to poprawne:Uruchom skrypt Powershell, który działa w ramach kontroli źródła TFS

TFS 2010: run powershell script stored in source control

Mój kontroli źródła TFS jest ustawiony jako takie:

= projektowe
== BuildScripts
=== MyScript.ps1
== Kod
=== dir1
==== MySolution.sln

Myślałem, że przekazanie czegoś takiego jak SourcesDirectory + "\..\..\MyScript.ps1" (aby powiedzieć Powershell, gdzie skrypt jest) będzie działało, ale myślę, że gdzieś jestem.

Czy ktoś może mi pomóc dowiedzieć się, jak odwołać się do pliku ps1, i uruchomić go?

+0

Tak, druga odpowiedź wygląda zupełnie poprawnie. – DaveShaw

+0

@DaveShaw, zaktualizowałem moje pytanie z moją strukturą kontroli kodu źródłowego i mam nadzieję, że to, o co proszę, jest bardziej jasne. – Matt

Odpowiedz

4

Konieczna będzie konfiguracja obszaru roboczego w definicji kompilacji, która zawiera katalog ze skryptem Powershell.

Więc odwzorowanie może być tak:

*Server*     *Workspace* 
$/Project/Code/Dir  - $(SourcesDir) 

Trzeba dodać:

*Server*     *Workspace* 
$/Project/Code/Dir  - $(SourcesDir) 
$/Project/BuildScripts - $(SourcesDir)/BuildScripts 

Twój InvokeProcess może następnie przekazać Path.Combine(SourceDirectory, "BuildScripts", "MyScript.ps1") do linii poleceń PowerShell.

N.B. Można także ustawić obszar roboczy $/Project/Code/Dir na $(SourcesDir)/Code.

+1

tak, to było to ... Nie miałem odpowiedniej konfiguracji przestrzeni roboczej dla katalogu BuildScripts. Dzięki jeszcze raz! – Matt

Powiązane problemy