앞서 Jenkins에 대한 개념 및 구조에 대해 간략하게 훑어보았다. 이번에는 Jenkins를 설치하는 다양한 방법에 대해서 알아보려고 한다.
단순히 맥북 터미널에서는 작업을 할 수 없기에 미리 AWS EC2 인스턴스를 생성해 접속했다. 그리고 이 방법은 Ubuntu 중에 Debian 계열에 적용되니 미리 염두해두길 바란다.
$ sudo apt-get -y update
$ sudo apt install openjdk-11-jdk -y
$ 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'
$ sudo apt-get update
이 오류에 대해서 많이 찾아봤는데 그 결과 내가 실습을 하는 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 설치가 완료되었음을 알 수 있다.
$ sudo apt-get install jenkins
이 경우 jenkins 설치과정에서 잘못된 경우가 있었다는 것인데 바로 4번에서 발생한 오류일 가능성이 크다. 만약 4번 과정에서 Certificate Verification Error가 뜬다면 한번 로그를 확인하는 것이 좋다.
$ sudo systemctl start jenkins
$ sudo systemctl enable jenkins
시작하고 나서 jenkins 상태 체크하기
$ sudo systemctl status jenkins
이 경우도 마찬가지로 4번에서 발생한 오류로 다시 한번 Jenkins 설치 과정을 차례대로 시도해보길 바란다.
http://IP 또는 도메인:8080
여기로 접속하면 로그인할 수 있는 화면이 나오게 된다.
여기서 놓치지 말아야 할 것은 AWS EC2를 사용할 때 8080 포트를 사용할 수 있도록 보안 그룹을 수정해놓는 것이니 까먹지 않고 진행해주길 바란다.
$ sudo cat /var/lib/jenkins/secrets/initialAdminPassword
여기서 나온 패스워드를 복사해 넣어놓는다.
왠만하면 "Install suggested plugins" 를 선택해 실행을 한다. 그리고 몇분 동안 설치가 진행중이니 기다리면 된다.
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*'
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에 뜨는 초기 비밀번호를 잘 복사해 저장해놓아야 한다.
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 이미지_이름