¿Hay alguna manera de crear fácilmente un espacio de trabajo, basado en una "plantilla" preexistente? ... o alguna otra forma de crear espacio de trabajo en nombre de otros?Creación automatizada del espacio de trabajo en Team Foundation Server
Respuesta
puede crear un espacio de trabajo utilizando un script de comando utilizando el comando tf workspace. Luego puede mapear carpetas de trabajo usando el comando tf workfold. El comando de espacio de trabajo tiene una opción/plantilla
Por ejemplo:
para crear un espacio de trabajo para alguien
tf workspace /new Beta1;jenh
continuación, crear uno nuevo basado en la plantilla
tf workspace /new /template:Beta1;jenh /server:teamserver2 Beta1;user2
para mapear una carpeta:
tf workfold /map $/projects/project_one C:\localproject1 /workspace:Beta1;user2
También puede copiar y pegar las asignaciones del espacio de trabajo de un área de trabajo a otra.
- Edite el espacio de trabajo de la plantilla.
- Seleccione las asignaciones que desea copiar.
- Presione Ctrl + C
- Crear un nuevo espacio de trabajo (o editar una existente)
- Tab en la red de carpetas de trabajo.
- Presione Ctrl + V
También puede pegar las asignaciones en el Bloc de notas, actualizarlos y, copiar y pegar de nuevo en el editor de espacio de trabajo.
El formato se verá en el bloc de notas: :
Ejemplo: $/TeamProj1/Tronco /: C: \ TFS \ WorkingFolder \
Dependiendo de la cantidad de control de grano fino que quieren más el proceso, he encontrado esta secuencia de comandos PowerShell para ser eficaz:
"Microsoft.TeamFoundation.Client",
"Microsoft.TeamFoundation.VersionControl.Common",
"Microsoft.TeamFoundation.VersionControl.Client" |
ForEach-Object { Add-Type -AssemblyName "$_, Version=11.0.0.0, Culture=Neutral, PublicKeyToken=b03f5f7f11d50a3a" }
$tfsUrl = "http://tfsserver:8080/collection"
$tfs = [Microsoft.TeamFoundation.Client.TeamFoundationServerFactory]::GetServer($tfsUrl)
$vcs = $tfs.GetService([type]"Microsoft.TeamFoundation.VersionControl.Client.VersionControlServer")
$workspaceParameters = New-Object Microsoft.TeamFoundation.VersionControl.Client.CreateWorkspaceParameters -ArgumentList "WorkspaceName"
# Add any specific parameters that you want according to http://msdn.microsoft.com/en-us/library/microsoft.teamfoundation.versioncontrol.client.createworkspaceparameters.aspx
# e.g. $workspaceParameters.Comment = ""
# e.g. $workspaceParameters.Computer = ""
# e.g. $workspaceParameters.Location = [Microsoft.TeamFoundation.VersionControl.Common.WorkspaceLocation]::Local
$workspace = $vcs.CreateWorkspace($workspaceParameters)
# Add any working folders that you would defined below
# e.g. $workspace.Map("$/", "C:\ProjectDirectory")
Todos los parámetros que capaz de ser definidos se lista en este artículo de MSDN: http://msdn.microsoft.com/en-us/library/microsoft.teamfoundation.versioncontrol.client.createworkspaceparameters.aspx Una ventaja de este método sobre tf.exe es que puede definir explícitamente la ubicación del espacio de trabajo (es decir servidor o local), y usted tiene mucho más control sobre las asignaciones que se definen en la creación.
Debería poder modificar la configuración adecuada y volcar este código en cualquier archivo * .ps1.
Puede comenzar hacer nada con la modificación de este script de F #:
///
/// Creates new local TFS workspace for specified folder and branch conventionally naming locals with server names
///
// Install Team Explorer
#r "Microsoft.TeamFoundation.Client"
#r "Microsoft.TeamFoundation.VersionControl.Common"
#r "Microsoft.TeamFoundation.VersionControl.Client"
open Microsoft.TeamFoundation.VersionControl
open Microsoft.TeamFoundation.VersionControl.Common
open Microsoft.TeamFoundation.VersionControl.Client
open Microsoft.TeamFoundation.Client
//change these
let tfsUrl = "http://tfsserver:8080/collection"
let branch ="dev_features"
let folder = "/FeaturesProject/"
//conventions
let workspaceName = System.Environment.MachineName+"_"+branch
let localFolder = "D:"+folder+branch
let serverFolder = "$/"+folder+branch
// actions
let tfs = TeamFoundationServerFactory.GetServer(tfsUrl)
let vcs = tfs.GetService<VersionControlServer>()
let workspaceParameters = Client.CreateWorkspaceParameters(workspaceName)
workspaceParameters.Folders <- [| WorkingFolder(serverFolder,localFolder) |]
workspaceParameters.Location <- System.Nullable<WorkspaceLocation>(WorkspaceLocation.Local)
let workspace = vcs.CreateWorkspace(workspaceParameters)
//run
workspace |> ignore
- 1. Team Foundation Server - Guía del programador
- 2. Team Foundation Server "Build Controller"
- 3. Conectarse a Team Foundation Server
- 4. ¿Cómo puedo recuperar el acceso al espacio de trabajo de mi Team Foundation Server?
- 5. ¿Qué es "$ (SourceDir)" en Microsoft Team Foundation Server?
- 6. Team Foundation Server - Área/Iteración
- 7. Trabajar sin conexión en Team Foundation Server
- 8. Migrar de Subversion a Team Foundation Server
- 9. Acceso remoto a Team Foundation Server 2010
- 10. De SourceSafe a Team Foundation Server
- 11. Team Foundation Server Variables de compilación
- 12. Team Foundation Server fusionar sin fusionar
- 13. ¿Es Team Build 2012 compatible con Team Foundation Server 2010?
- 14. Configuración del servidor Team Foundation
- 15. Team Foundation Server - TF Obtenga el conjunto de cambios número
- 16. Team Foundation Server 2010 y la carpeta del paquete NuGet
- 17. Configurar permisos de usuario para Team Foundation Server 2010
- 18. Cómo determinar la plantilla de proceso utilizada en Team Foundation Server después de la creación del proyecto de equipo
- 19. Team Foundation Server: Asignar elemento de trabajo a un grupo en lugar de un usuario individual
- 20. pruebas unitarias de JavaScript con Team Foundation Server Construir
- 21. interruptor de Team Foundation Server entre las ramas
- 22. Team Foundation Server Estructura de control de fuente
- 23. Uso de áreas e iteraciones en Team Foundation Server 2008
- 24. Team Foundation Server - ¿Qué plantilla de proceso es para mí?
- 25. Team Foundation Server solicitando Credenciales de inicio de sesión
- 26. ¿Hay algún enlace precompromiso en Team Foundation Server 2010?
- 27. En Team Foundation Server, ¿cómo se bifurca un proyecto?
- 28. ¿Cómo se obtiene la última versión del código fuente con Team Foundation Server SDK?
- 29. Identificación de la versión de Team Foundation Server
- 30. Cómo acceder a Team Foundation Server (TFS) desde Linux
+1 buen resumen. –
La única advertencia que agregaría a esto es que no se puede hacer esto en la máquina a la que se refiere la plantilla, ya que se obtiene un error de que las carpetas ya están mapeadas. –
Sí, ya que solo puede una carpeta en un área de trabajo para una máquina –