Skip to content

Commit b51ffc4

Browse files
authored
Merge pull request #50 from DKU-Dgaja/chore-dev-CD
CD 파이프라인 추가
2 parents 826e4bf + 07a1246 commit b51ffc4

File tree

3 files changed

+67
-0
lines changed

3 files changed

+67
-0
lines changed
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
name: Spring Boot & Gradle CICD Jobs (With. dev branches push)
2+
3+
on:
4+
push:
5+
branches: [ dev ]
6+
7+
jobs:
8+
build:
9+
# 실행 환경 (Git Runners 개인 서버)
10+
runs-on: self-hosted
11+
steps:
12+
- uses: actions/checkout@v3
13+
- name: Set up JDK 17
14+
uses: actions/setup-java@v3
15+
with:
16+
java-version: '17'
17+
distribution: 'adopt'
18+
19+
# application.yml 파일 설정
20+
- name: resources 폴더 생성
21+
run: |
22+
mkdir -p ./backend/src/main/resources
23+
24+
- name: yml 파일 생성
25+
run: |
26+
echo "${{ secrets.APPLICATION_DEFAULT_DEV }}" > ./backend/src/main/resources/application.yml
27+
echo "${{ secrets.APPLICATION_DEV }}" > ./backend/src/main/resources/application-dev.yml
28+
echo "${{ secrets.APPLICATION_DB }}" > ./backend/src/main/resources/database.yml
29+
30+
# gradlew를 실행시키기 위해 권한 부여
31+
- name: Gradlew에게 실행권한 부여
32+
run: chmod +x ./backend/gradlew
33+
34+
# 멀티모듈 빌드하기
35+
- name: 멀티모듈 전체 빌드
36+
run: |
37+
cd ./backend
38+
./gradlew clean build -x test
39+
40+
deployment:
41+
name: docker deployment
42+
needs: build # depends on
43+
runs-on: self-hosted
44+
45+
steps:
46+
- name: 도커 컴포즈 복사
47+
run: echo "${{ secrets.DOCKER_COMPOSE_DEV }}" > ./backend/docker-compose.yml
48+
49+
- name: 도커 컴포즈 재실행
50+
run: |
51+
cd ./backend
52+
docker-compose down
53+
docker rmi `docker images | grep gitudy | awk '{print $3}'`
54+
docker-compose up -d

.github/workflows/CI_dev_be_pull_request.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ jobs:
4040
4141
test:
4242
runs-on: self-hosted
43+
needs: build
4344
steps:
4445
- name: Gradle 테스트
4546
run: |
@@ -52,6 +53,7 @@ jobs:
5253
5354
coverage:
5455
runs-on: self-hosted
56+
needs: test
5557
steps:
5658
- name: 테스트 커버리지를 PR에 코멘트로 등록합니다
5759
id: jacoco

backend/Dockerfile-dev

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# Dockerfile-dev
2+
FROM openjdk:17-jdk-slim
3+
4+
ARG PROFILE
5+
ENV PROFILE=${PROFILE}
6+
7+
ARG JAR_FILE=/build/libs/backend-0.0.1-SNAPSHOT.jar
8+
9+
COPY ${JAR_FILE} /app.jar
10+
11+
ENTRYPOINT ["java","-jar","-Dspring.profiles.active=${PROFILE}", "/app.jar"]

0 commit comments

Comments
 (0)