- CentOS에서 Jenkins 설치
- 설치 가이드
- 사용자 가이드
- Hudson의 주요 기능
- 관리자 매뉴얼
- Tomcat 없이 바로 시작하기
- Plugins
- Git 연동
- 참고 문헌
소프트웨어 개발 생명 주기에 걸쳐서 코드 품질에 초점을 맞추고 있는 지속적인 통합 (CI, Continuous Integration) 도구인 Jenkins을 정리 한다. Jinkins은 지속적으로 빌드 하고 테스트 하는 CI 도구이면서 또한 외부에서 실행되는 배치 작업과 같은 것을 웹으로 모니터링 하는 도구 이다. Jenkins의 예전 이름이 Hudson 입니다.
홈페이지 : http://jenkins-ci.org/
다운로드 : https://hudson.dev.java.net/servlets/ProjectDocumentList
라이선스 : MIT
플랫폼 : Java
CentOS에서 Jenkins 설치
'''Jenkins 설치'''
{| cellspacing="1" cellpadding="1" style="width: 100%;"
|-
| style="background-color: rgb(241, 241, 241);" |
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](Apache Tomcat.md)의 ROOT 폴더
|}
'''Nginx환경 설정'''
vi /etc/nginx/sites-available/
{| cellspacing="1" cellpadding="1" style="width: 100%;"
|-
| style="background-color: rgb(241, 241, 241);" | 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](Apache Tomcat.md)과 같은 서블릿 컨데이너의 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|Subversion]], CVS
Accurev, BitKeeper, ClearCase, Git, Mercurial
Perforce, StartTeam, Team Foundation Server, Visual SourceSafe, URL SCM
소스 관련 기능
Use Update
Repository Browser
빌드 시스템 연동
[[Apache ANT|Apache ANT]], maven, unix/windows shell
Build Option
Build after other projects are built
Poll SCM
Build periodically
테스트 시스템 연동
관리자 매뉴얼
Tomcat 없이 바로 시작하기
Hudson은 [http://winstone.sourceforge.net/ Winstone] 서블릿 컨테이너가 포함되어 있기 때문에 [Apache Tomcat](Apache Tomcat.md)이 없어도 서비스가 가능 하다.
java -jar hudson.war -httpPort=8080
[http://localhost: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
*Repository URL : ssh://consult@gerrit.osscloud.biz:29418/jopenbusiness
*Credentials : consult
**Kind : SSH Username with private key
**Scope : Global (Jenkins, nodes, items, all child items, etc)
**Username : consult
**Private Key : From the Jenkins master ~/.ssh
'''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) 도구
[http://cruisecontrol.sourceforge.net/ CruiseControl], [[Hudson|Hudson]], [[Apache Continuum|Apache Continuum]], LuntBuild
[[TeamCity|TeamCity]], [[Bamboo|Atlassian의 Bamboo]], AntHill
허드슨을 이용한 지속적인 통합
Git 연동
SonarQube 연동
*http://utk-unm.blogspot.kr/2014/10/jenkins-sonarqube.html
[[Category:오픈소스|Category:오픈소스]]
[[Category:Continuous Integration|Category:Continuous Integration]]
[[Category:WebSite|Category:WebSite]]
분류: DevOps