Je déplace un ensemble particulier de générations d'un projet Visual Studio Team Service existant vers un nouveau. Malheureusement, je ne trouve pas de moyen de migrer les définitions de construction d'un projet à un autre. Il ne semble pas y avoir de fonction d'importation/exportation ou autre mécanisme.
Existe-t-il un moyen de les déplacer sans recréer manuellement les générations dans le nouveau projet?
Ceci est maintenant disponible dans l'interface utilisateur Web VSTS Build Définitions:
.
Vous pouvez utiliser maintenant une extension Export/Import Build Definition dans Visual Studio Marketplace.
Il n’est pas possible de copier ou de synchroniser un modèle de définition de construction vnext entre des projets d’équipe. Le modèle de définition de construction est uniquement destiné au projet d'équipe actuel. Vous devez donc créer un modèle de définition de construction pour chaque projet d'équipe.
Et aussi il y a eu une demande de fonctionnalité sur UserVoice , vous pouvez voter et surveiller
VSO build vnext: partage de modèles de construction entre projets https://visualstudio.uservoice.com/forums/330519-team-services/suggestions/8468566-vso-build-vnext- share-build-templates-between-pro
Cependant, cela peut être réalisé à l'aide de l'API. Voici un outil simple vous pouvez utiliser. (Besoin de faire partie de la même collection de projet d'équipe.)
Vous pouvez faire quelque chose comme ceci:
$project1Url = "http://tfs:8080/tfs/collection/project1/_apis/build/definitions/$($buildId)?api-version=2.0"
$obj = Invoke-RestMethod -Uri $project1Url -Method Get -ContentType "application/json" -UseDefaultCredentials
$obj.project = $null
#TODO: Update all repository/source control info, too.
$json = ConvertTo-Json $obj -Depth 3
$project2Url = "http://tfs:8080/tfs/collection/project2/_apis/build/definitions/?api-version=2.0"
Invoke-RestMethod -Uri $url -Method Post -Body $json -ContentType "application/json" -UseDefaultCredentials
En résumé: récupérez la définition existante dans le projet source (projec1), supprimez les liens du projet, définissez les nouvelles informations de référentiel selon vos besoins et envoyez la nouvelle définition sous la forme d'un POST (CREATE) au projet cible. (projet2).
Vous pouvez utiliser les API REST pour effectuer cette opération. Il y a un exemple montré ici .
Il montre comment obtenir la réponse JSON d'une définition de construction et utiliser à nouveau la même référence pour en créer une nouvelle dans le projet souhaité.
Dans
Sur l'exportation du projet source (via ...) chaque définition de construction
Dans le projet Destination, dans la vue des dossiers pour les définitions de construction, cliquez sur Nouveau-> Importer et ajustez: Pool d'agents Référentiel Chemin (à vérifier ultérieurement, lors de l'enregistrement de l'importation) )
Exporter la définition de construction importée avec succès