Этап развертывания конвейера CICD не может появиться после успешного развертывания - PullRequest
0 голосов
/ 04 июля 2019

Справочная информация: развертывание весеннего загрузочного приложения с использованием декларативного сценария конвейера cicd

Выпуск:

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

Выполнено действие: даже мы добавили timeout=120000 в команду запуска, но без изменений в поведении.

Справка: пожалуйста, помогите нам, как сделать чистый выход после этапа развертывания из декларативного конвейера jenkin cicd.

Мы выполняем команду запуска. Код такой:

sshagent([sshAgent]) { sh "scp -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -v *.jar sudouser@${server}:/opt/project/tmp/application-demo.jar" sh "ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null sudouser@${server} nohup '/opt/java/hotspot/8/64_bit/jdk1.8.0_141/bin/java -jar -Dspring.profiles.active=$profile -Dhttpport=8890 - /opt/project/tmp/application-demo.jar ' timeout=120000" }

Мне нужно выйти (чистый выход) из сборки jenkins после успешного завершения этапа развертывания.

1 Ответ

0 голосов
/ 05 июля 2019

Вам необходимо добавить '&' к процессу запуска в backgroud. Пример:

nohup '/opt/java/hotspot/8/64_bit/jdk1.8.0_141/bin/java -jar -Dspring.profiles.active = $ profile -Dhttpport = 8890 - /opt/project/tmp/application-demo.jar &

Вы также можете поставить условие 'if' длякогда журнал появляется «запущен» для выхода из выполнения.Пример:

status(){
  timeout=$1
  process=$2
  log=$3
  string=$4
  if (timeout ${timeout} tail -f  ${log} &) | grep "${string}" ; then
    echo "${process} started with success."
  else
    echo "${process} startup failed." 1>&2
    exit 1
  fi
}

start_app(){
   java -jar -dspring.profiles.active=$profile -dhttpport=8890 - /opt/project/tmp/application-demo.jar >> /tmp/log.log 2>&1 &
   status "60" "application-demo" "/tmp/log.log" "started"
}
...