[Jenkins] CentOS 원격 서버 / Local MacOS 환경에서 Jenkins 설치하기

2022. 4. 5. 01:07Jenkins

Jenkins란?

  • CI/CD를 제공하는 Tool

CI/CD란?

  • CI/CD는 빌드, 테스트, 배포 프로세스를 자동화하여 소프트웨어 품질과 개발 생산성을 높이는 것을 말함
  • Continuous Integration(CI)
    • 지속적인 통합
  • Continuous Delivery(CD)
    • 지속적인 배포

 

왜 Jenkins를 사용할까?

  • Jenkins가 등장하기 전에는 일정 시간마다 개발자가 직접 빌드를 하는 비용이 존재했다(Nightly Build라고 함)
  • Jenkins는 Git과 연동하여 소스 커밋이 감지되면 자동으로 테스트와 빌드, 배포를 진행하여 개발 생산성을 높일 수 있다
  • Jenkins는 오픈소스여서 다양한 플러그인을 지원한다

Jenkins 설치 전제 조건

  • 최소 256 MB RAM, 1GB Drive Space 필요
  • Jenkins를 실행하기 위해선 OpenJDK@11(가장 최적화됨)이 필요하다

CentOS 원격 서버 환경에서 Jenkins 설치

원격 서버 접속

sudo ssh {사용자 계정}@{공개IP주소} -p {외부포트번호}

Jenkins 설치

  • yum(패키지 매니저)를 사용
sudo wget -O /etc/yum.repos.d/jenkins.repo \\
    <https://pkg.jenkins.io/redhat/jenkins.repo>
sudo rpm --import <https://pkg.jenkins.io/redhat/jenkins.io.key>
sudo yum upgrade
# Add required dependencies for the jenkins package
sudo yum install java-11-openjdk
sudo yum install jenkins

Jenkins 실행

$ sudo systemctl enable jenkins
$ sudo systemctl start jenkins
$ sudo systemctl restart jenkins

Jenkins 상태 확인

$ sudo systemctl status jenkins
$ ps -ef | grep jenkins

Jenkins 포트 변경

$ sudo vi /lib/systemd/system/jenkins.service
# JENKINS_PORT : 9100으로 수정

$ systemctl daemon-reload

주의점

  • 클라우드 서버를 사용할 경우 해당 서버로 들어오는 인바운드 트래픽에 대해서 IP 주소와 포트 단위로 접근을 제한할 수 있는데 해당 설정이 적절한지 확인해야 한다(NCP는 ‘ACG’, AWS는 ‘보안 그룹 설정’)

MacOS 환경에서 Jenkins 설치

Jenkins 설치

  • homeBrew(패키지 매니저)를 사용
$ brew install jenkins

Jenkins 실행

$ brew services start jenkins

Jenkins 종료

$ brew services stop jenkins

Jenkins metadata 경로

$ cd ~/.jenkins

Jenkins port 변경

  • 아래의 경로로 이동
$ vi /usr/local/Cellar/jenkins/2.x.x/homebrew.mxcl.jenkins.plist

# <string>--httpPort=9100</string>
# port 변경

Jenkins initial setup

  • 브라우저를 통해 Jenkins Setup Wizard 접속

# Administrator password 찾기
$ sudo cat /Users/kimgyeong-o/.jenkins/secrets/initialAdminPassword

기본 플러그인 설치

Jenkins 설치 완료

Reference