지속적인 통합을 지원해주는 가장 유명한 도구인 Jenkins는
Java로 만들어졌고 400여개 이상의 플러그인을 제공해주고 있다.

지속적인 통합이라는 말을 이해하기 힘든 분은 그냥 빌드 자동화 (Build Automation) 도구라고만 이해해도 된다.

본래 Hudson이라는 이름의 도구였는데 Oracle에 흡수되면서 발생한 이슈들로 인해서
2010년 투표를 통해 별도 분리를 하기로 결정을 하고 2011년에 Jenkins라는 이름을 달고 별도 프로젝트로 분리했다.

Hudson을 만든 사람으로 유명한 Kohsuke Kawaguchi는 여전히 Jenkins 개발에도 참여하고 있으며,
여전히 많은 plugin 개발에도 참여하고 있다.

사실 Kohsuke는 약 8년 정도 Sun Microsystems에서 근무를 했었다.
그러다가 2010년도에 Sun이 Oracle에 합병이 되면서 짧게 나마 Oracle에서 근무를 했었다.
이런 이유로 Hudson이 Oracle 소유가 되어버린 것 같다.

http://jenkins-ci.org/




1. Release vs LTS (Long-Term Support Release)

   - 실제 업무에 사용하기 위해서는 LTS 버전으로 설치 하는 것을 추천한다.



2. JDK installation

   - http://whatwant.tistory.com/438



3. Download

   - LTS 가장 최신 버전으로 다운로드
   - 설치 경로는 필자의 개인적인 취향 (개취존중 !)




4. Script

   - 사실 Jenkins를 실행하는 것은 정말 쉽다.
   - [ java -jar jenkins.war ] 명령만으로도 실행이 가능하다.

   - 하지만, 제대로 서버에서 Jenkins를 활용하기 위해서는 script를 만들어서 init.d 로 관리하는 것을 추천한다.

$ sudo nano /etc/init.d/jenkins

#!/bin/sh

DESC="Jenkins CI Server"
NAME="jenkins"
PIDFILE="/var/run/$NAME.pid"
#RUN_AS="jenkins"
RUN_AS="chani"
COMMAND="/usr/bin/java -- -jar /srv/install/jenkins/jenkins.war"

d_start() {
        start-stop-daemon --start --quiet --background --make-pidfile --pidfile $PIDFILE --chuid $RUN_AS --exec $COMMAND
}

d_stop() {
        start-stop-daemon --stop --quiet --pidfile $PIDFILE
        if [ -e $PIDFILE ]
                then rm $PIDFILE
        fi
}

case $1 in
        start)
                echo -n "Starting $DESC: $NAME"
                d_start
                echo "."
                ;;
        stop)
                echo -n "Stopping $DESC: $NAME"
                d_stop
                echo "."
                ;;
        restart)
                echo -n "Restarting $DESC: $NAME"
                d_stop
                sleep 1
                d_start
                echo "."
                ;;
        *)
                echo "usage: $NAME {start|stop|restart}"
                exit 1
                ;;
esac

exit 0

   - 나중에 빌드 서버를 제대로 활용하기 위해서 고려해야 하는 부분은 RUN_AS 부분이다.
   - 어떤 계정 권한으로 Jenkins를 실행할 것인지 명시하는 부분이다.

$ sudo chmod +x /etc/init.d/jenkins
$ sudo service jenkins start

   - 지금은 이렇게 직접 실행을 하지만, 이후부터는 재부팅 때 자동으로 실행이 된다.


   - 별다르게 설정하지 않으면 기본적으로 8080 포트를 사용한다.


설정이나 사용하는 방법에 대해서는 별도로 살펴보도록 하겠다.
일단은 실행해서 접속이 되는 것까지 진행한 것으로 만족하자 !!! ^^


(흑흑... 실은 내일 출근하려면 지금 자야한다.... 연휴의 첫째날..... 새벽 1시를 막 넘긴 시간에.... 흑흑....)
반응형

+ Recent posts