AWS/CICD

EC2(Amazon Linux2)에 Jenkins 설치

TTwY 2021. 6. 3. 16:50
728x90
반응형

* Jenkins에서 Java 버전 경고 알림이 발생하여 jdk 11 버전 설치 과정 추가 수정합니다.

 

EC2(Amazon Linux2)에 수동으로 Jenkins를 설치해 보려고 합니다.

Docker를 이용한 손쉬운 설치 방법이 있긴 하지만, Container를 사용하지 않는 환경도 있기도 하고,

간단한 테스트용도로 구성을 하는 경우도 있기에 이번글에서는 EC2 - Amazon Linux2에 Jenkins를 설치하는 내용을 작성합니다.

 

EC2 생성이 된 이후 과정부터 설명하며, 설치 가이드이기 때문에 Public Subnet에 설치 하도록 하겠습니다.

보통은 Private Subnet에 EC2를 위치 시키고 Jenkins를 설치하여 ALB나 Nginx의 reverseProxy 기능을 사용하여 접근 할 수 있도록 설정합니다.

 

nginx의 설치 방법은 아래 글에서 확인할 수 있습니다.

https://longtermsad.tistory.com/11

 

Amazon Linux 2에 nginx 설치

Amazon Linux 2 OS의 EC2에서 nginx 설치하는 방법에 대해서 알아보겠습니다. Amazon Linux 2에서는 yum을 통한 nginx 설치가 지원되지 않습니다. 일반적인 yum 을 통한 설치 시 에러가 발생하는 것을 볼 수 있

longtermsad.tistory.com

Nginx의 reverseProxy 기능은 아래의 글에서 다루고 있으니, 궁금하신 분은 참고 하시길 바랍니다.

https://longtermsad.tistory.com/14

 

Amazon Elasticsearch Service(Amazon ES) - VPC 액세스(권장)

Amazon Elasticsearch Service(Amazon ES)는 AWS 클라우드에서 Elasticsearch 클러스터를 쉽게 배포, 운영 및 조정할 수 있는 관리형 서비스입니다. Elasticsearch는 로그 분석, 실시간 애플리케이션 모니터링, 클..

longtermsad.tistory.com

 

- 버전 확인

설치된 OS 버전을 확인합니다.

cat /etc/*release

- epel 레파지토리 설치

sudo amazon-linux-extras install -y epel

 

- user 생성

sudo adduser jenkins

sudo passwd jenkins

 

- user 권한 부여 및 passwd를 이용한 접속 방법 설정

sudo vi /etc/sudoers
jenkins ALL=(ALL)      ALL

sudo vi /etc/ssh/sshd_config

-> PasswordAuthentication yes (yes로 변경)

#sshd 서비스 재시작
sudo service sshd restart

 

- 서버 시간 설정

sudo rm /etc/localtime
sudo ln -s /usr/share/zoneinfo/Asia/Seoul /etc/localtime
date

- Jenkins 설치 및 사용할 라이브러리 다운로드

sudo yum install -y python3   ## python3
sudo python3 -m pip install --upgrade pip  ##pip
sudo python3 -m pip install awscli   #awscli
sudo yum install -y git
# jdk 11버전으로 변경(아래 명령어 사용X)
//sudo yum install -y java-1.8.0-openjdk-devel.x86_64
//rpm -qa java*jdk-devel
//javac -version

- jdk 11 설치(수정)

sudo yum install -y java-11-amazon-corretto
javac -version

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

sudo service jenkins start

sudo systemctl enable jenkins

- 초기 비밀번호 조회

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

비밀번호를 복사하여 보관합니다.

 

- Jenkins 페이지 접속

현재 테스트를 위해 Public Subnet에 Jenkins를 설치하였기 때문에, Public IP:8080 으로 접속을 합니다.

위와 같이 페이지 접속이 되면, 위에서 따로 보관하라고 했던 초기 비밀번호를 Administrator password에 붙여넣기 합니다.

 

Install suggested plugins를 클릭하여 jenkins가 추천하는 plugin을 설치하도록 합니다.

Admin 유저를 만들어 줍니다.

다음과 같은 화면이 나옵니다. 이후에 수정이 가능하니 수정 작업없이 다음으로 넘어가면 됩니다.

 

다음과 같은 화면이 나오면, Jenkins 설치 및 초기 셋팅이 마무리됩니다.

 

하나씩 모두 설치하기가 번거롭기 때문에 이러한 설치 과정을 스크립트로 만들어서 스크립트로 한번에 설치를 진행할 수 있습니다. 해당 내용은 아래의 블로그 게시물에 잘 나와있으니 참고하시면 될 것 같습니다.

https://aws-diary.tistory.com/27?category=753074 

 

EC2 CICD Automation - 2. Jenkins 설치

AWS Basic Infrastructure에서 이어서 배포 자동화를 만들어 진행해보도록 하겠습니다. 연습해 볼 구성도는 아래와 같습니다. Jenkins 서버를 생성하고 세팅해보도록 하겠습니다. EC2 Type이 최소 t3.small은

aws-diary.tistory.com

 

그래도 본인이 직접 수동으로 한번 설치를 해보는 것을 추천드립니다. 어떤걸 기본적으로 설치해야 하고 세팅을 해주어야 하는지 알고 있어야 업데이트나 변경을 할 때 좀더 쉽게 해결을 할 수 있기 때문입니다. 한번 정도 수동으로 설치하는 작업을 진행했다면, 그 이후에는 스크립트를 가지고 있던지, Docker를 이용하여 설치하면 훨씬 편하게 Jenkins를 설치 할 수 있을 겁니다.

 

질문 사항이나 제가 전달한 내용이 잘못되었거나, 다른 부분이 있으면 댓글로 남겨 주시면 답변 드리도록 하겠습니다.

감사합니다.

728x90
반응형

'AWS > CICD' 카테고리의 다른 글

EC2(Amazon Linux2)에 Jenkins 설치(sh를 통한 빠른 설치)  (0) 2022.04.20