Jenkins 기본 설정 및 Ubuntu에 설치

LeeKyoungChang·2023년 1월 8일
0
post-thumbnail

📚 1. Jenkins란?

✔️ 배포와 빌드
서버 어플리케이션에 기능을 추가하려면 개발자가 노트북에서 개발을 완료하고 테스트까지 한 다음에 이상이 없을 시 사용자가 사용할 수 있게 수정된 내용을 서버에 반영해야 한다.

이중에서

  • 배포 : 수정된 내용을 서버에 반영하는 것
  • 빌드 : 기능을 추가할 때, 개발자가 노트북에서 개발을 완료하고 테스트까지 한 다음에 이상이 없는 지 확인하는 과정(배포하기 위한 준비 과정)

 

✔️ 그래서 jenkins로 주로 어떤 걸 하는걸까? (이해한 내용)

사용자가 github repository 생성 후, project push -> aws ec2에 libs 파일을 생성 한다.
이후, jenkins에서 배포 및 빌드를 자동화를 할시,
사용자가 github에 push할 때마다 .jar 파일이 aws(ec2)에 자동으로 업데이트 된다.

원래는 업데이트 될 때마다, ec에 git pull 한 후, lib 파일 새로 생성해야 했다.

 

 

📚 2-1. Ubuntu에 설치 및 Jenkins 기본 설정

✔️ 최신 안정 버전의 Jenkins 기능 및 수정 사항을 활용하려면?(설치하려면?)
프로젝트의 유지 관리하는 패키지를 사용하면 된다.

$ wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
$ sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
$ sudo apt-get update
$ sudo apt-get install jenkins

 

✔️ Jenkins 서버 시작, 활성화 및 상태 확인

$ sudo systemctl start jenkins -- 시작
$ sudo systemctl status jenkins -- 상태

$ sudo service jenkins start -- 시작
$ sudo service jenkins stop -- 종료
$ sudo service jenkins restart -- jenkins 재시작
$ sudo systemctl enable jenkins -- enable 설정

 

✔️ Jenkins port 변경
(1) Jenkins Version 2.335 이전일 경우

$ sudo vi /etc/default/jenkins

 

(2) Jenkins Version 2.335 이후일 경우

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

를 통해 vi 편집기를 열고 나서, port를 찾은 후 변경하면 된다.

 

 

📚 2-2. local에서 사용할 때 기본 설정

✔️ Jenkins 비밀번호 조회

/Users/leekyoungchang/.jenkins/secrets/initialAdminPassword

: 서버 실행 후, 이를 입력할 시 비밀번호 조회 가능

 

✔️ port 변경하기

port를 변경하기 위해서는 homebrew.mxcl.jenkins.plist 파일을 찾아야 한다.

어디에 있냐면?

%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2023-01-07_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_5 09 58

/opt/homebrew/Cellar/jenkins/2.385/homebrew.mxcl.jenkins.plist 에 있다.

 

vi /opt/homebrew/Cellar/jenkins/2.385/homebrew.mxcl.jenkins.plist 입력할 시

%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2023-01-07_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_5 12 52
  • port를 확인할 수 있다. (port를 변경하면 된다.)

 

9000번으로 변경하고 실행하면?

%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2023-01-07_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_5 15 22

정상적으로 실행된다.

 

✔️ jenkins 실행 명령어


$ brew services start jenkins // 젠킨스 시작

$ brew services stop jenkins // 젠킨스 종료

$ brew services restart jenkins //젠킨스 재시작

 

💡 참고

 

 

📚 3. Jenkin 테스트를 위한 EC2 생성

ec2를 생성 후, ssh -i "aws secret access key" ubuntu@주소 를 입력하여 가상 서버 접속

이후

- git clone 한다.
- mkdir app/repository 생성
- sudo apt-get install openjdk-11-jdk : Jdk 설치 
- ./gradlew build : build 디렉터리에 libs파일 생성
Screenshot 2023-01-08 at 5 22 47 PM Screenshot 2023-01-08 at 5 23 05 PM Screenshot 2023-01-08 at 5 30 18 PM
  • libs 디렉터리에서 압축된 .jar 파일을 배포하면 된다!

 

✔️ 배포

jar 파일 이름 :

Screenshot 2023-01-08 at 5 33 26 PM Screenshot 2023-01-08 at 5 33 17 PM

이와 관련 vim도 생성해야하지만 여기서는 간단한 배포만 하겠다.

 

✔️ 추가로 프로젝트 내용이 업데이트 될 때마다, jar파일을 만들어야하는 귀찮은 작업이 필요하다.

Screenshot 2023-01-08 at 10 21 07 PM
  • jar 파일 업데이트 하기전 화면

 

Screenshot 2023-01-08 at 10 21 20 PM
  • ./gradlew build 로 업데이트 내용이 적용된 jar 파일 만든다.

 

Screenshot 2023-01-08 at 10 21 49 PM
  • 변경된 내용이 적용되었다.

=> jenkins를 이용하면 이런 귀찮은 것을 한 번에 처리할 수 있다.

 

 

profile
"야, (오류 만났어?) 너두 (해결) 할 수 있어"

0개의 댓글