반응형

개요 : 개발서버에서 젠킨스를 이용하여 svn에 등록된 소스를 톰캣에 반영시키는 중인데 젠킨스에서 빌드를 시킬 때 톰캣을 수동으로 재기동 시키기 않으면 적용이 제대로 안되는 문제가 발생하였다. 그리하여 젠킨스 빌드후에 쉘을 사용하여 톰캣이 재기동 되도록 하였다.

환경 : centos 7, 젠킨스 2.346.1, 톰캣 8.5

방법 : 

1. 본인이 원하는 경로에 vi나 vim으로 sh 파일을 만든다.

  * 예시 : /usr/local/etc/jenkins_custom/custom_tomcat_restart.sh

  * sh 파일의 내용

echo 'Tomcat shutdown'
/usr/local/apache-tomcat-8.5.xx/bin/shutdown.sh

sleep 10

echo 'Tomcat start'
/usr/local/apache-tomcat-8.5.xx/bin/startup.sh

2. visudo 명령어를 사용하여 /etc/sudoers 파일을 수정한다.

   약 100라인쯤에 root ALL=(ALL)     ALL 라인이 보이면 하단에

root    ALL=(ALL)          ALL
jenkins ALL=(ALL)   NOPASSWD: ALL

   추가 후 저장한다.

3. 젠킨스에서 빌드 후에 쉘을 실행하도록 지정한다.

젠킨스에서 빌드 후에 쉘을 실행하도록 설정

4. 젠킨스에서 빌드를 진행하면 쉘(sh)이 동작하는 것을 로그를 통해서 확인 할 수 있다.

5. 문제발생

   sh 파일에서 sleep을 10초 이상으로 설정하면 젠킨스 오류가 발생한다...

   그리고 자바나 sql 이 정상적으로 반영이 안되는 문제가 발생하였다. 메모리에 톰캣이 남아있어서 발생하는 문제인 것 같은데 추후에 해결책을 찾아봐야겠다......

[도움을 받은 곳]

visudo : https://mans-daily.tistory.com/entry/%EB%A6%AC%EB%88%85%EC%8A%A4UbuntuCentOS-etcsudoers-%ED%8C%8C%EC%9D%BC%EC%9D%84-%EC%88%98%EC%A0%95%ED%95%98%EC%97%AC-sudo-%EA%B6%8C%ED%95%9C-%EB%B0%8F-root-%EA%B6%8C%ED%95%9C-%EB%B6%80%EC%97%AC%ED%95%98%EA%B8%B0

 

[리눅스(Ubuntu/CentOS)] /etc/sudoers 파일을 수정하여 sudo 권한 및 root 권한 부여하기

안녕하세요 오늘 포스팅에서는 리눅스 사용자에게 sudo 권한과 root 권한을 부여하기 위해 /etc/sudoers 파일을 수정하는 방법을 설명하도록 하겠습니다. 우선 /etc/sudoers 파일은 root 권한이 있어야지

mans-daily.tistory.com

젠킨스 설정 : https://velog.io/@livenow/Jenkins-Execute-Shell-%EB%AA%85%EB%A0%B9%EC%96%B4%EC%97%90%EC%84%9C-sudo%EB%A5%BC-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0-%EC%9C%84%ED%95%9C-%EC%84%A4%EC%A0%95

 

[Jenkins] Execute Shell 명령어에서 sudo를 사용하기 위한 설정

젠킨스에서 빌드 진행 시 관리자 권한으로 실행이 필요한 경우가 있습니다.

velog.io

 

반응형

+ Recent posts