Skip to content

Commit d8514eb

Browse files
authored
[chore] 배포 관련 수정 (#190)
* #188 [chore] docker compose, dockerfile dev용 분리 * #188 [chore] 배포 스크립트 추가 및 jenkinsfile 수정 * #188 [chore] docker 관련 파일 디렉토리 변경 * #188 [chore] jenkinsfile path 수정 및 단계 추가 * #188 [chore] jenkinsfile 파일 이름 변경 * #188 [chore] 배포 전 디렉토리 생성 및 권한 부여 단계 추가 * #188 [chore] 배포 스크립트 경로 수정 * #188 [chore] 스크립트 docker-compose 파일 이름 수정 * #188 [chore] 스크립트 docker-compose 파일 경로 수정 * #188 [chore] 배포 env 파일 복사 단계 추가 * #188 [chore] 배포 env 파일 복사 단계 삭제 * #188 [chore] Dockerfile 경로 수정 * #188 [chore] docker-compose build context 추가 * #188 [chore] dockerfile jarfile 파일 이름 수정 * #188 [chore] 배포 스크립트 docker compose 명령어 수정 * #188 [chore] container name 제거 * #188 [chore] docker compose redis 추가 * #188 [chore] 배포 스크립트 수정 * #188 [chore] redis host 변경 * #188 [chore] 매번 재시작 옵션 제거 * #188 [chore] local docker compose build context 수정
1 parent e563528 commit d8514eb

File tree

8 files changed

+76
-35
lines changed

8 files changed

+76
-35
lines changed

.gitignore

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,5 @@ out/
4242
*log*.gz
4343

4444
### env ###
45-
docker/*.env
46-
.env
47-
src/main/resources/.env*
48-
src/test/resources/.env*
45+
docker/.env
46+
docker/dev/.env

docker/dev/Dockerfile

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
FROM openjdk:17-jdk-slim
2+
ARG JAR_FILE=*.jar
3+
COPY ${JAR_FILE} app.jar
4+
ENTRYPOINT ["java", "-jar", "app.jar"]

docker/dev/deploy.sh

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#!/bin/bash
2+
DOCKER_APP_NAME=spring-photi
3+
PROJECT_PATH=/home/ubuntu/photi-server
4+
5+
echo "deploy start - $(date "+%Y-%m-%d %H:%M:%S")"
6+
7+
docker compose -p "${DOCKER_APP_NAME}" -f $PROJECT_PATH/docker-compose.yml up -d
8+
docker image prune -af
9+
10+
echo "deploy end - $(date '+%Y-%m-%d %H:%M:%S')"

docker/dev/docker-compose.yml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
services:
2+
backend:
3+
env_file:
4+
- .env
5+
build:
6+
context: .
7+
dockerfile: Dockerfile
8+
ports:
9+
- "8080:8080"
10+
environment:
11+
- TZ=Asia/Seoul
12+
networks:
13+
- server-network
14+
redis:
15+
image: redis:latest
16+
ports:
17+
- "6379:6379"
18+
volumes:
19+
- /var/lib/docker/volumes/redis/data:/data
20+
restart: always
21+
networks:
22+
- server-network
23+
24+
networks:
25+
server-network:
26+
external: true
27+
driver: bridge

docker/dev/jenkinsfile

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
pipeline {
2+
agent any
3+
environment {
4+
PROJECT_PATH = '/home/ubuntu/photi-server'
5+
}
6+
tools {
7+
gradle 'gradle'
8+
}
9+
stages {
10+
stage('Build') {
11+
steps {
12+
sh "./gradlew clean bootJar"
13+
}
14+
}
15+
stage('Deploy') {
16+
steps {
17+
sshagent(credentials: ["$EC2_CREDENTIALS_ID"]) {
18+
sh '''
19+
ssh -o StrictHostKeyChecking=no ubuntu@$EC2_DEV_PRIVATE_IP "sudo mkdir -p $PROJECT_PATH && sudo chown -R ubuntu:ubuntu $PROJECT_PATH"
20+
scp -o StrictHostKeyChecking=no build/libs/*.jar ubuntu@$EC2_DEV_PRIVATE_IP:$PROJECT_PATH
21+
scp -o StrictHostKeyChecking=no docker/dev/* ubuntu@$EC2_DEV_PRIVATE_IP:$PROJECT_PATH
22+
ssh -o StrictHostKeyChecking=no ubuntu@$EC2_DEV_PRIVATE_IP "bash $PROJECT_PATH/deploy.sh"
23+
'''
24+
}
25+
}
26+
}
27+
}
28+
}
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ services:
44
alloon:
55
restart: always
66
env_file:
7-
- docker/.env
7+
- .env
88
build:
99
context: .
10-
dockerfile: docker/Dockerfile
10+
dockerfile: Dockerfile
1111
ports:
1212
- "8080:8080"
1313
depends_on:

script/dev.jenkinsfile

Lines changed: 0 additions & 29 deletions
This file was deleted.

src/main/resources/application-dev.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@ spring:
99
flyway:
1010
enabled: true
1111
baseline-on-migrate: true
12+
data:
13+
redis:
14+
host: redis
1215

1316
cloud:
1417
aws:

0 commit comments

Comments
 (0)