Jenkins 따라잡기 [2] - Jenkins 설치하는 다양한 방법

김진성·2021년 10월 13일
1

Jenkins

목록 보기
2/2

앞서 Jenkins에 대한 개념 및 구조에 대해 간략하게 훑어보았다. 이번에는 Jenkins를 설치하는 다양한 방법에 대해서 알아보려고 한다.

Ubuntu에서 Jenkins 설치하기

단순히 맥북 터미널에서는 작업을 할 수 없기에 미리 AWS EC2 인스턴스를 생성해 접속했다. 그리고 이 방법은 Ubuntu 중에 Debian 계열에 적용되니 미리 염두해두길 바란다.

1) 서버에 접속 후 패키지 업데이트 하기

$ sudo apt-get -y update

2) Jenkins 환경에 필요한 jdk 다운로드 하기

$ sudo apt install openjdk-11-jdk -y

3) Jenkins Debian repo 추가하기

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

4) 다시 패키지 리스트 업데이트 하기

$ sudo apt-get update

오류 : Certificate verification failed

이 오류에 대해서 많이 찾아봤는데 그 결과 내가 실습을 하는 3일 전에 바로 나와 같은 오류를 겪은 외국인이 있어서 봤더니 버전 오류라고 판단을 내리고 아래의 3가지 명령어를 따라 치라고 나와있었다.

$ sudo apt upgrade <- 이거는 서버가 무거워질 수도 있으니 2번째부터 해보는 것을 추천한다.
$ sudo apt update
$ sudo apt-get install jenkins

https://stackoverflow.com/questions/69495517/unable-to-install-jenkins-on-ubuntu-20-04

그러면 Jenkins 설치가 완료되었음을 알 수 있다.

5) 최신 LTS Jenkins 설치하기

$ sudo apt-get install jenkins

오류 : E: Package 'jenkins' has no installation candidate

이 경우 jenkins 설치과정에서 잘못된 경우가 있었다는 것인데 바로 4번에서 발생한 오류일 가능성이 크다. 만약 4번 과정에서 Certificate Verification Error가 뜬다면 한번 로그를 확인하는 것이 좋다.

6) Jenkins 시작하기

$ sudo systemctl start jenkins
$ sudo systemctl enable jenkins

시작하고 나서 jenkins 상태 체크하기
$ sudo systemctl status jenkins

오류 : Failed to start jenkins.service: Unit jenkins.service not found.

이 경우도 마찬가지로 4번에서 발생한 오류로 다시 한번 Jenkins 설치 과정을 차례대로 시도해보길 바란다.

7) 8080 포트로 Jenkins 서버 접속하기

http://IP 또는 도메인:8080

여기로 접속하면 로그인할 수 있는 화면이 나오게 된다.

여기서 놓치지 말아야 할 것은 AWS EC2를 사용할 때 8080 포트를 사용할 수 있도록 보안 그룹을 수정해놓는 것이니 까먹지 않고 진행해주길 바란다.

8) 패스워드 생성해 접속하기

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

여기서 나온 패스워드를 복사해 넣어놓는다.

9) Jenkins 옵션 선택하기

왠만하면 "Install suggested plugins" 를 선택해 실행을 한다. 그리고 몇분 동안 설치가 진행중이니 기다리면 된다.

10) 유저 생성하고 Jenkins 시작하기

이외 여러 명령어

1. 멈추기 : sudo systemctl stop jenkins
2. 제거 

기본 : sudo apt remove jenkins

$ sudo apt-get remove --purge jenkins
$ sudo apt-get remove --auto-remove jenkins

3. 잔여파일 확인 : sudo find / -name 'jenkins*'

Docker를 활용한 Jenkins 설치하기

Ubuntu에서 Docker가 없다면 https://velog.io/@guri_coding/%EC%95%BC-Docker-%EC%9D%B4%EB%A6%AC%EB%82%98%EC%99%80-6-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0feat.-Ubuntu 여기서 설치하고 나서 따라하시면 됩니다.

기본 설치 방법

$ docker run -p 8080:8080 -p 50000:50000 jenkins jenkinsci/jenkins:latest

설치 오류

docker: Error response from daemon: manifest for jenkins:latest not found: manifest unknown: manifest unknown.
이 경우 jenkins:lastest 가지는 오류로 기본 커뮤니티에서 사용하는 jenkins image를 가져오면 된다.

$ docker pull jenkins/jenkins
$ docker run -p 8080:8080 --name=jenkins-master -d jenkins/jenkins

나만의 경로를 설정할 경우

/your/home 에 데이터를 저장하게 됨
$ docker run -p 8080:8080 -p 50000:50000 -v /your/home:/var/jenkins_home jenkins

Ubuntu 내에서 경로를 설정할 경우
$ docker run -p 8080:8080 -p 50000:50000 -v /home/ubuntu:/var/jenkins_home jenkinsci/jenkins:latest

설치 과정에서 Terminal에 뜨는 초기 비밀번호를 잘 복사해 저장해놓아야 한다.

Docker로 만든 Jenkins 초기 비밀번호

sudo docker exec <image_name> cat /var/jenkins_home/secrets/initialAdminPassword

이걸로 입력을 하면 실행이 된다. 단순히 ubuntu 내에서 실행하게 되면 ubuntu에 저장한 jenkins 비밀번호가 나오기 때문에 Docker와 Ubuntu 명령어가 다른 것을 인지하고 있어야 한다.

이외 여러 명령어

AWS EC2에서 Docker가 계속 돌아가게 놔두면 안되기 때문에 실행을 정지하고 삭제하는 법을 적게 되었다.

$ sudo docker ps -a
$ sudo docker stop 이미지_이름
$ sudo docker rm 이미지_이름

만약 삭제가 안될 경우 강제 삭제
$ sudo docker rm -f 이미지_이름
profile
https://medium.com/@jinsung1048 미디엄으로 이전하였습니다.

0개의 댓글