Условия If в трубопроводе Jenkinsfile (windows) - PullRequest
0 голосов
/ 18 февраля 2020

см. Ниже мой Jenkinsfile.

В настоящее время я останавливаю и удаляю службу windows, затем воссоздаю и перезапускаю. Однако я хочу остановить службу, только если она уже запущена ..... и я хочу удалить только, если она существует.

Кто-нибудь может помочь?

node {
      stage('Scm-Checkout'){
          git credentialsId: 'git-creds', url: 'https://jamurphy@bitbucketdev.ca.bestbuy.com/scm/mot/mpx_spring_react.git'
      }
      stage('Build') { 
          bat 'mvn clean package' 
      }
  stage('Create Windows Service'){
          bat 'copy C:\\Jenkins\\workspace\\Build_Mpx_Spring_React\\target\\mpx_spring_react.jar C:\\Jenkins\\workspace\\Build_Mpx_Spring_React\\win_svc'
          bat 'net stop mpxsvc' 
          bat 'sc delete mpxsvc' 
          bat 'C:\\Jenkins\\workspace\\Build_Mpx_Spring_React\\win_svc\\WinSW.NET4.exe install'
          bat 'net start mpxsvc' 
      }
}

1 Ответ

1 голос
/ 18 февраля 2020

Вы можете использовать оператор when, как показано ниже, в отношении mpxsvcisrunning вы можете захватить выходные данные команды status и проверить ее.

node{
        stage("stop mpxsvc"){
            when { expression { mpxsvcisrunning() } }
            steps { 
            }
        }
}


def mpxsvcisrunning(){
   // check if the applicaion is runnning 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...