환경변수(application-secret.yml)
spring:
config:
activate:
on-profile: secret
datasource:
url: jdbc:mysql://k12d102.p.ssafy.io/:3306/TAKEN
username:
password:
driver-class-name: com.mysql.cj.jdbc.Driver
data:
redis:
password:
jwt:
secret:
access-token-expiration: 86400 # 1일
refresh-token-expiration: 2592000 # 30일 (86400 * 30)
token-prefix: "Bearer "
header-string: "Authorization"
springdoc:
swagger-ui:
path: /api/taken/swagger
url: /api/v3/api-docs
api-docs:
path: /api/v3/api-docs
cloud:
aws:
credentials:
access-key:
secret-key:
region:
static: ap-northeast-2
auto: false
s3:
bucket: boda-taken-bucket
stack:
auto: false
firebase:
service-account-key-path: /app/fcm/boda.json
kakao:
client-id: # 카카오 REST API 키
redirect-uri: "k12d102.p.ssafy.io/api/oauth/kakao" # 카카오 로그인 완료 후 리다이렉트될 URI
kakao-map:
api-key:
빌드 배포 메뉴얼
1. 도커설치
1.1. Docker 레포지토리 설정
# 시스템의 패키지 목록을 최신화
sudo apt-get update
# SSL 인증서와 curl 도구 설치 (보안 통신과 파일 다운로드에 필요)
sudo apt-get install ca-certificates curl
# Docker의 GPG 키를 저장할 디렉토리 생성 (권한: 0755)
sudo install -m 0755 -d /etc/apt/keyrings
# Docker의 공식 GPG 키를 다운로드 (패키지 인증에 사용)
sudo curl -fsSL <https://download.docker.com/linux/ubuntu/gpg> -o /etc/apt/keyrings/docker.asc
# 다운로드한 GPG 키를 모든 사용자가 읽을 수 있도록 권한 설정
sudo chmod a+r /etc/apt/keyrings/docker.asc
1.2. 레포지토리 추가
# Docker 공식 레포지토리를 시스템의 소프트웨어 소스에 추가
# - arch=$(dpkg --print-architecture): 시스템 아키텍처 확인 (예: amd64)
# - VERSION_CODENAME: Ubuntu 버전 코드네임 (예: focal)
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
1.3. Docker 패키지 설치
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
1.4. Docker 설치 확인 및 권한 설정
# 현재 사용자를 docker 그룹에 추가
sudo usermode -aG docker $USER
#변경사항 적용
newgrp docker
#권한 확인
groups
`ubuntu adm dialout cdrom floppy sudo audio dip video plugdev netdev lxd docker`
1.5 Docker 네트워크 생성
docker network create taken-net
2. Jenkins 설치
2.1. 호스트 특정 디렉토리에 마운트