[AWS] EC2에 Jenkins 설치하기

qewr·2023년 3월 17일
1

AWS

목록 보기
8/8

AWS EC2 인스턴스 생성

보안그룹 설정

Jenkins가 설치될 EC2 인스턴스의 보안그룹을 설정한다. HTTP, SSH, 8080 포트에 대해서 모두 열어둔다. SSH

EC2 인스턴스 생성

EC2 인스턴스의 이미지는 Ubuntu로 설정한다. 다른 이미지로 설정해도 괜찮지만 적어갈 명령어들은 Ubuntu에서 동작한다.

프리티어의 경우 매달 750시간 t2.micro가 무료이다. 여러가지 만져보면서 t2.micro를 써봤는데 가끔 성능이 모자라서 힘들어하는 경우가 있기는 하다.. 그래도 일단 무료니까 t2.micro를 사용해보겠다. 혹시 성능이 너무 안되겠다 싶으면 다른 걸로 바꿔주면 된다.

보안그룹은 아까 만들어줬던 보안그룹으로 설정해준다. 이거를 제대로 해주지 않으면 인스턴스 접속도 안되고 HTTP 통신도 불가능하다. 꼭꼭 제대로 설정해주자.

인스턴스 요약 > 연결을 누르면 여러가지 연결 방법이 나온다. 나는 EC2 인스턴스 연결로 사용할 거다.

Jenkins 설치

명령어를 통해 패키지들을 최신 상태로 만들어준다.

sudo apt update && sudo apt upgrade -y

자바가 설치되어 있는지 확인한다. 방금 막 만든 EC2 인스턴스면 깔려있지 않을 것이다. 젠킨스가 동작하기 위해서는 자바가 필요하므로 설치해준다.

java -version
sudo apt install default-jre

설치 후 java 11 버전이 정상적으로 설치되어 있는지 확인한다.

ubuntu@ip-172-31-11-195:~$ java -version
openjdk version "11.0.18" 2023-01-17
OpenJDK Runtime Environment (build 11.0.18+10-post-Ubuntu-0ubuntu122.04)
OpenJDK 64-Bit Server VM (build 11.0.18+10-post-Ubuntu-0ubuntu122.04, mixed mode, sharing)

젠킨스를 설치해준다.

wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key |sudo gpg --dearmor -o /usr/share/keyrings/jenkins.gpg
sudo sh -c 'echo deb [signed-by=/usr/share/keyrings/jenkins.gpg] http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt update
sudo apt install jenkins

Jenkins 실행

젠킨스를 실행하고 정상적으로 동작하는지 상태를 확인한다. running으로 초록색 글씨가 뜨면 제대로 된 것이다.

sudo systemctl start jenkins.service
sudo systemctl status jenkins
● jenkins.service - Jenkins Continuous Integration Server
     Loaded: loaded (/lib/systemd/system/jenkins.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2023-03-17 08:40:54 UTC; 23s ago

이제 ${ec public ip 주소}:8080으로 접속하면! 짠! 젠킨스 화면이 보인다.

비밀번호는 cat 명령어를 통해 찾아주고 나온 값을 붙여넣는다.

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

추천 패키지를 설치하거나 자체적으로 선택할 수 있는데, 나는 Jenkins를 이번에 처음 써보는 거라 잘 몰라서 추천 플러그인으로 설치해줬다. 플러그인들이 설치되는데에는 시간이 좀 걸린다.

기존의 어드민 유저로 비밀번호 찾아 접속하는 것은 귀찮으니 새 유저를 만들어준다.

이제 진짜로 젠킨스로 열심히 CI/CD 파이프라인을 구축하면 된다.

0개의 댓글