본문 바로가기

기타

젠킨스(Jenkins) 설치하기 - AWS EC2 Amazon Machine Image

728x90

최종적으로 설치된 패키지 버전과 서버 버전은 다음과 같습니다. (2020-04-09 기준)

#서버: Amazon linux 1 - EC2 AMI 
Amazon Linux AMI 2018.03.0.20200318.1 x86_64 HVM gp2 
t2.micro 

#java -version 
openjdk version "1.8.0_242" 
OpenJDK Runtime Environment (build 1.8.0_242-b08) 
OpenJDK 64-Bit Server VM (build 25.242-b08, mixed mode) 

#docker --version 
Docker version 18.09.9-ce, build 039a7df 

#from website 
Jenkins ver. 2.222.1 (stable-version)

 

서버가 필요한 성능이나 소프트웨어 요구 사항은 여기를 참고했습니다.

https://jenkins.io/doc/pipeline/tour/getting-started/

 

0. Amazon Machine Image(AMI) 이미지로 EC2 생성

Amazon Linux AMI 2018.03.0 (HVM), SSD Volume Type을 선택하여 EC2를 만들어 줍니다.

이글에서는 자세한 EC2생성방법은 생략하겠습니다.

 

 

주의해야 할 점으로 보안 그룹에서 8080 인바운드만 해제야 합니다.(Jenkins에서는 기본으로 8080 포트를 사용함.)

 

 

최종적으로 이렇게 SSH로 접속을 하신 다음부터 진행하시면됩니다.

 

1. 설치하기 전 패키지 업데이트

sudo yum update -y

 

2. Java 설치

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

jenkins를 사용하려면 알맞은 버전의 java 환경이 필요하므로 openjdk 1.8.0을 설치합니다.

 

 

sudo /usr/sbin/alternatives --config java

방금 설치한 java 버전을 선택 후 엔터를 누릅니다.(2를 누른 후 엔터!)

 

 

java -version

제대로 적용이 되었는지 확인해줍니다.

 

 

3. jekins 설치

sudo wget -O /etc/yum.repos.d/jenkins.repo <https://pkg.jenkins.io/redhat-stable/jenkins.repo>
sudo rpm --import <https://pkg.jenkins.io/redhat-stable/jenkins.io.key>
sudo yum install jenkins -y

 

다음은 젠킨스 stable 버전을 설치하는 과정입니다. 먼저 repo를 import 해놓으면 yum이 repo에서 jenkins를 불러오면서 설치합니다.

 

 

4. Docker 설치 및 시작

jenkins를 사용하는 데 있어서, 꼭 Docker는 필요 없습니다.

그러나, Docker를 사용하면 Jenkins가 스스로 컨테이너를 올려 빌드테스트를 진행할 수 있으므로 설치하였습니다.

 

sudo yum install docker -y

도커는 Amazon linux 1에서 다음과 같은 명령으로 손쉽게 설치 가능합니다.

 

 

 

sudo service docker start

Docker 서비스를 시작해 줍니다.

 

5. Docker 그룹 권한 설정

jenkins에서 도커를 사용하려면 Docker를 사용할 수 있게 그룹 설정을 해주어야 합니다.

 

 

sudo usermod -a -G docker ec2-user 
sudo usermod -a -G docker jenkins

jenkins 서비스를 시작할 경우 해당 서버는 jenkins 유저 권한으로 실행됩니다.

jenkins 서비스가 Docker를 사용하려면 docker그룹에 jenkins 유저를 위와 같은 방법으로 추가하면 됩니다.

 

- 참고 https://docs.aws.amazon.com/ko_kr/AmazonECS/latest/developerguide/docker-basics.html

 

 

 

docker ps 
docker info

 

그룹 권한이 제대로 적용되어있는지 확인하려면 서버로 재접속한 다음, ec2-user에서 다음과 같은 명령어를 실행시키면 됩니다.

 

ec2-user가 sudo 권한이 없어도 실행되는 것을 볼 수 있습니다.

 

 

6. Jenkins 서비스 시작

 

sudo service jenkins start

jenkins 서비스를 실행시켜줍니다.

 

 

7. Jenkins 웹페이지 접속

#http://15.164.93.150:8080
http://서버IP주소:8080

각자 Jenkins를 설치한 아이피 주소와 기본 포트번호인 8080을 치면 다음과 같은 페이지를 보실 수 있습니다.

만약 접속이 안된다면, EC2의 보안 그룹에서 인바운드 규칙을 확인해 주세요!!

 

 

 

 

sudo cat /var/lib/jenkins/secrets/initialAdminPassword

초기 패스워드를 입력한 뒤,  Continue를 누릅니다.

 

 

 

저는 install suggested plugins로 설치를 하였습니다. 원하신다면 직접 선택해서 설치하면 됩니다.

 

 

 

자동으로 설치가 진행됩니다.

 

 

때때로 플러그인을 제대로 설치 못하는 경우가 있습니다.

플러그인 서버 문제로 보이는데, Retry 버튼을 눌러 계속 설치를 시도하면 설치가 됩니다.

 

 

 

 

자신이 로그인할 유저를 만들거나, admin으로 진행을 하면 됩니다.

 

 

 

이후 몇 가지 설정을 더 하고 나면, 다음과 같은 Jenkins 웹페이지가 보이게 됩니다!!

 

728x90