Skip to content

[DEV-257/BE] docs: 모든 API 응답의 필수 필드에 @NotNull 어노테이션 추가 (#376) #79

[DEV-257/BE] docs: 모든 API 응답의 필수 필드에 @NotNull 어노테이션 추가 (#376)

[DEV-257/BE] docs: 모든 API 응답의 필수 필드에 @NotNull 어노테이션 추가 (#376) #79

on:
push:
branches:
- dev
paths:
- "backend/**"
jobs:
build_application:
name: build application and make jar file
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
# Build Project
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: 17
distribution: "temurin"
# - name: Set Redis
# run: docker compose -f docker-compose-test.yml up -d
- name: Setup Gradle
uses: gradle/actions/setup-gradle@af1da67850ed9a4cedd57bfd976089dd991e2582 # v4.0.0'
- name: Set Permission to gradlew
working-directory: ./backend
run: chmod +x ./gradlew
- name: Build with Gradle Wrapper
working-directory: ./backend
run: ./gradlew build
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
# Build Docker Image & Push
- name: Login to Dockerhub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PASSWORD }}
- name: Build Docker Image & Push Image
uses: docker/build-push-action@v5
with:
context: ./backend
push: true
platforms: linux/amd64,linux/arm64
tags: ${{ secrets.DOCKER_IMAGE_TAG }}
# Deploy
- name: Access to EC2
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.EC2_HOST }}
port: ${{ secrets.EC2_PORT }}
username: ${{ secrets.EC2_USERNAME }}
key: ${{ secrets.EC2_PRIVATE_KEY }}
script: |
echo "${{ secrets.DOCKERHUB_PASSWORD }}" | docker login -u "${{ secrets.DOCKERHUB_USERNAME }}" --password-stdin
sudo docker pull ${{ secrets.DOCKER_IMAGE_TAG }}
sudo docker compose up -d
sudo docker image prune -a -f