Jenkins

오픈소스 비즈니스 컨설팅
(Hudson에서 넘어옴)
둘러보기로 가기 검색하러 가기

소프트웨어 개발 생명 주기에 걸쳐서 코드 품질에 초점을 맞추고 있는 지속적인 통합 (CI, Continuous Integration) 도구인 Jenkins을 정리 한다. Jinkins은 지속적으로 빌드 하고 테스트 하는 CI 도구이면서 또한 외부에서 실행되는 배치 작업과 같은 것을 웹으로 모니터링 하는 도구 이다. Jenkins의 예전 이름이 Hudson 입니다.

CentOS에서 Jenkins 설치

Jenkins 설치

cd install
wget http://mirrors.jenkins-ci.org/war/latest/jenkins.war

mkdir jenkins
cd jenkins
jar xvf ../jenkins.war
cd ..
chown -R root:tomcat jenkins
mv jenkins 
/cloudnas/www/jopenbusiness/webapps   #--- Apache Tomcat의 ROOT 폴더


Nginx환경 설정

vi /etc/nginx/sites-available/

    location ^~/jenkins/* {
      proxy_pass              http://localhost:8080;
      proxy_set_header        X-Real-IP $remote_addr;
      proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header        Host $http_host;
    }


http://www.jopenbusiness.com:8080/jenkins/ 사이트로 접속하여 설치 진행

Red Hat에 Jenkins 설치

설치 가이드

다운로드 사이트에서 hudson.war 파일을 다운로드 한다.

Apache Tomcat과 같은 서블릿 컨데이너의 webapps 디렉토리 아래에 hudson.war 파일을 두면 자동으로 설치가 된다.

http://localhost:8080/hudson/ 으로 접속하여 사용 한다.


/var/lib/jenkins/ Folder 구조

  • jobs/ : 작업 공간
    • 프로젝트명/config.xml : 프로젝트의 설정 정보
  • nodes/ : 
  • plugins/ : Plugin
  • secrets/
  • updates/
  • userContent/
  • users/ : 사용자 정보
  • workplace/ : 소스 등이 저장되는 공간
    • 프로젝트명/

사용자 가이드

Hudson의 주요 기능

  • Cluster된 빌드 환경 구축
  • 소스 코드 저장소 연동
  • Subversion, CVS
  • Accurev, BitKeeper, ClearCase, Git, Mercurial
  • Perforce, StartTeam, Team Foundation Server, Visual SourceSafe, URL SCM
  • 소스 관련 기능
  • Use Update
  • Repository Browser
  • 빌드 시스템 연동
  1. Build after other projects are built
  2. Poll SCM
  3. Build periodically
  • 테스트 시스템 연동

관리자 매뉴얼

Tomcat 없이 바로 시작하기

Hudson은 Winstone 서블릿 컨테이너가 포함되어 있기 때문에 Apache Tomcat이 없어도 서비스가 가능 하다.

java -jar hudson.war -httpPort=8080
http://localhost:8080/ 으로 접속하여 사용 한다.
$HUDSON_HOME 환경 변수를 사용할 수도 있다.

Plugins

Locale plugin : 다국어 설정

Git plugin, Git client plugin : Git 연동

Git 연동

/var/lib/jenkins/.ssh/id_rsa.pub 파일을 생성 합니다.

"Jenkins 관리 -> 플러그인 관리 -> 설치 가능" 메뉴에서 "GIT plugin"을 설치 합니다. (GIT client plugin은 같이 설치 됩니다.)

"Jenkins 관리 -> 시스템 설정" 메뉴에서 설정을 합니다.

  • Git
    • Name : Git_210
    • Path to Git executable : /usr/bin/git
  • Git plugin
    • Global Config user.name Value : consult
    • Global Config user.email Value : consult@jopenbusiness.com


"새로운 Item" 메뉴에서 pnuskgh 프로젝트를 등록 합니다.

  • Item 이름 : pnuskgh
  • Freestyle project : check

pnuskgh 프로젝트의 "구성" 메뉴를 설정 합니다.

  • 소스 코드 관리 -> Git

Jenkins Build 호출

hooks/post-receive 파일을 작성 합니다.

 #!/bin/bash
curl -X post http://www.osscloud.biz:8090/job/pnuskgh/build?token=build-access-token 
curl -X post http://username:password@JENKINS_URL:8080/view/VIEW_NAME/job/JOB_NAME/build?token=build-access-token 

참고 문헌

  • 지속적인 통합 (CI, Continuous Integration) 도구