"Jenkins"의 두 판 사이의 차이

오픈소스 비즈니스 컨설팅
둘러보기로 가기 검색하러 가기
잔글
잔글
 
(같은 사용자의 중간 판 13개는 보이지 않습니다)
1번째 줄: 1번째 줄:
소프트웨어 개발 생명 주기에 걸쳐서 코드 품질에 초점을 맞추고 있는 지속적인 통합 (CI, Continuous Integration) 도구인 Jenkins을 정리 한다. Jinkins은 지속적으로 빌드 하고 테스트 하는 CI 도구이면서 또한 외부에서 실행되는 배치 작업과 같은 것을 웹으로 모니터링 하는 도구 이다. Jenkins의 예전 이름이 Hudson 입니다.
+
<s></s>소프트웨어 개발 생명 주기에 걸쳐서 코드 품질에 초점을 맞추고 있는 지속적인 통합 (CI, Continuous Integration) 도구인 Jenkins을 정리 한다. Jinkins은 지속적으로 빌드 하고 테스트 하는 CI 도구이면서 또한 외부에서 실행되는 배치 작업과 같은 것을 웹으로 모니터링 하는 도구 이다. Jenkins의 예전 이름이 Hudson 입니다.
  
 
*홈페이지&nbsp;: [http://jenkins-ci.org/ http://jenkins-ci.org/]
 
*홈페이지&nbsp;: [http://jenkins-ci.org/ http://jenkins-ci.org/]
19번째 줄: 19번째 줄:
 
|}
 
|}
  
 
+
<br/>'''<span style="font-size:larger;">[[Nginx|<span style="color:#008000;">Nginx</span>]]<span style="color:#008000;">환경 설정</span></span>'''
'''<span style="font-size:larger;">[[Nginx|<span style="color:#008000;">Nginx</span>]]<span style="color:#008000;">환경 설정</span></span>'''
 
  
 
vi&nbsp;/etc/nginx/sites-available/
 
vi&nbsp;/etc/nginx/sites-available/
29번째 줄: 28번째 줄:
 
|}
 
