이 페이지에서는 Tomcat상에 설치된 Jenkins를 서버구동시에 자동으로 시작되도록 하는 방법을 설명합니다.

테스된 환경설정은 다음과 같습니다.

  • OS : Amazon Linux
  • Tomcat : 8
  • Java : 8
  • CATALINA_HOME 디렉토리 : /local/tomcat
  • CATALINA_BASE 디렉토리 : /local/tomcat-jenkins

Tomcat 은 CATALINA_HOME(Tomcat 엔진이 설지된 위치), CATALINA_BASE(어플리케이션 별로 사용될 Tomcat Instance용 디렉토리) 디렉토리를 분리해 설정했습니다.



'/etc/init.d/jenkin.sh' 파일 작성

#!/bin/bash


### BEGIN INIT INFO

# Provides:        jenkins

# Required-Start:  $network

# Required-Stop:   $network

# Default-Start:   2 3 4 5

# Default-Stop:    0 1 6

# Short-Description: Start/Stop Jenkins server

### END INIT INFO


export TOMCAT_SERVER_NAME="jenkins-master"

CUR_DIR="/local/tomcat-jenkins"


export JAVA_HOME=/local/jdk

export CATALINA_HOME=/local/tomcat


export CATALINA_OPTS="-Denv.servername=${TOMCAT_SERVER_NAME}"

export CATALINA_BASE="${CUR_DIR}"

export CATALINA_TMPDIR="${CUR_DIR}/temp"

export CATALINA_OUT="${CUR_DIR}/logs/catalina.out"

export CATALINA_PID="/var/run/${TOMCAT_SERVER_NAME}.pid"


start() {

 sh /local/tomcat/bin/startup.sh

}


stop() {

 sh /local/tomcat/bin/shutdown.sh

}


*** 만일 서비스 구동시 특정 지정된 사용자를 이용해서 구동해야 하는 경우 다음과 같은 쉘 커맨드 형식을 Start와 Stop 함수에  사용합니다.

다음의 예제는 tomcat서비스를 "jenkins" 사용자로 구동하는 예제입니다.

start() {

     su -c "/opt/tomcat/bin/startup.sh" jenkins

}


stop() {

     su -c "/opt/tomcat/bin/shutdown.sh" jenkins

}




권한 변경 및 Check config 에 등록 for Auto start on boot up


Shell> chmod 755 jenkins


Shell> chkconfig jenkins on




Service command 를 이용한 Start, Stop, Restart


Shell> service jenkins start


Shell> service jenkins stop


Shell> service jenkins restart




Auto start 서비스에 등록된 정보를 확인 하고자한다면


Shell> chkconfig --list jenkins






Posted by Steven J.S Min
,