refactor: 시니어 기본 국적 정보 반환 복구 #30
This file contains hidden or 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: deploy | |
| on: | |
| push: | |
| branches: [ "develop" ] | |
| # pull_request: | |
| # branches: [ "develop" ] | |
| # types: [closed] | |
| permissions: | |
| contents: read | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| # 기본 체크아웃 | |
| - name: Checkout | |
| uses: actions/checkout@v3 | |
| # Gradlew 실행 허용 | |
| - name: Run chmod to make gradlew executable | |
| run: chmod +x ./gradlew | |
| # JDK 21 세팅 | |
| - name: Set up JDK 21 | |
| uses: actions/setup-java@v3 | |
| with: | |
| java-version: '21' | |
| distribution: 'temurin' | |
| # 환경 변수 설정 | |
| - name: Set environment values | |
| run: | | |
| mkdir -p src/main/resources/{gcp,ocr} | |
| echo "${{ secrets.APPLICATION_PROPERTIES }}" > src/main/resources/application.yml | |
| echo "${{ secrets.GCP_SERVICE_KEY }}" | base64 --decode > src/main/resources/gcp/service-key.json | |
| echo "${{ secrets.OCR_SERVICE_KEY }}" | base64 --decode > src/main/resources/ocr/service-key.json | |
| shell: bash | |
| # Gradle build (Test 제외) | |
| - name: Build with Gradle | |
| uses: gradle/gradle-build-action@67421db6bd0bf253fb4bd25b31ebb98943c375e1 | |
| with: | |
| arguments: clean build -x test | |
| # Docker build | |
| - name: Docker build | |
| run: | | |
| echo "${{ secrets.DOCKERHUB_PASSWORD }}" | docker login -u "${{ secrets.DOCKERHUB_USERNAME }}" --password-stdin | |
| docker build -t weve_spring . | |
| docker tag weve_spring ${{ secrets.DOCKERHUB_USERNAME }}/${{ secrets.DOCKERHUB_REPOSITORY }}:${GITHUB_SHA::7} | |
| docker push ${{ secrets.DOCKERHUB_USERNAME }}/${{ secrets.DOCKERHUB_REPOSITORY }}:${GITHUB_SHA::7} | |
| # Deploy | |
| - name: Deploy | |
| uses: appleboy/ssh-action@master | |
| with: | |
| host: ${{ secrets.SSH_HOST }} | |
| username: ${{ secrets.SSH_USERNAME }} | |
| key: ${{ secrets.SSH_PRIVATE_KEY }} | |
| envs: GITHUB_SHA | |
| script: | | |
| sudo docker login -u ${{ secrets.DOCKERHUB_USERNAME }} -p ${{ secrets.DOCKERHUB_PASSWORD }} | |
| # 기존 컨테이너 중지 및 삭제 | |
| sudo docker stop weve_spring || true | |
| sudo docker rm weve_spring || true | |
| # 기존 이미지 삭제 (오래된 이미지 정리) | |
| sudo docker rmi ${{ secrets.DOCKERHUB_USERNAME }}/${{ secrets.DOCKERHUB_REPOSITORY }}:${GITHUB_SHA::7} || true | |
| # 새로운 이미지 가져오기 | |
| sudo docker pull ${{ secrets.DOCKERHUB_USERNAME }}/${{ secrets.DOCKERHUB_REPOSITORY }}:${GITHUB_SHA::7} | |
| # 최신 이미지 태깅 | |
| sudo docker tag ${{ secrets.DOCKERHUB_USERNAME }}/${{ secrets.DOCKERHUB_REPOSITORY }}:${GITHUB_SHA::7} weve_spring | |
| # 기존 컨테이너를 완전히 삭제한 후 다시 실행 | |
| sudo docker-compose down | |
| sudo docker-compose up -d --force-recreate |