Skip to content

Commit 9ebd7eb

Browse files
authored
[YS-35] chore: CD 스크립트 및 도커 파일 추가 (#8)
* chore: add cd script * chore: add docker-compose file
1 parent 814b8c2 commit 9ebd7eb

File tree

3 files changed

+70
-0
lines changed

3 files changed

+70
-0
lines changed

.github/workflows/cd-backend.yml

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
name: Java CD with Gradle and Docker
2+
3+
on:
4+
push:
5+
branches:
6+
- dev
7+
8+
jobs:
9+
deploy:
10+
runs-on: ubuntu-latest
11+
12+
steps:
13+
- uses: actions/checkout@v3
14+
15+
- name: Set up JDK 17
16+
uses: actions/setup-java@v3
17+
with:
18+
java-version: '17'
19+
distribution: 'temurin'
20+
21+
- name: make application-dev.yml
22+
run: |
23+
cd ./src/main/resources
24+
touch ./application-dev.yml
25+
echo "${{ secrets.DEV_YML }}" >> ./application-dev.yml
26+
shell: bash
27+
28+
- name: Grant execute permisson for gradlew
29+
run: chmod +x gradlew
30+
31+
- name: Build with Gradle (without Test)
32+
run: ./gradlew clean build -x test --stacktrace
33+
34+
- name: Docker Hub build & push
35+
run: |
36+
docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }}
37+
docker build -t ${{ secrets.DOCKER_USERNAME }}/${{ secrets.DOCKER_REPO }} .
38+
docker images
39+
docker push ${{ secrets.DOCKER_USERNAME }}/${{ secrets.DOCKER_REPO }}
40+
41+
- name: Deploy to Prod WAS Server
42+
uses: appleboy/ssh-action@master
43+
with:
44+
host: ${{ secrets.WAS_HOST }}
45+
username: ${{ secrets.WAS_USERNAME }}
46+
key: ${{ secrets.WAS_KEY }}
47+
port: ${{ secrets.WAS_SSH_PORT }}
48+
script: |
49+
cd /home/ubuntu/dobby-backend/
50+
sudo docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }}
51+
sudo docker rm -f $(sudo docker ps -qa)
52+
sudo docker pull ${{ secrets.DOCKER_USERNAME }}/${{ secrets.DOCKER_REPO }}
53+
sudo docker-compose up -d
54+
sudo docker image prune -f

build.gradle.kts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,10 @@ java {
1515
}
1616
}
1717

18+
tasks.jar {
19+
enabled = false
20+
}
21+
1822
configurations {
1923
compileOnly {
2024
extendsFrom(configurations.annotationProcessor.get())

docker-compose.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
version: '3'
2+
services:
3+
app:
4+
container_name: dobby
5+
user: "1000:1000"
6+
image: jisoo708/dobby
7+
expose:
8+
- "8080"
9+
ports: # host - container 포트 매핑
10+
- "8080:8080"
11+
volumes: # host 로그 디렉토리 - container 로그 디렉토리 볼륨 마운트
12+
- ./logs:/logs

0 commit comments

Comments
 (0)