환경변수(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. 호스트 특정 디렉토리에 마운트