1. 개요
새로 ec2 인스턴스에 jenkins를 설치하려고 하니 java version 이슈가 있어서 설치가 곤란했었던 터라, EC2 인스턴스의 Linux 환경에서 Jenkins를 설치하는 과정을 정리해보려고 합니다.
2. Jenkins 구동 실패
jenkins.service - Jenkins Continuous Integration Server
Loaded: loaded (/usr/lib/systemd/system/jenkins.service; disabled; vendor preset: disabled)
Active: failed (Result: start-limit) since 목 2022-06-30 08:32:00 KST; 7s ago
Process: 7079 ExecStart=/usr/bin/jenkins (code=exited, status=1/FAILURE)
Main PID: 7079 (code=exited, status=1/FAILURE)
localhost.localdomain systemd[1]: Failed to start Jenkins Continuous Integration Server.
localhost.localdomain systemd[1]: Unit jenkins.service entered failed state.
localhost.localdomain systemd[1]: jenkins.service failed.
localhost.localdomain systemd[1]: jenkins.service holdoff time over, scheduling restart.
localhost.localdomain systemd[1]: Stopped Jenkins Continuous Integration Server.
localhost.localdomain systemd[1]: start request repeated too quickly for jenkins.service
localhost.localdomain systemd[1]: Failed to start Jenkins Continuous Integration Server.
localhost.localdomain systemd[1]: Unit jenkins.service entered failed state.
localhost.localdomain systemd[1]: jenkins.service failed.
jenkins를 설치하고 systemctl start jenkins를 해서 구동하려는데, 구동이 실패했습니다.
원인에 대한 로그가 정확하게 나와있지 않아서, 사실 추측할 수밖에 없는 상황이었는데 아마 이미 사용하고 있는 포트가 있어서 포트가 겹치거나, 설치된 자바 버전이 맞지 않아서 구동이 실패하는 원인일 것이라고 생각했습니다.
-> 추후에 확인해보니 설치된 자바 버전이 맞지 않았습니다!
2. 과정
2-1. 설치할 수 있는 자바 버전 확인
yum list | grep jdk
위의 명령어로 확인해보면 java 1.7~1.8 버전만 yum 패키지에서 설치할 수 있는 것으로 나옵니다.
하지만 젠킨스 공식 홈페이지에서는 java 11 버전 이상을 지원하는 것으로 확인됩니다.
2-2. 설치되어 있는 Java 삭제
만약 다른 버전의 java가 설치가 되어 있다면,
yum list installed | grep "java"
# java-1.8.0-openjdk-headless.x86_64 1:1.8.0.222.b10-0.47.amzn1 @amzn-updates
# java-11-amazon-corretto-devel.x86_64 1:11.0.7.10-1 installed
yum remove java-1.8.0-openjdk-headless.x86_64
위의 명령어를 통해 자바를 제거해 줍니다.
2-3. Java 11 버전 설치
# aws coreetto 다운로드
sudo curl -L https://corretto.aws/downloads/latest/amazon-corretto-11-x64-linux-jdk.rpm -o jdk11.rpm
# jdk11 설치
sudo yum localinstall jdk11.rpm
# jdk version 선택
sudo /usr/sbin/alternatives --config java
# java 버전 확인
java --version
# 다운받은 설치키트 제거
rm -rf jdk11.rpm
위의 명령어를 통해 java 11버전을 설치해줍니다.
2-4. Jenkins 설치
# yum에 젠킨스 repository 추가
sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
# 로컬 gpg 키링에 jenkins gpg key 추가
sudo rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
# 젠킨스 설치
sudo yum install jenkins
# 젠킨스 시작
sudo systemctl service jenkins start
아마, 위 과정이면 젠킨스가 정상적으로 시작이 될 겁니다.
3. Jenkins 포트 변경
젠킨스가 설치되어 있는 환경에서
sudo vi /etc/sysconfig/jenkins
위 명령어로 젠킨스 설정을 수정해줍니다.
JENKINS_PORT=" "를 찾아 사용하고 싶은 포트로 변경해줍니다.
3-1. 다른 방법으로 포트 변경
위의 방법으로 포트 변경이 되지 않았다면 아래 방법을 사용하면 됩니다.
sudo vi /usr/lib/systemd/system/jenkins.service
'Backend&Devops > Jenkins' 카테고리의 다른 글
[Jenkins] ERROR: Couldn't find any revision to build. Verify the repository and branch configuration for this job. 오류 해결 (0) | 2022.06.03 |
---|---|
[Jenkins] 젠킨스와 깃허브 연동(GitHub Web Hook AWS) (3) (3) | 2022.03.23 |
[Jenkins] 젠킨스와 깃허브 연동(GitHub Web Hook) (2) (0) | 2022.03.23 |
[Jenkins] 젠킨스와 깃허브 연동(GitHub Web Hook) (1) | 2021.12.14 |
[Jenkins] 젠킨스란? (0) | 2021.08.20 |