개발 환경
- GCP VM
- ubuntu 22.04
목표
- docker-compose를 통해서 Jeinkins 사용하기
# 필요한 기본 패키지 설치
$ sudo apt-get update
$ sudo apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release
# 도커 GPG 키 추가
$ sudo mkdir -p /etc/apt/keyrings
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
# 리포지토리 설정
$ echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 도커 엔진 설치
$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
각 명령을 수행하여 도커 엔진을 설치합니다.
$ sudo docker run hello-world
도커를 실행하여 정상적으로 작동하는지 확인합니다.
# 젠킨스 이미지 다운로드
$ sudo docker pull jenkins/jenkins:lts
# docker-compose 설치
$ sudo apt install docker-compose
젠킨스 컨테이너 실행을 위해 필요한 젠킨스 이미지와 docker-compose를 설치합니다.
$ cd /home/ubuntu
$ sudo vi docker-compose.yml
version: '3'
services:
jenkins:
image: jenkins/jenkins:lts
container_name: jenkins
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /jenkins:/var/jenkins_home
ports:
- "20000:8080"
user: root
/home/ubuntu 위치로 이동하여 docker-compose.yml 코드를 작성합니다.
8080 포트는 다른 곳에서 사용할 것이기 때문에 포트 번호를 20000번으로 접근하도록 만들었습니다.
ports: 부분 코드의 정확한 의미는,
호스트 머신에서 20000번 포트로 들어오는 요청을 컨테이너 내부의 8080번 포트로 전달해라
입니다.
$ sudo docker compose up -d
마지막으로 docker compose를 실행시키는 명령을 해서 정상적으로 done이 출력되면 성공입니다.
앞서 저는 20000번 포트로 연결시켰는데요.
그래서 http://도메인주소:20000으로 접근하면, 위와 같이 jenkins 초기화면이 출력됩니다.
이때 관리자 비밀번호를 요구하게 됩니다.
# 실행 중인 컨테이너 출력
$ sudo docker ps
먼저 docker ps를 통해 실행 중인 컨테이너 아이디를 확인해 줍니다.
$ sudo docker logs 컨테이너_아이디
다음으로 컨테이너 아이디와 로그를 통해 내용을 확인할 수 있는데 명령 가운데 비밀번호가 적혀있습니다.
해당 비밀번호를 복사하여 붙여넣기를 진행하시면 됩니다.
Install suggested plugins 를 눌러 설치를 진행합니다.
로그인은 계정명과 암호를 통해 진행됩니다.
작성 후 Save ans Continue를 눌러주세요.
Jenkins 접근 주소까지 설정을 완료하면 모든 작업이 완료됩니다.
[Infra] SSL 발급 및 설정하기 (feat. Letsencrypt) (0) | 2023.12.23 |
---|---|
[Infra] GCP 서버 외부 도메인 연결 (feat. Cafe24) (1) | 2023.12.21 |
[Infra] Github Web 개발 헙업 환경 설정 (Feat. Spring Boot, React) (1) | 2023.12.13 |
[GCP] Google Cloud Platform VM 만들기 & 원격 접속 (1) | 2023.11.25 |
[Infra] EC2 Server에 Docker 설치하기 (0) | 2023.10.27 |