EC2 환경 세팅 (2대 기준)
EC2 환경 |
버전 |
SpringBoot + React |
t3.medium |
Jenkins |
t3.medium |
Ubuntu 시간 설정
시간 설정
timedatectl
sudo timedatectl set-timezone Asia/Seoul
Time zone: Asia/Seoul (KST, +0900)
Jenkins 에 Dockerfile과 docker-compose.yml 파일 세팅
services:
jenkins:
build: .
container_name: jenkins
ports:
- "7070:8080"
- "50000:50000"
user: root
volumes:
- ./volumes/jenkins:/var/jenkins_home
- /var/run/docker.sock:/var/run/docker.sock
- /etc/localtime:/etc/localtime:ro # 로컬 시간 설정
environment:
- TZ=Asia/Seoul # 로컬 시간 설정
restart: unless-stopped
# ~/jenkins/Dockerfile
FROM jenkins/jenkins:lts-jdk17
USER root
# Docker CLI 설치
RUN apt-get update && \\
apt-get install -y \\
docker.io \\
docker-compose && \\
apt-get clean
# 심볼릭 링크 (docker 명령 오류 방지용)
RUN ln -s /usr/bin/docker.io /usr/bin/docker || true
# Jenkins 유저에게 docker 그룹 권한 부여
RUN usermod -aG docker jenkins
USER jenkins
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL <https://download.docker.com/linux/ubuntu/gpg> -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Add the repository to Apt sources:
echo \\
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] <https://download.docker.com/linux/ubuntu> \\
$(. /etc/os-release && echo "$VERSION_CODENAME") 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-buildx-plugin docker-compose-plugin
ubuntu@ip-172-31-34-164:~$ sudo usermod -aG docker $USER
ubuntu@ip-172-31-34-164:~$ newgrp docker
ubuntu@ip-172-31-34-164:~$ docker info
docker-compose up -d --build
# docker compose version 확인
docker compose version
Jenkins Container 접속
- 초기비밀번호 확인: docker exec -it jenkins cat /var/jenkins_home/secrets/initialAdminPassword
- http://EC2-IP:7070 접속하여 초기비밀번호 입력
- 플러그인 자동 설치 후 몇 분간 대기