Как запустить конвейер jenkins относительно подкаталога? - PullRequest
0 голосов
/ 11 февраля 2019

У меня есть репозиторий git с двумя модулями.Один из них - это внутренний модуль на основе SpringBoot, а другой - модуль внешнего интерфейса на основе VueJS.

app-root
  - backend
  - frontend

У меня есть Jenkinsfile декларативного стиля для создания моего внутреннего модуля с соответствующими командами maven.Я хочу выполнить все эти команды maven из каталога backend .

Один из вариантов - использовать dir("backend") { ....} для всех команд по отдельности, что мне некрасиво.

Есть ли другой способ дать Дженкинсу команду выполнить весь конвейер из подкаталога?

1 Ответ

0 голосов
/ 11 февраля 2019

Вы можете иметь файлы jenkins внутри модулей бэкэнда и внешнего интерфейса и просто указывать на них на каждом конвейере, например:

enter image description here

и на самом конвейере.просто cd для субмодуля и выполните его команды:

pipeline {
   agent any

   stages {
        stage('build') {
            steps {
                 sh 'cd backend'
                 sh 'mvn clean package'
             }
       }

    //other stages
   }

}

, если вы не хотите cd для субмодуля, вы можете использовать разреженные проверки , но в этом случаевы должны соответственно изменить путь к файлу jenkins, поскольку он будет находиться в корневой папке.

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