2023.10.21 - [분류 전체보기] - [CI/CD] - 도커와 젠킨스를 사용한 CI/CD -1 (도커의 설치부터 자동배포까지)
도커의 설치와 기본 세팅은 위 포스팅에 정리되어있다.
젠킨스 이미지 다운
docker pull jenkins/jenkins:lts
먼저 docker 명령어를 이용해 jenkins 이미지를 다운받는다.
docker images 를 통해 내가 다운받은 이미지 목록을 볼 수 있고, 이렇게 젠킨스가 잘 다운된 것을 확인할 수 있다.
젠킨스 이미지를 컨테이너화
docker run -d -p 8088:8080 -v /jenkins:/var/jenkins_home --name anna_jenkins -u root jenkins/jenkins:lts
이제 젠킨스 이미지를 컨테이너에 올려준다.
포트번호는 사용하지 않는 번호를 열어주면되고, 나는 로컬 환경의 8088번 포트를 열어주었다.
docker logs anna_jenkins
이 명령어로 도커의 젠킨스 컨테이너의 로그를 확인한다.
로그를 확인하면 위와 같이 키번호가 나오게 되는데, 이 키 번호를 복사해서 아까 설정한 포트번호(127.0.0.1:8088)에 접속 후 붙여넣기를 해주면 준비 완료.
젠킨스 실행
이제 젠킨스를 실행할 수 있다.
좌측 메뉴를 클릭해 추천 플러그인을 모두 다운받아준다.
개인 정보를 입력해 회원 가입을 마치면 메인 화면이 나온다.
도커 데스크탑에서도 컨테이너에 젠킨스가 올라온 것을 확인할 수 있다.
그러나... 정작 볼륨에는 아무것도 추가되지 않은 것을 볼 수 있다.
볼륨이 자동으로 생기는 줄 알았으나, 생기지 않은 것이다.
볼륨이란?
- Docker volume은 host disk의 일정 부분을 Docker에 할당하고 컨테이너가 storage를 관리한다.
- 할당된 disk를 사용하므로 당연히 컨테이너가 죽어도 데이터는 살아있다.
- 여기서 Docker processor가 아닌 host가 수정하는건 금지되어있다. 따라서 보안성이 높다.
- 다른 컨테이너들도 volume에 access가 가능하다.
볼륨 만들기
docker volume create jenkins_vol
위 명령어로 도커 볼륨을 생성해주고, 잘 생성되었는지 확인해준다.
잘못 설정된 컨테이너를 지워주고,
docker run --name jenkins -d -p 8088:8080 -p 50001:50000 -u root -v jenkins_vol:/var/jenkins_home jenkins/jenkins:lts
위 명령어로 다시 생성해준다. 이번엔 미리 만들어준 볼륨에 컨테이너의 디렉터리를 마운트 시켜주었다.
컨테이너도 정상적으로 만들어졌고, 볼륨도 사용중인 모습이다. 진짜 끝!
이제 Docker와 jenkins의 모든 설정은 끝이 났고, 깃의 레포지토리를 연결해주는 작업만 남았다.
아키텍쳐의 대략적인 흐름은 다음과 같다.
다음 장에서는 git의 webhook을 이용해 머지시 젠킨스로 자동으로 빌드, 배포하는 작업을 진행해보겠다.
'♾️DevOps > ♾️CI & CD' 카테고리의 다른 글
[CI/CD] - 무중단 배포 with CI/CD 1: nginx + spring 로드 밸런싱 편 (0) | 2024.02.26 |
---|---|
[CI/CD] - 도커와 젠킨스를 사용한 CI/CD -4 (도커의 설치부터 자동배포까지) (5) | 2024.01.09 |
[Trouble Shooting] - 젠킨스 빌드 시 error: external filter 'git-lfs filter-process' failed 에러 해결하기 (1) | 2023.12.30 |
[CI/CD] - 도커와 젠킨스를 사용한 CI/CD -3 (도커의 설치부터 자동배포까지) (0) | 2023.10.22 |
[CI/CD] - 도커와 젠킨스를 사용한 CI/CD -1 (도커의 설치부터 자동배포까지) (0) | 2023.10.21 |