|}
  
 
+
<br/>[http://www.jopenbusiness.com:8080/jenkins/ http://www.jopenbusiness.com:8080/jenkins/]&nbsp;사이트로 접속하여 설치 진행
[http://www.jopenbusiness.com:8080/jenkins/ http://www.jopenbusiness.com:8080/jenkins/]&nbsp;사이트로 접속하여 설치 진행
 
  
 
Red Hat에 Jenkins 설치
 
Red Hat에 Jenkins 설치
39번째 줄: 37번째 줄:
 
== 설치 가이드 ==
 
== 설치 가이드 ==
  
*[https://hudson.dev.java.net/servlets/ProjectDocumentList 다운로드 사이트]에서 hudson.war 파일을 다운로드 한다.
+
[https://hudson.dev.java.net/servlets/ProjectDocumentList 다운로드 사이트]에서 hudson.war 파일을 다운로드 한다.
 +
 
 +
[[Apache Tomcat|Apache Tomcat]]과 같은 서블릿 컨데이너의 webapps 디렉토리 아래에 hudson.war 파일을 두면 자동으로 설치가 된다.
 +
 
 +
[http://localhost:8080/hudson/ http://localhost:8080/hudson/] 으로 접속하여 사용 한다.
 +
 
 +
 
  
*[[Apache Tomcat|Apache Tomcat]]과 같은 서블릿 컨데이너의 webapps 디렉토리 아래에 hudson.war 파일을 두면 자동으로 설치가 된다.
+
/var/lib/jenkins/&nbsp;Folder 구조
  
*[http://localhost:8080/hudson/ http://localhost:8080/hudson/] 으로 접속하여 사용 한다.
+
*jobs/&nbsp;: 작업 공간
 +
**프로젝트명/config.xml : 프로젝트의 설정 정보
 +
*nodes/&nbsp;:&nbsp;
 +
*plugins/&nbsp;: Plugin
 +
*secrets/
 +
*updates/
 +
*userContent/
 +
*users/&nbsp;: 사용자 정보
 +
*workplace/&nbsp;: 소스 등이 저장되는 공간
 +
**프로젝트명/
  
 
== 사용자 가이드 ==
 
== 사용자 가이드 ==
85번째 줄: 98번째 줄:
 
  $HUDSON_HOME 환경 변수를 사용할 수도 있다.
 
  $HUDSON_HOME 환경 변수를 사용할 수도 있다.
  
 +
=== Plugins ===
  
 +
Locale plugin : 다국어 설정
 +
 +
Git plugin, Git client plugin : Git 연동
  
 
=== Git 연동 ===
 
=== Git 연동 ===
 +
 +
/var/lib/jenkins/.ssh/id_rsa.pub 파일을 생성 합니다.
 +
 +
"Jenkins 관리 -> 플러그인 관리 -> 설치 가능" 메뉴에서 "GIT plugin"을 설치 합니다. (GIT client plugin은 같이 설치 됩니다.)
 +
 +
"Jenkins 관리 -> 시스템 설정" 메뉴에서 설정을 합니다.
 +
 +
*Git
 +
**Name&nbsp;: Git_210
 +
**Path to Git executable&nbsp;: /usr/bin/git
 +
*Git plugin
 +
**Global Config user.name Value&nbsp;: consult
 +
**Global Config user.email Value&nbsp;: consult@jopenbusiness.com
 +
 +
 +
 +
"새로운 Item" 메뉴에서 pnuskgh 프로젝트를 등록 합니다.
 +
 +
*Item 이름&nbsp;: pnuskgh
 +
*Freestyle project&nbsp;: check
 +
 +
pnuskgh 프로젝트의 "구성" 메뉴를 설정 합니다.
 +
 +
*소스 코드 관리 -> Git
 +
**Repository URL&nbsp;: &nbsp;[[Ssh:ssh://consult@gerrit.osscloud.biz:29418/jopenbusiness|ssh://consult@gerrit.osscloud.biz:29418/jopenbusiness]]
 +
**Credentials&nbsp;: consult
 +
***Kind&nbsp;: SSH Username with private key
 +
***Scope&nbsp;: Global (Jenkins, nodes, items, all child items, etc)
 +
***Username&nbsp;: consult
 +
***Private Key&nbsp;: From the Jenkins master ~/.ssh
 +
 +
<span style="color:#008000;"><span style="font-size:larger;">'''Jenkins Build 호출'''</span></span>
 +
 +
hooks/post-receive 파일을 작성 합니다.
 +
<pre> #!/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 </pre>
  
 
== 참고 문헌 ==
 
== 참고 문헌 ==
116번째 줄: 170번째 줄:
 
*[http://titaniumspider.tistory.com/218 http://titaniumspider.tistory.com/218]
 
*[http://titaniumspider.tistory.com/218 http://titaniumspider.tistory.com/218]
 
*[[Git|Git]] 연동
 
*[[Git|Git]] 연동
**http://knoc720.blogspot.kr/2014/09/jenkins-github.html
+
**[http://knoc720.blogspot.kr/2014/09/jenkins-github.html http://knoc720.blogspot.kr/2014/09/jenkins-github.html]
**http://yg-park.github.io/2015/03/10/gitlab-jenkins/
+
**[http://yg-park.github.io/2015/03/10/gitlab-jenkins/ http://yg-park.github.io/2015/03/10/gitlab-jenkins/]
 +
**http://statkclee.github.io/pyr-cloudlayer/03-devops.html
 
*[[SonarQube|SonarQube]] 연동
 
*[[SonarQube|SonarQube]] 연동
**http://utk-unm.blogspot.kr/2014/10/jenkins-sonarqube.html
+
**[http://utk-unm.blogspot.kr/2014/10/jenkins-sonarqube.html http://utk-unm.blogspot.kr/2014/10/jenkins-sonarqube.html]<br/><br/>
 
[[Category:오픈소스|Category:오픈소스]]<br/>[[Category:Continuous Integration|Category:Continuous Integration]]<br/>[[Category:WebSite|Category:WebSite]]<br/>[[Category:DevOps|Category:DevOps]]
 
[[Category:오픈소스|Category:오픈소스]]<br/>[[Category:Continuous Integration|Category:Continuous Integration]]<br/>[[Category:WebSite|Category:WebSite]]<br/>[[Category:DevOps|Category:DevOps]]

2015년 8월 11일 (화) 13:35 기준 최신판

소프트웨어 개발 생명 주기에 걸쳐서 코드 품질에 초점을 맞추고 있는 지속적인 통합 (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) 도구