Выберите ветку git в зависимости от файла артефакта - PullRequest
0 голосов
/ 24 октября 2018

У меня есть работа Дженкинса, чтобы выполнять свои тесты каждый раз, когда у нас есть официальный релиз.Для этого задания требуется определенная ветвь, зависящая от новой версии выпуска.

Например, если новая версия 3.14.15.9.627, ветвь должна быть * / ver / 3.14.15.

Каждый раз, когда выходит новая версия, мне приходится вручную изменять конфигурацию задания в соответствии с нашими потребностями следующим образом:

  • Изменение управления исходным кодом> Ветви для построения на * /ver / 3.14.15

  • Изменение конфигурации артефакта> Сведения о загрузке> Спецификация на:

    "files": [  
    {
        "pattern": "my_repo/ver/3.14.15/3.14.15.9.627/*.exe",
        "target": "${WORKSPACE}/installer/"
    },
    

Как настроить оба gitветка и спецификации артефакта в функции загруженных инсталляторов?

1 Ответ

0 голосов
/ 25 октября 2018

Автоматически запускать задание Дженкинса при выходе новой версии с помощью веб-хуков.Ваше задание jenkins может быть настроено, как показано ниже, например, и вы можете динамически подключать имя ветки и хранилища, которое можно получить из веб-крючка.

checkout poll: false, scm: [$class: 'GitSCM', branches: [[name: "refs/heads/${branchName}"]], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[url: "git@bitbucket.org:${repoName}.git"]]]

Сконфигурируйте свою спецификацию загрузки Artifactory для чего-либокак ниже.Если ваши имена артефактов уникальны и могут быть извлечены из вашей сборки или репозитория, вы можете вставить значение в переменную artifact_name и использовать его в своем шаблоне.

"files": [  
{
    "pattern": "my_repo/ver/(*)/(*)/${artifact_name}*.exe",
    "target": "${WORKSPACE}/installer/"
}

ИЛИ

Сконфигурируйте вашу спецификацию загрузки Artifactory примерно так, как указано ниже, если ваши имена артефактов не уникальны.Напримересли ваш новый выпуск 3.14.15.9.627, и вы можете прочитать это из файла или где-нибудь в вашем репо, вы можете выполнить grep и назначить 3.14.15 переменной branchVersion и 3.14.15.9.627 переменной releaseVersion

"files": [  
{
    "pattern": "my_repo/ver/${branchVersion}/${releaseVersion}/*.exe",
    "target": "${WORKSPACE}/installer/"
}

Если вы используете инструмент сборки, такой как Maven, это станет еще проще

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...