2012-07-03 16 views
5

Estoy intentando ejecutar una secuencia de comandos de Powershell durante mi proceso de creación, pero no puedo averiguar cómo acceder al archivo ps1 que está registrado en el control de fuente (TFS 2010). Hay una pregunta similar, por lo que existe, pero estoy realmente no estoy seguro si es correcta:Ejecutar secuencia de comandos de Powershell que se encuentra en control de fuente TFS

TFS 2010: run powershell script stored in source control

Mi control de la fuente de TFS se configura como tal:

= Proyecto
BuildScripts ==
=== MyScript.ps1
Código == ===
Dir1
==== MySolution.sln

Pensé que pasar algo como SourcesDirectory + "\..\..\MyScript.ps1" (para decirle a Powershell dónde está el guión) funcionaría, pero creo que me voy a algún lado.

¿Alguien me puede ayudar a averiguar cómo hacer referencia al archivo ps1 y ejecutarlo?

+0

Sí, la otra respuesta parece perfectamente correcta. – DaveShaw

+0

@DaveShaw, actualicé mi pregunta con mi estructura de control de origen, y con un poco de suerte hice que lo que estaba pidiendo fuera un poco más claro. – Matt

Respuesta

4

Deberá tener una configuración de Espacio de trabajo en su Definición de compilación que incluya el directorio con la secuencia de comandos de Powershell.

Por lo que su asignación podría ser como:

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

Usted tendrá que añadir:

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

Su InvokeProcess puede pasar entonces Path.Combine(SourceDirectory, "BuildScripts", "MyScript.ps1") a la línea de comandos de PowerShell.

N.B. También puede establecer el espacio de trabajo $/Project/Code/Dir en $(SourcesDir)/Code.

+1

yup, eso fue todo ... No tenía una configuración de espacio de trabajo adecuada para el directorio BuildScripts. ¡Gracias de nuevo! – Matt

Cuestiones relacionadas