본문 바로가기
Programming/Etc

Ubuntu 22.04 Jenkins 설치

by 이미존재 2022. 11. 28.
반응형

■ Ubuntu 22.04 Jenkins 설치


1. CI/CD 개념

 1) CI
  - CI란 Continuous Integration 즉, 지속적인 통합이라는 의미 합니다.
  - 지속적인 통합이란, 어플리케이션의 소스 변경 사항이 정기적으로 빌드 및 테스트되어 공유 레파지토리에 통합하는 것을 의미합니다.
  - 즉, 에플리케이션의 소스를 빌드, 테스트, 병합하는 것을 의미합니다.

 2) CD
  - CD는 Continuous Delivery / Continuous Depolyment 두 용어의 약자입니다.
  - Continuous Delivery는 공유 레파지토리로 자동으로 Release 하는 것을 의미하며, 지속적인 서비스 제공을 말합니다.
  - Continuous Depolyment는 Production 레벨까지 자동으로 deploy 하는 것을 의미하며, 고객에게 배포하는 것을 말합니다.
  - 즉, 개발자의 변경 사항이 레파지토리를 넘어, 고객에게 배포하는 것까지를 의미합니다.


2. Jenkins 란

 - jenkins는 레파지토리를 대상으로 소스를 가지고 와서 빌드 및 테스트를 한 후 배포까지의 일련의 작업들을 자동화하는 툴입니다.
 - jenkins는 Commit - Build - Test - Stage - Deploy라는 일련의 CI/CD 프로세스를 자동화해줍니다.


3. jdk 먼저 설치

 - 현재(2022.12) jenkins의 최적화 호환 버전은 11버전이라고 합니다.
 - Jenkins는 JVM기반의 Groovy 언어로 만들어져 jdk가 설치 되어 있어야 합니다.


 1) jdk 설치
  : ubuntu 22.04 설치 가능 버전

 - JRE(Java Runtime Environment) : 자바 실행 환경(Java Runtime Environment)의 약자로 자바로 만들어진 프로그램을 실행시키는 환경
 - JDK(Java Development Kit) : 개발자들이 자바로 개발하는 데 사용됩니다. 실행도 시켜줘야 하기 때문에 JRE (Java Runtime Environment)도 함께 포함되어 있습니다.
 - JDK-headless 버전은 GUI가 있지 않은 프로그램을 실행할 때 사용합니다.

root@berasix:~# sudo apt install openjdk-11-jdk-headless


4.jenkins 설치 

 - jenkins는 ubuntu repository에 기본 등록되어 있지 않습니다.

 1) jenkins 사이트의 키를 받습니다.

root@berasix:~# sudo wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -


 2) 레파지토리 등록해줍니다.

root@berasix:~# echo deb http://pkg.jenkins.io/debian-stable binary/ | sudo tee /etc/apt/sources.list.d/jenkins.list


 3) 젠킨스를 설치합니다.

sudo apt update
sudo apt upgrade
sudo apt install jenkins


 4) 설치가 완료되면 Ubuntu22.04에서 자동실행 등록되며 젠킨스가 실행 됩니다.(Jenkins 2.361.4)

sudo systemctl status jenkins

 - 기본포트가 8080으로 프로세스와 포트 리스닝을 확인해봅니다. 다른 서비스에서 tcp 8080 포트를 사용 중이라면 설정에서 바꿔줘야 합니다.(아래 설정 참조)

netstat -nltp | grep 8080

 

root@berasix:~# vi /etc/default/jenkins 
  : # port for HTTP connector (default 8080; disable with -1)
    HTTP_PORT=8080


 5) 방화벽을 오픈해 줍니다.
  - Ubuntu ufw 기준입니다.

root@berasix:~# ufw allow from any to any proto tcp port 8080


 6) 초기 비밀번호를 확인합니다.
  - 설치가 완료된 서버에 접속하여 초기 비밀번호를 입력합니다.

root@berasix:~# sudo cat /var/lib/jenkins/secrets/initialAdminPassword


 7) 플러그인을 설치합니다.
   - 처음에는 기본 플러그인으로 설치합니다. 플러그인은 나중에 추가 설치 가능합니다.

 


  - 관리자계정을 등록합니다. 


  - 접속할 url도 지정합니다.


 8) 설치 완료


추가로 https가 아닌환경에서 플러그인 설치가 제대로 되지 않는다면, Jenkins 관리 -> 플러그인 관리 -> 고급 -> 업데이트 사이트의 사이트 경로에 https://updates.jenkins.io/update-center.json 에서 http://updates.jenkins.io/update-center.json 로 변경 후 업데이트를 시도해 줍니다.


출처 : https://www.jenkins.io/doc/

728x90

'Programming > Etc' 카테고리의 다른 글

[Wit.ai] 챗봇 만들어보기  (0) 2024.06.12
github 업로드 절차  (0) 2022.10.06

댓글