Skip to content

[feat] cors 해결 및 배포 문제 해결 #26

[feat] cors 해결 및 배포 문제 해결

[feat] cors 해결 및 배포 문제 해결 #26

Workflow file for this run

name: CI/CD Pipeline
on:
push:
branches: [ main ]
permissions:
contents: read
jobs:
build:
runs-on: ubuntu-latest
steps:
# 저장소 코드 체크아웃
- uses: actions/checkout@v3
# JDK 17 설정
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
distribution: 'adopt'
java-version: '17'
# application.yml 파일 생성
- name: Make application.yml
run: |
cd ./src/main/resources
touch ./application.yml
echo "${{ secrets.APPLICATION_YML }}" > ./application.yml
shell: bash
# Gradle로 빌드
- name: Build with Gradle
run: |
chmod +x ./gradlew
./gradlew clean build -x test
# Docker 이미지 빌드 및 푸시 (🚨 `--build-arg` 추가!)
# - name: Docker build & push to Docker Hub
# run: |
# docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }}
# docker build --no-cache -t ${{ secrets.DOCKER_REPO }}:latest .
# docker push ${{ secrets.DOCKER_REPO }}:latest 다시
- name: Docker build & push to Docker Hub
run: |
docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }}
docker buildx create --use
docker buildx build --platform linux/amd64,linux/arm64 \
-t ${{ secrets.DOCKER_REPO }}:latest \
--push .
# 서버 배포
- name: Deploy to server with Docker
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.EC2_HOST }}
username: ${{ secrets.EC2_USERNAME }}
key: ${{ secrets.EC2_SSH_KEY }}
script: |
sudo docker-compose down
sudo docker pull ${{ secrets.DOCKER_REPO }}:latest
sudo docker-compose -f docker-compose.yml up -d
sudo docker image prune -f
# jar 파일명 확인
- name: Show built files
run: |
ls -alh build/libs