Skip to content

test 코드

test 코드 #16

Workflow file for this run

name: CD
on:
push:
branches: [ "main" ]
permissions:
contents: read
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '17'
- name: Setting yaml file
# TODO: microsoft/variable-substitution is deprecated
uses: microsoft/variable-substitution@v1
with:
files: src/main/resources/application.yml
env:
spring.datasource.url: ${{ secrets.DB_URL }}
spring.datasource.username: ${{ secrets.DB_USERNAME }}
spring.datasource.password: ${{ secrets.DB_PASSWORD }}
neis.api-key: ${{ secrets.NEIS_API_KEY }}
jwt.secret-key: ${{ secrets.JWT_SECRET_KEY }}
coolsms.api-key: ${{ secrets.COOL_SMS_API_KEY }}
coolsms.api-secret: ${{ secrets.COOL_SMS_API_SECRET }}
coolsms.sender-phone: ${{ secrets.COOL_SMS_SENDER_PHONE }}
spring.profiles.active: 'prd'
- name: Setting firebase
run: |
mkdir -p ./src/main/resources
touch ./src/main/resources/moyamoya-firebase.json
echo "${{ secrets.MOYAMOYA_FIREBASE_JSON }}" | base64 -d -i - > ./src/main/resources/moyamoya-firebase.json
- name: Build with Gradle
run: |
./gradlew bootJar -x test
- name: Upload build artifact
uses: actions/upload-artifact@v4
with:
name: moyamoya
path: ./build/libs/moyamoya-0.0.1-SNAPSHOT.jar
distribute:
needs: build
runs-on: ubuntu-latest
steps:
- name: Download build artifact
uses: actions/download-artifact@v4
with:
name: moyamoya
path: dist
- name: Show downloaded files
run: ls -alh dist
- name: EC2 Upload
uses: appleboy/scp-action@master
with:
host: ${{ secrets.REMOTE_SSH_HOST }}
username: ${{ secrets.REMOTE_SSH_USERNAME }}
key: ${{ secrets.REMOTE_SSH_KEY }}
port: ${{ secrets.REMOTE_SSH_PORT }}
source: "dist/*.jar"
target: /home/ubuntu/product
strip_components: 1 # Remove dist path
service_restart:
needs: distribute
runs-on: ubuntu-latest
steps:
- name: EC2 Run
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.REMOTE_SSH_HOST }}
username: ${{ secrets.REMOTE_SSH_USERNAME }}
key: ${{ secrets.REMOTE_SSH_KEY }}
port: ${{ secrets.REMOTE_SSH_PORT }}
script: |
cd /home/ubuntu/product
sh start.sh