Skip to content

feat:Develop 배포 test 제발 #34

feat:Develop 배포 test 제발

feat:Develop 배포 test 제발 #34

Workflow file for this run

name: Deploy
on:
push:
branches:
- develop
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: GitHub repo 불러오기
uses: actions/checkout@v4
- name: JDK 21 버전 설치
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 21
- name: application.yml 생성
run: echo "${{ secrets.APPLICATION_PROPERTIES }}" > ./src/main/resources/application.yml
- name: 실행 권한 부여
run: chmod +x gradlew
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
- name: Build with Gradle(Test 제외)
run: ./gradlew build --exclude-task test
- name: Verify JAR file
run: ls -la build/libs/*.jar
- name: Google Cloud SDK 설정
uses: "google-github-actions/auth@v2"
with:
credentials_json: ${{ secrets.GCP_SA_KEY }}
- name: Docker를 위한 gcloud 인증 설정
run: gcloud auth configure-docker us-central1-docker.pkg.dev
- name: Docker 이미지 생성 및 태그 설정
run: docker build -t us-central1-docker.pkg.dev/${{ secrets.GCP_PROJECT_ID }}/docker-image/opendata:latest .
- name: Docker 이미지 푸시
run: docker push us-central1-docker.pkg.dev/${{ secrets.GCP_PROJECT_ID }}/docker-image/opendata:latest
- name: SSH로 GCE에 접속하여 배포
uses: appleboy/[email protected]
with:
host: ${{ secrets.GCE_HOST }}
username: ${{ secrets.GCE_USERNAME }}
key: ${{ secrets.GCE_PRIVATE_KEY }}
script_stop: true
script: |
cd /home/${{ secrets.GCE_USERNAME }}
sudo docker stop opendata || true
sudo docker rm opendata || true
gcloud auth configure-docker us-central1-docker.pkg.dev --quiet
sudo docker pull us-central1-docker.pkg.dev/${{ secrets.GCP_PROJECT_ID }}/docker-image/opendata:latest
sudo docker run -d -p 80:8080 --name opendata us-central1-docker.pkg.dev/${{ secrets.GCP_PROJECT_ID }}/docker-image/opendata:latest