AWS EC2에 젠킨스를 설치해보겠다.
설치 과정과 설치 중 발생한 오류 해결에 대한 글이다.
(Windows 환경, Amazon Linux 인스턴스 사용)
보안 그룹을 먼저 생성해보자.
AWS EC2 대시보드의 네트워크 및 보안 - 보안그룹으로 가서 보안그룹 생성을 눌러준다. 이름을 설정해주고, 인바운드 규칙을 다음과 같이 설정해준다. 그 후 인스턴스 생성 시 기존 보안그룹 선택 - 만들어둔 보안 그룹을 선택해주면 된다. 이제 본격적으로 인스턴스를 생성해보자.
AWS EC2 대시보드에서 인스턴스 시작 버튼을 눌러주자. region은 서울로 변경해주었다.
인스턴스의 이름과 Amazon Machine Image를 선택해준다. 나는 Amazon Linux를 선택했다.
마지막으로 볼륨 설정이다. 프리티어 사용자의 한도는 30GiB 까지이니 30으로 설정해준다. 이제 인스턴스 시작을 눌러준다.
인스턴스 연결을 누르면 다음과 같은 창이 뜬다.
SSH 클라이언트의 빨간 동그라미 친 부분을 눌러주고 CMD 창을 킨다. 키 페어가 있는 파일로 이동경로를 변경해주고, 복사한 명령어를 입력하면 우리가 생성한 인스턴스에 접속된다.
sudo yum -y update
명령어로 패키지 업데이트를 해준다.
나는 JAVA 11을 설치해줬다. 하지만 다른 사이트들에서 찾아 본 JAVA 설치 명령어들은 다 명령어가 존재하지 않는다는 오류가 떠서 aws 공식문서를 참고해 설치했다.
sudo yum install java-11-amazon-corretto
명령어를 입력해 JAVA 11을 설치해준다. 그 후
java -version
으로 잘 설치가 되었는지 확인한다.
openjdk version "11.0.21" 2023-10-17 LTS
OpenJDK Runtime Environment Corretto-11.0.21.9.1 (build 11.0.21+9-LTS)
OpenJDK 64-Bit Server VM Corretto-11.0.21.9.1 (build 11.0.21+9-LTS, mixed mode)
과 같은 출력이 나오면 성공이다.
jenkins를 설치하는 곳을 알려주기 위해 Jenkins Repository를 추가해준다.
sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
Jenkins를 설치할 때 신뢰할 수 있는 소스로부터 제공되는 파일이라는 것을 증명하기 위해 로컬 GPG 키링에 Jenkins GPG Key를 추가해줘야 한다.
sudo rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
sudo yum install jenkins
로 젠킨스를 설치해준다. 나는 이 과정에서 오류가 발생했다.
Public key for jenkins-2.434-1.1.noarch.rpm is not installed
The downloaded packages were saved in cache until the next successful transaction.
You can remove cached packages by executing 'yum clean packages'.
Error: GPG check FAILED
GPG 체크가 실패했다는 오류가 떴다. 나는 아무리 찾아봐도 해결할 방법이 나오지 않아 결국 GPG 체크 과정을 건너 뛰기로 했다.
sudo yum install -y --nogpgcheck jenkins
이 명령어를 통해 GPG 체크 과정을 건너뛰고 설치를 했다. 결과는 성공!
sudo service jenkins start
명령어로 젠킨스를 실행해주자.
netstat -na | grep 8080
입력 시 이렇게 출력되면 실행된 것이다.
tcp6 0 0 :::8080 :::* LISTEN
인스턴스의 퍼블릭 IPv4 DNS 주소를 복사해 새 창에 입력해준다. 그러면 이와 같은 창이 뜰 것이다.
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
명령어 실행 후 나온 암호를 입력해준다.
Install suggested plugins를 눌러준다.
정보들을 입력해주고, Save and Continue를 누르면 설정 끝!
나는 Built-In Node가 오프라인으로 떠서, 온라인으로 변경해주고 파이프라인을 실행해줬다. 다음에는 젠킨스와 깃허브 웹훅 설정에 대해 알아볼 것이다.
잘못된 부분이 있으면 댓글 부탁드립니다!
참고 블로그 : https://velog.io/@hmyanghm/AWS-EC2에-Jenkins-서버-구축
JAVA 관련 공식문서 :https://docs.aws.amazon.com/ko_kr/corretto/latest/corretto-11-ug/amazon-linux-install.html