feat: 약속 참여 V1 API 구현 #26
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: backend-cd-dev | |
on: | |
pull_request: | |
branches: | |
- develop | |
paths: | |
- backend/** | |
types: closed | |
env: | |
DOCKERHUB_REPOSITORY: ody-official | |
DOCKER_CONTAINER_NAME: ody-backend | |
jobs: | |
build-and-push: | |
runs-on: ubuntu-latest | |
defaults: | |
run: | |
working-directory: backend | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
ref: develop | |
submodules: true | |
token: ${{ secrets.GIT_TOKEN }} | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v4 | |
with: | |
java-version: '17' | |
distribution: 'temurin' | |
- name: Setup Gradle | |
uses: gradle/actions/setup-gradle@v3 | |
- name: Clean Build With Gradle Wrapper | |
run: ./gradlew clean build | |
- name: Publish Test Results | |
uses: EnricoMi/publish-unit-test-result-action@v2 | |
if: always() | |
with: | |
files: ${{ github.workspace }}/backend/build/test-results/**/*.xml | |
- name: JUnit Report Action | |
uses: mikepenz/action-junit-report@v4 | |
if: always() | |
with: | |
report_paths: ${{ github.workspace }}/backend/build/test-results/**/*.xml | |
- name: Setup Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Login to Docker Hub | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_PASSWORD }} | |
- name: Docker Image Build And Push | |
run: docker build --platform linux/arm64 -t ${{ secrets.DOCKERHUB_USERNAME }}/$DOCKERHUB_REPOSITORY:${{ github.sha }} -f Dockerfile . --push | |
pull-and-deploy: | |
needs: build-and-push | |
runs-on: self-hosted | |
steps: | |
- name: Login to Docker Hub | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_PASSWORD }} | |
- name: Pull Docker Image | |
run: docker pull --platform linux/arm64 ${{ secrets.DOCKERHUB_USERNAME }}/$DOCKERHUB_REPOSITORY:${{ github.sha }} | |
- name: Set up Container And Run Docker Image | |
run: | | |
docker image prune -a -f | |
docker stop $DOCKER_CONTAINER_NAME || true | |
docker rm $DOCKER_CONTAINER_NAME || true | |
docker run -d --platform linux/arm64 --name $DOCKER_CONTAINER_NAME -p 80:8080 ${{ secrets.DOCKERHUB_USERNAME }}/$DOCKERHUB_REPOSITORY:${{ github.sha }} | |
- name: Check Docker Process | |
run: docker ps |