Skip to content

#41 feat: cors 해제 #84

#41 feat: cors 해제

#41 feat: cors 해제 #84

Workflow file for this run

name: Java CI with Gradle
# 0. workflow 실행 트리거
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
jobs:
# 1. 빌드
build:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
# 1-1. repository checkout
- uses: actions/checkout@v4
# 1-2. jdk 환경 설치
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
# 1-3. '*.yml' 파일 세팅
- name: application.yml 파일 설정
run: |
mkdir -p src/main/resources
mkdir -p src/test/resources
echo "${{ secrets.APPLICATION_YML }}" > ./src/main/resources/application.yml
echo "${{ secrets.TEST_APPLICATION_YML }}" > ./src/test/resources/application.yml
# 1-4. gradle 환경 설치
- name: Setup Gradle
uses: gradle/actions/setup-gradle@af1da67850ed9a4cedd57bfd976089dd991e2582 # v4.0.0
# 1-5. 빌드
- name: Build with Gradle Wrapper
run: ./gradlew clean build
# 1-6. 도커 이미지 빌드 및 이미지 게시
- name: build docker image & push image to docker hub
run: |
docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }}
docker build -f Dockerfile -t ${{ secrets.DOCKER_USERNAME }}/stockport .
docker push ${{ secrets.DOCKER_USERNAME }}/stockport
# 2. 배포
deploy:
needs: build
runs-on: ubuntu-latest
steps:
# 2-1. EC2 서버 접속 및 도커 작업 처리
- name: SSH로 EC2에 접속하여 도커 작업 처리하기
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.SERVER_IP }}
username: ${{ secrets.SSH_USER }}
key: ${{ secrets.SSH_PRIVATE_KEY }}
script_stop: true
script: |
docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)
docker pull ${{ secrets.DOCKER_USERNAME }}/stockport
docker run -d -p 8080:8080 --name cicdtestcontainer ${{ secrets.DOCKER_USERNAME }}/stockport
docker image prune -f