0 امتیاز
قبل در کامپیوتر و اینترنت توسط (1.1هزار امتیاز)
برچسب گذاری دوباره قبل توسط

زمانی که یک job در jenkins با استفاده از shell script ، یک فرایند apache tomcat را برروی یک سرور لینوکس اجرا می کند پس از اتمام job در jenkins، فرایند apache tomcat اجرا شده برروی سرور نیز kill می شود یعنی سروری apache tomcat که توسط jenkins اجرا شده است پایین می آید.

1 پاسخ

0 امتیاز
قبل توسط (1.1هزار امتیاز)

این اتفاق به این دلیل رخ می دهد که چون apache tomcat توسط یک job در jenkins اجرا می شود پس درون ProcessTree آن job قرار می گیرد و در زمان اتمام آن job کل ProcessTree مربوط به آن نیز kill می شود و در نتیجه apache tomcat هم پایین می آید.

راه حل های این مشکل در این لینک بصورت مفصل توضیح داده شده است، مشکل من بدین صورت حل شد که قبل از اجرای apache tomcat توسط jenkins، با استفاده از متغییر BUILD_ID، مکان قرار گیری فرایند apache tomcat را در ProcessTree تغییر دادم و دیگر فرایند apache tomcat زیر مجموعه ProcessTree مربوط به job در حال اجرا نیست، در نتیجه پس از پایان job، فرایند apache tomcat کماکان زنده می ماند.

BUILD_ID=dontKillMe
sh ${CATALINA_HOME}/bin/startup.sh

البته مشکل این روش این است که در صورت پایین آمدن سرور jenkins، سرور apache tomcat نیز پایین می آید!

سوالات مشابه

+1 امتیاز
2 پاسخ 2.7هزار بازدید
0 امتیاز
2 پاسخ 469 بازدید
سوال شده 10 سال قبل در برنامه نویسی توسط Saeed Zarinfam (1.1هزار امتیاز)
+1 امتیاز
0 پاسخ 486 بازدید
+2 امتیاز
1 پاسخ 1.0هزار بازدید
+2 امتیاز
2 پاسخ 794 بازدید
سوال شده 4 سال قبل در برنامه نویسی توسط 1993 (242 امتیاز)
0 امتیاز
1 پاسخ 531 بازدید
0 امتیاز
2 پاسخ 1.8هزار بازدید
0 امتیاز
0 پاسخ 619 بازدید
...