2014년 12월 10일 수요일

Jenkins + apache 구성하기

개요
Jeankins는 tomcat java application이므로, apache와 동일 서버를 사용하면서 80번 기본 http포트로 접근하려면 apache측에서 proxy연결을 해줄 필요가 있음.

특정 virtual host에서 jenkins가 proxy되도록 설정

참고자료
https://wiki.jenkins-ci.org/display/JENKINS/Running+Jenkins+behind+Apache
http://qiita.com/dhtn/items/0e79c7d16a8c209f7c8b
https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Red+Hat+distributions

전제
apache proxy를 이용하므로 관련 모듈이 설치되어있을 필요가 있음

수순

Jenkins의 인스톨
https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Red+Hat+distributions

sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat-stable/jenkins.repo sudo rpm --import http://pkg.jenkins-ci.org/redhat-stable/jenkins-ci.org.key sudo yum install jenkins sudo yum install java

Jenkins의 테스트
service jenkins start

http://hostname:8080/
으로 브라우저에서 접근해서 동작을 확인함.




Jenkins의 apache proxy연동


service jenkins stop
일단 정지후

/etc/sysconfig/jenkins
를 수정

AJP포트를 지정
#JENKINS_AJP_PORT="8009"

JENKINS_AJP_PORT="9009"

프록시로 구동하므로, 로컬IP에 한정해서 listen하도록 설정
#JENKINS_LISTEN_ADDRESS=""
JENKINS_LISTEN_ADDRESS="127.0.0.1"

AJP포트를 프록시 하게끔 virtual host를 구성


/etc/httpd/conf.d/jenkins.conf 
<VirtualHost *:80>

   ServerName jenkins.******.com # 각자의 환경에 맞게 설정

   ProxyRequests Off
   ProxyPreserveHost On 
   AllowEncodedSlashes NoDecode

   <Proxy *:80>
       Order deny,allow
       Allow from all
   </Proxy>

   ProxyPass / ajp://localhost:9009/
   ProxyPassReverse / ajp://localhost:9009/

   <Location />
       Order allow,deny
       Allow from all
   </Location>


</VirtualHost>

재시작시에 서비스를 기동하도록 설정
chkconfig jenkins on

이렇게 설정하면 기동은 되는데 아래 문제가 발생함.




https://wiki.jenkins-ci.org/display/JENKINS/Jenkins+says+my+reverse+proxy+setup+is+broken

우선적으로 dismiss하여 처리하였으나 향후 문제가 발생할경우에는 위 링크를 확인해볼 필요가 있을듯함.

댓글 없음:

댓글 쓰기