Jenkins

[Jenkins] AWS 에 젠킨스 설치

먹세 2020. 11. 12. 18:11

AWS Lightsail 인스턴스에 Jenkins 설치.

 

1. Java8 설치

AWS의 Linux에는 기본적으로 Java7 (1.7.0) 이 설치 되어있는데, 이를 Java8 (1.8.0) 으로 업데이트 시켜야 함

Jenkins 를 설치할 서버에 쉘로 접속

sudo yum update
sudo yum install -y java-1.8.0-openjdk-devel.x86_64

설치 완료 후, Java8 버전으로 지정

sudo /usr/sbin/alternatives --config java

sudo /usr/sbin/alternatives --config java

현재 설치되어 있는 Java 패키지들이 리스팅 되고, 지정할 패키지를 선택하라고 나옴

2를 입력 후 엔터

Java8로 변경 되었는지 확인

java -version

버전이 정상 변경 되었으면, 사용하지 않는 기존 Java7 삭제

sudo yum remove java-1.7.0-openjdk -y

 

2. Jenkins 설치

Jenkins 설치파일 다운로드

sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo

설치 전에 Jenkins Key를 Import 해줘야 함

sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key

Jenkins 설치

sudo yum install jenkins

Jenkins 실행

/* 젠킨스 실행 */
sudo service jenkins start

/* 젠킨스 실행 확인 */
sudo service jenkins status

 

3. Apache 또는 Nginx 설정 (외부에서의 접속을 위한 웹서버)

이미 서버가 설치 되어 있다는 가정.

외부에서 Jenkins 에 접속할 수 있도록 웹서버 설정을 해준다.

Jenkins 는 기본포트가 8080 임

예) 브라우저에서 http://jenkins.mydomain.com/ 으로 로 접속 시 연결 되도록

 

우선 Jenkins 포트 변경

sudo vi /etc/sysconfig/jenkins

Jenkins는 일반 웹페이지처럼 DocumentRoot 로 지정해서 사용하는 형식이 아니기 때문에, 

ProxyPass 라는 라이브러리를 이용해서, 외부에서 연결 시도 했을 때 Proxy 연결 해주는 방법을 사용 해야 함

포트를 다른 포트로(9090 등) 으로 변경해서 사용

기본포트(8080)은 다른 프로그램들에서 많이 쓰기 때문에 충돌 우려가 있음

JENKINS_PORT="9090"

Apache 에서 Module 설정

버전마다 설치했을 때, httpd.conf 안에 작성 되어 있을 수도 있음

/* 아래 두 개 주석 제거 (#제거) */
#LoadModule proxy_module module/mod_proxy.so
#LoadModule proxy_http_module modules/mod_proxy_http.so

확인해보니 최신버전(현재기준)은

cd /etc/httpd/conf.modules.d
vi 00-proxy-conf

해당 라이브러리 들이 위 경로에 주석이 풀린 채로 기재되어 있다.

그리고 httpd.conf에는 모든 모듈을 사용하라고 작성되어 있다.

고로 ProxyPass 관련해서 아무것도 안해줘도 된다는 말임

Include conf.modules.d/*.conf

자신의 설치 상태에 맞게 라이브러리를 사용할 수 있게 세팅 해주면 됨

 

Apache 설정파일에서 HOST 설정

sudo vi /etc/httpd/conf/httpd.conf
<VirtualHost *:80>
    ServerName jenkins.mydomain.com
    ProxyRequests Off
    ProxyPreserveHost On
    ProxyPass / http://localhost:9090/
    ProxyPassReverse / http://localhost:9090/
</VirtualHost>

Apache 리스타트

sudo service httpd restart

외부에서 접속 시도

http://jenkins.mydomain.com 

 

위 처럼 Unlock Jenkins 가 뜰 때 해결.

sudo vi /var/lib/jenkins/secrets/initialAdminPassword

위 파일을 확인 해 보면 키가 한 줄 적혀져 있다.

그 한 줄을 복사 후 위 그림에 Adminstrator password 부분에 넣고 하단 Continue 버튼을 클릭하면 정상 진입 성공

위 처럼 뜬다면 성공!

반응형

'Jenkins' 카테고리의 다른 글

[Jenkins] 젠킨스 Bitbucket 연동  (0) 2020.11.13
[Jenkins] 설치 후 최초 세팅  (0) 2020.11.13