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하여 처리하였으나 향후 문제가 발생할경우에는 위 링크를 확인해볼 필요가 있을듯함.
댓글 없음:
댓글 쓰기