CI CD/Jenkins

[Jenkins] Jenkins 설치

bbyuk 2023. 7. 30. 22:16

작년에 생성해뒀던 Oracle Cloud VM에 Jenkins를 새로 설치해 개인 프로젝트에 써먹어 보려고한다.

 

Free tier 1GB ram에 Swap file 2GB를 더해 느리더라도 개인용 jenkins로는 활용할 수 있을 것 같아 이번 주말동안 설치와 github webhook 연동까지 마쳐 기록을 남긴다.

 

jenkins가 올라가는 vm은 jenkins만 돌려도 버거운 사양이라 jenkins 전용으로만 사용할 예정이므로 굳이 컨테이너로 올릴 필요는 없겠다 싶어 daemon으로 올리고, 개인 프로젝트 앱을 docker 컨테이너로 올려보려고 한다.

 

1. 오래 안써서 내려가 있는 VM을 다시 실행한다.

 

2. 올 초에 사뒀던 개인 도메인을 연결 및 리버스 프록시 설정 -> 이 부분에서 certbot과 충돌이 나는지 잘 안되어서 기존에 설치해뒀던 nginx를 밀고 다시 설치했다.

 

3. jenkins 설치

 

3.1. jenkins repo 등록

$ sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo

 

3.2. GPG 키 가져오기

2023년 이후에는 아래 명령어로 키를 가져와야 한다고 한다.

$ sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key

 

3.3. jenkins 설치

sudo yum install -y jenkins

 

4. jenkins 실행

sudo systemctl enable jenkins
sudo systemctl start jenkins

 

5. jenkins 포트 변경

생각해보니 jenkins만 올라갈 vm이라 포트 변경이 필요는 없었지만 습관적으로 포트를 변경했다.

변경하면서 발생했던 문제들과 해결 방법을 기록해둔다.

 

5.1. 기본 포트 변경 방법

 

아래 config 파일에서 JENKINS_PORT 의 값을 변경하고 jenkins를 재시작 하면된다.

sudo vi /etc/sysconfig/jenkins

 

그런데 역시나 한 번에 되는것이 없지

기본 포트에서 변경되지 않는다.

 

5.2. jenkins 서비스 포트 변경

아래 파일에서 Environment="JENKINS_PORT=${포트}"로 변경해주면 된다.

sudo vi /usr/lib/systemd/system/jenkins.service

이래도 안된다.

 

내 주말,,,

 

5.3. 해결 방법

 

이전에 jenkins를 구성하면서 생겼던 정보가 로드되면서 설정이 안먹히는 문제라고 한다.

아래 파일을 삭제해야 한다고 한다.

/etc/systemd/system/jenkins.service.d/override.conf

 

 

해피~

 


 

그런데, 이제는 알게 되었지만 이전에 이 vm에 젠킨스를 구성한 적이 있어 initialAdminPassword로도 확인이 안되고,, 내 계정 password를 모르는 상황

 

Jenkins config 파일을 수정해 useSecurity를 꺼 로그인 하지 않고, 내 계정의 패스워드를 변경한다.

 

파일 내의 <useSecurity>true</useSecurity> 부분을 false로 변경 후 jenkins를 재시작한다.

sudo vi /var/lib/jenkins/config.xml
sudo systemctl restart jenkins

 

이번 글에서는 접속까지만