젠킨스는 지속적 통합(Continuous Integration), 빌드 자동화(Build Automation)을 구현하기 위해 자바(Java)로 작성된 웹 어플리케이션의 형태로 제작된 도구입니다.

 

1. JDK 설치 및 설정

JDK (Java Development Kit)을 적절한 곳에 설치 합니다.

http://www.oracle.com/technetwork/java/javase/downloads/index.html

[root@ruo91 ~]# tar xzvf jdk-7u45-linux-x64.tar.gz
[root@ruo91 ~]# mv jdk-7u45 /usr/local/jdk
[root@ruo91 ~]# nano ~/.bash_profile

# JDK
export JAVA_HOME=/usr/local/jdk
export JDK_HOME=$JAVA_HOME
export PATH=$PATH:$JAVA_HOME/bin
[root@ruo91 ~]# source ~/.bash_profile

2. Jenkins 설치

LTS(Long-Term Support)를 기준으로 받습니다.

http://jenkins-ci.org/

[root@ruo91 ~]# mkdir /opt/jenkins
[root@ruo91 ~]# wget -P /opt/jenkins http://mirrors.jenkins-ci.org/war-stable/latest/jenkins.war

3. Jenkins 실행

Jenkins를 실행합니다.

[root@ruo91 ~]# java -jar /opt/jenkins/jenkins.war

Running from: /opt/jenkins/jenkins.war
webroot: $user.home/.jenkins
11월 04, 2013 5:42:21 오전 winstone.Logger logInternal
INFO: Beginning extraction from war file
Jenkins home directory: /root/.jenkins found at: $user.home/.jenkins
11월 04, 2013 5:42:22 오전 winstone.Logger logInternal
INFO: HTTP Listener started: port=8080
11월 04, 2013 5:42:22 오전 winstone.Logger logInternal
INFO: Winstone Servlet Engine v0.9.10 running: controlPort=disabled
11월 04, 2013 5:42:22 오전 jenkins.InitReactorRunner$1 onAttained
INFO: Started initialization
11월 04, 2013 5:42:23 오전 jenkins.InitReactorRunner$1 onAttained
INFO: Listed all plugins
11월 04, 2013 5:42:23 오전 jenkins.InitReactorRunner$1 onAttained
INFO: Prepared all plugins
11월 04, 2013 5:42:23 오전 jenkins.InitReactorRunner$1 onAttained
INFO: Started all plugins
11월 04, 2013 5:42:23 오전 jenkins.InitReactorRunner$1 onAttained
INFO: Augmented all extensions
11월 04, 2013 5:42:23 오전 jenkins.InitReactorRunner$1 onAttained
INFO: Loaded all jobs
11월 04, 2013 5:42:26 오전 org.jenkinsci.main.modules.sshd.SSHD start
INFO: Started SSHD at port 48711
11월 04, 2013 5:42:26 오전 jenkins.InitReactorRunner$1 onAttained
INFO: Completed initialization
11월 04, 2013 5:42:26 오전 hudson.TcpSlaveAgentListener <init>
INFO: JNLP slave agent listener started on TCP port 54719
11월 04, 2013 5:42:26 오전 hudson.WebAppMain$3 run
INFO: Jenkins is fully up and running

웹으로 확인 해봅니다. (기본 웹 포트 8080)

jenkins

4. 프로젝트 생성 및 빌드 테스트

hello.c를 작성하고 Jenkins로 gcc 명령어를 통해 컴파일 해보도록 하겠습니다.

[root@ruo91 ~]# mkdir /root/hello_world
[root@ruo91 ~]# nano /root/hello_world/hello.c

#include <stdio.h>
int main(void) {
printf(“Hello, World!\n”);
return 0;
}

 

Jenkins 프로젝트 생성 및 gcc 명령어 입력 후 빌드

 jenkins2

jenkins3

Bulid Now를 눌러 빌드를 시작합니다.

jenkins4

프로젝트의 작업 공간에 보면 빌드 된 파일이 보입니다.

jenkins5