-
1. ubuntu 서버에 docker container 형태로 jenkins 설치하기Jenkins 2023. 11. 29. 19:18
참고 : https://blog.opendocs.co.kr/?p=704
설치 환경
- server hosing - ubuntu 22.04
- docker 24.0.7
domain
1. Ubuntu Jenkins 관리 계정 생성
계정 아이디 : jenkins
group : sudo, docker## 1. 계정 생성 adduser jenkins ## 2. 그룹에 계정 추가 # docker 그룹과 sudo 그룹에 추가 # group을 여러개 지정할 경우 공백 없이 콤마를 붙여 작성 usermod -aG sudo,docker jenkins ## 3. 생성한 계정 정보 확인 id jenkins
생성한 아이디로 다시 로그인
login
docker 버전 확인
docker -v
2. Jenkins 설치 (docker container)
container 설치 및 실행
docker run \ -d --privileged=true --name jenkins \ -p 8099:8080 -p 50000:50000 \ -v /var/run/docker.sock:/var/run/docker.sock \ --user root \ jenkins/jenkins:latest
-v /var/run/docker.sock:/var/run/docker.sock
볼륨 마운트를 통해
host 위치의 docker.socket 파일을 컨테이너 안으로 복사한다.
--user root
root 계정으로 jenkins가 실행되도록 설정
jenkins container 상태 확인
docker ps -a
3. jenkins 설정
unlock jenkins
http://127.0.0.1:8099 로 접속하면 아래 사이트가 나타난다.
빨간색으로 출력 된 경로의 파일을 열어보면 비밀번호가 적혀있고,
혹은 docker container로 설치했기 때문에 docker log를 조회해보면 나타난다.
비밀번호를 알아낸 후 입력해줘야 한다.
방법 1. docker logs 조회
docker logs jenkins
방법 2. file 열어서 비밀번호 보기
docker exec -it jenkins bash
cat /var/jenkins_home/secrets/initialAdminPassword
Plugin 설치
install suggested plugins
를 클릭하면 jenkins 커뮤니티에서 추천하는 plugins들을 설치하게 되고,select plugins to install
을 클릭하면 원하는 플러그인만 설치하게 된다.
나는 install suggested plugins를 선택하였다.
install suggested plugins를 선택하면 자동으로 설치된 후 다음 화면으로 넘어가진다.
실무에서는 이러한 작업을 하지 않아도 되게 끔
jenkins 컨테이너 생성시 필요한 플러그인을 포함 시켜서 생성하는 방법을 일반적으로 사용한다고 한다.
Admin User 생성
나타난 페이지의 입력 폼을 채워주고 save and continue를 눌러준다.
jenkins 접속 url 확인
나타나는 화면에서 url정보를 확인한 후 save and finish 버튼을 눌러준다.
4. jenkins container에 docker 설치
이런 형태를 docker in docker 라고 부른다고 한다!
os 확인
cat /etc/os-release
debian 12 bookworm 임을 확인했다.
docker 설치
host 서버의 docker socket을 사용할 것이기 때문에,
docker 전체를 설치하지 않고 docker 명령어만 사용할 수 있도록 진행한다.apt-get update && \ apt-get -y install apt-transport-https \ ca-certificates \ curl \ gnupg2 \ jq \ software-properties-common && \ curl -fsSL https://download.docker.com/linux/$(. /etc/os-release; echo "$ID")/gpg > /tmp/dkey; apt-key add /tmp/dkey && \ add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/$(. /etc/os-release; echo "$ID") \ $(lsb_release -cs) \ stable" && \ apt-get update && \ apt-get -y install docker-ce
docker 실행 컨테이너 확인
host server에서 docker socket을 가져와 실행하는 것이기 때문에
host server에서 실행중인 컨테이너 목록이 보여야 한다.docker ps
'Jenkins' 카테고리의 다른 글
배포시 docker container 존재하면 삭제 후 container 새로 실행하는 코드 (0) 2024.01.15 Jenkins ERROR: Exception when publishing, exception message [Exec exit status not zero. Status [125]] (0) 2024.01.15