젠킨스 장점 / 리눅스 개발서버 젠킨스 설치 방법

젠킨스 장점

  • 빌드, 테스트, 배포 과정을 자동화하여 지속적 통합(CI)이 가능합니다.
  • 반복적인 작업의 자동화로 시간을 절약하여 개발 생산성을 높일 수 있습니다.
  • 개발자의 실수를 최소화하고, 신속하게 배포할 수 있습니다.
  • Git에 커밋하지 않은 개발중 소스를 Stash/Unstash 하는 번거로움이 없어집니다.
  • 스케줄링하여 특정 시간대에 빌드 및 배포를 실행할 수 있습니다.
  • 빌드 상태, 테스트 결과 등을 모니터링할 수 있습니다.
  • 다양한 플러그인을 통해 여러 서비스에서 사용이 가능합니다.

운영서버 젠킨스 위치
운영서버에 젠킨스를 설치하고 war 배포하는 것은 보안 및 부하 증가로 인해 권장되지 않습니다.
운영 VPC 내에서 private 존의 운영서버와 별도로, public 존에 젠킨스용 서버를 구축하는 게 좋습니다.
하나의 젠킨스 서버에서 여러 Job을 만들어 운영서버 배포, 스테이징서버 배포, 개발서버 배포 모두 가능합니다.


리눅스 젠킨스 설치 방법

인터넷 연결이 가능한 CentOS 리눅스 서버에서 젠킨스를 설치하는 방법입니다.

젠킨스 설치 링크
https://www.jenkins.io/download
다양한 OS에서 젠킨스를 설치할 수 있습니다.

젠킨스 설치 명령어

sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key
yum install fontconfig java-17-openjdk
yum install jenkins

위 명령어를 순서대로 입력하여 JDK와 젠킨스를 설치합니다.

젠킨스 포트 변경

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

젠킨스 기본 포트 8080을 리눅스 서버 내에서 이미 사용중이라면, 다른 포트로 변경해야 실행할 수 있습니다.

Environment="JENKINS_PORT= 9090"

위 예시처럼 포트 번호를 변경하고 :wq! 으로 저장합니다.

service 파일 변경사항 적용

systemctl daemon-reload

위 명령어를 통해 변경사항 적용 후 젠킨스를 실행하면 포트가 변경됩니다.

젠킨스 실행

systemctl start jenkins

젠킨스 실행은 시간이 걸립니다. 실행 후 status로 실행 상태를 보고, stop으로 종료할 수 있습니다.

젠킨스 방화벽 허용

AWS EC2 서버는 연결된 보안그룹 인바운드 규칙에 0.0.0.0/0 대상으로 사용자 지정 TCP 9090 포트를 추가해야 합니다.
보안그룹 아웃바운드 규칙은 0.0.0.0/0 대상으로 전체 포트가 허용되어 있으면 됩니다.
방화벽 포트를 허용했는데도 접근이 안되면, 서버IP:포트에 대해서 사내 아웃바운드 보안이 막혀있을 수 있습니다.

젠킨스 정상 설치 확인

서버 내부에서 확인 방법

curl localhost:9090

위 명령어 입력 시 HTML이 반환된다면, 젠킨스가 정상 작동중입니다.

웹 브라우저에서 확인 방법

http://서버외부IP:9090

위 URL로 접근 시 암호 설정 창이 나오면, 젠킨스가 정상 설치된 것입니다.


젠킨스 초기 접근 시

초기 패스워드 입력

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

위 명령어로 초기 패스워드를 확인하고 입력 후 Continue 합니다.

기본 플러그인 설치

Customize Jenkins 화면에서 Install suggested plugins를 선택합니다.
Git, GitHub Branch Source, Gradle 등 기본 플러그인이 모두 설치됩니다.

어드민 계정 생성

입력한 계정명과 암호를 잘 보관해야 합니다.