Skip to content

Merge pull request #624 from DKU-Dgaja/623-be-fix-actionsupload-artif… #249

Merge pull request #624 from DKU-Dgaja/623-be-fix-actionsupload-artif…

Merge pull request #624 from DKU-Dgaja/623-be-fix-actionsupload-artif… #249

name: Spring Boot & Gradle CICD Jobs (With. dev branches push)
on:
push:
branches: [ dev ]
paths:
- '.github/workflows/**'
- 'backend/**'
- 'webhooks/**'
jobs:
build:
# 실행 환경 (Git Runners 개인 서버)
runs-on: self-hosted
steps:
- uses: actions/checkout@v3
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'adopt'
# application.yml 파일 설정
- name: resources 폴더 생성
run: |
mkdir -p ./backend/src/main/resources
- name: yml 파일 생성
run: |
echo "${{ secrets.APPLICATION_DEFAULT_DEV }}" > ./backend/src/main/resources/application.yml
echo "${{ secrets.APPLICATION_DEV }}" > ./backend/src/main/resources/application-dev.yml
echo "${{ secrets.APPLICATION_DB }}" > ./backend/src/main/resources/database.yml
echo "${{ secrets.FCM_SERVICE_ACCOUNT_KEY }}" > ./backend/src/main/resources/serviceAccountKey.json
echo "${{ secrets.WEBHOOKS_YML }}" > ./webhooks/src/main/resources/application.yml
# gradlew를 실행시키기 위해 권한 부여
- name: Gradlew에게 실행권한 부여
run: |
chmod +x ./backend/gradlew
chmod +x ./webhooks/gradlew
# 멀티모듈 빌드하기
- name: 멀티모듈 전체 빌드
run: |
cd backend
./gradlew clean build -x test
cd ../webhooks
./gradlew clean build
deployment:
name: docker deployment
needs: build # depends on
runs-on: self-hosted
steps:
- name: 도커 컴포즈 복사
run: echo "${{ secrets.DOCKER_COMPOSE_DEV }}" > ./backend/docker-compose.yml
- name: 도커 컴포즈 재실행
run: |
cd ./backend
docker-compose down
docker rmi `docker images | grep gitudy | awk '{print $3}'`
docker rmi `docker images | grep webhooks | awk '{print $3}'`
docker-compose up -d