Как оформить несколько папок TFS в одном конвейерном задании - PullRequest
0 голосов
/ 02 марта 2020

Предположим, что существует репозиторий TFS

http://tfstta.example.com: 8080 / tfs / DefaultCollection /

и предположим, что в этом репозитории есть пять папок

Папка1, Папка2, Папка3, Папка4, Папка5

В Jenkins с использованием плагина TFS я могу настроить, как показано ниже, для клонирования одной папки из репозитория,

Вот конфигурация однобокого папок ( Пожалуйста, просмотрите ее )

Как можно клонировать несколько папок одновременно?

Ответы [ 3 ]

0 голосов
/ 03 марта 2020

Вы можете проверить следующий код:

checkout([$class: 'TeamFoundationServerScm', 
credentialsConfigurer: [$class: 'AutomaticCredentialsConfigurer'], 
projectPath: '$/ProcessControlSystems/RSBatch', 
serverUrl: 'http://tfstta.example.com:8080/tfs/DefaultCollection',  
useOverwrite: true, 
useUpdate: true, 
workspaceName: 'Hudson-${JOB_NAME}-${NODE_NAME}'])
0 голосов
/ 04 марта 2020

Наконец Этот код работал для меня , Спасибо всем, кто откликнулся.

Теперь я могу использовать этот код несколько раз в одном файле groovy, изменив путь к проекту.

withCredentials([string(credentialsId: 'PASSWORD-FORMASTAPPS', variable: 'PASSWORD')]) 
{
    checkout([$class: 'TeamFoundationServerScm',
    projectPath: '$/***Folder1 path***', 
    serverUrl: 'http://example1.com:8080/tfs/DefaultCollection', 
    useOverwrite: true, 
    useUpdate: true, 
    userName: 'TEN\\Uxxxxxxx', 
    password: hudson.util.Secret.fromString(PASSWORD),
    workspaceName: 'Hudson-${JOB_NAME}-${NODE_NAME}'])
    echo password
}

withCredentials([string(credentialsId: 'PASSWORD-FORMASTAPPS', variable: 'PASSWORD')]) 
{
    checkout([$class: 'TeamFoundationServerScm',
    projectPath: '$/***Folder2 path***', 
    serverUrl: 'http://example1.com:8080/tfs/DefaultCollection', 
    useOverwrite: true, 
    useUpdate: true, 
    userName: 'TEN\\Uxxxxxxx', 
    password: hudson.util.Secret.fromString(PASSWORD),
    workspaceName: 'Hudson-${JOB_NAME}-${NODE_NAME}'])
    echo password
}
0 голосов
/ 02 марта 2020

Используйте следующую структуру для многократных проверок конвейера:

stages 
{
    stage("GIT-Checkout") 
    {
        steps 
        {
        checkout([$class: 'GitSCM', branches: [[name: '<PARAM>']], doGenerateSubmoduleConfigurations: false, extensions: [[$class: '<PARAM>', relativeTargetDir: '<PARAM>', timeout: 20 ]], submoduleCfg: [], userRemoteConfigs: [[credentialsId: '<PARAM>', url: '<PARAM>']]])
        } // steps
    } // stage

    stage("GIT-Checkout2") 
    {
        steps 
        {
        checkout([$class: 'GitSCM', branches: [[name: '<PARAM>']], doGenerateSubmoduleConfigurations: false, extensions: [[$class: '<PARAM>', relativeTargetDir: '<PARAM>', timeout: 20 ]], submoduleCfg: [], userRemoteConfigs: [[credentialsId: '<PARAM>', url: '<PARAM>']]])
        } // steps
    } // stage

    stage("GIT-Checkout3") 
    {
        steps 
        {
        checkout([$class: 'GitSCM', branches: [[name: '<PARAM>']], doGenerateSubmoduleConfigurations: false, extensions: [[$class: '<PARAM>', relativeTargetDir: '<PARAM>', timeout: 20 ]], submoduleCfg: [], userRemoteConfigs: [[credentialsId: '<PARAM>', url: '<PARAM>']]])
        } // steps
    } // stage
} //Stages

*Replace <PARAM> with the required values
...