Skip to content

setting: dev모드 추가 #13

setting: dev모드 추가

setting: dev모드 추가 #13

Workflow file for this run

name: CD with Gradle
on:
push:
branches: [ "main", "dev" ]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'temurin'
- name: Create application.yml with secrets (dev)
if: github.ref == 'refs/heads/dev'
run: |
mkdir -p src/main/resources
echo "spring:" >> src/main/resources/application.yml
echo " jwt:" >> src/main/resources/application.yml
echo " secret: \"${{ secrets.JWT_SECRET }}\"" >> src/main/resources/application.yml
echo " access-token-duration: 10D" >> src/main/resources/application.yml
echo " refresh-token-duration: 100D" >> src/main/resources/application.yml
echo " security:" >> src/main/resources/application.yml
echo " oauth2:" >> src/main/resources/application.yml
echo " client:" >> src/main/resources/application.yml
echo " registration:" >> src/main/resources/application.yml
echo " google:" >> src/main/resources/application.yml
echo " client-id: \"${{ secrets.GOOGLE_CLIENT_ID }}\"" >> src/main/resources/application.yml
echo " client-secret: \"${{ secrets.GOOGLE_CLIENT_SECRET }}\"" >> src/main/resources/application.yml
echo " scope:" >> src/main/resources/application.yml
echo " - email" >> src/main/resources/application.yml
echo " - profile" >> src/main/resources/application.yml
echo " redirect-uri: https://dev.crame.site/login/oauth2/code/google" >> src/main/resources/application.yml
echo " data:" >> src/main/resources/application.yml
echo " mongodb:" >> src/main/resources/application.yml
echo " uri: \"${{ secrets.MONGO_URI_DEV }}\"" >> src/main/resources/application.yml
echo "springdoc:" >> src/main/resources/application.yml
echo " swagger-ui:" >> src/main/resources/application.yml
echo " path: /swagger-ui.html" >> src/main/resources/application.yml
echo " default-server-url: https://dev.crame.site" >> src/main/resources/application.yml
echo " servers:" >> src/main/resources/application.yml
echo " - url: https://dev.crame.site" >> src/main/resources/application.yml
- name: Create application.yml with secrets (main)
if: github.ref == 'refs/heads/main'
run: |
mkdir -p src/main/resources
echo "spring:" >> src/main/resources/application.yml
echo " jwt:" >> src/main/resources/application.yml
echo " secret: \"${{ secrets.JWT_SECRET }}\"" >> src/main/resources/application.yml
echo " access-token-duration: 10D" >> src/main/resources/application.yml
echo " refresh-token-duration: 100D" >> src/main/resources/application.yml
echo " security:" >> src/main/resources/application.yml
echo " oauth2:" >> src/main/resources/application.yml
echo " client:" >> src/main/resources/application.yml
echo " registration:" >> src/main/resources/application.yml
echo " google:" >> src/main/resources/application.yml
echo " client-id: \"${{ secrets.GOOGLE_CLIENT_ID }}\"" >> src/main/resources/application.yml
echo " client-secret: \"${{ secrets.GOOGLE_CLIENT_SECRET }}\"" >> src/main/resources/application.yml
echo " scope:" >> src/main/resources/application.yml
echo " - email" >> src/main/resources/application.yml
echo " - profile" >> src/main/resources/application.yml
echo " redirect-uri: https://crame.site/login/oauth2/code/google" >> src/main/resources/application.yml
echo " data:" >> src/main/resources/application.yml
echo " mongodb:" >> src/main/resources/application.yml
echo " uri: \"${{ secrets.MONGO_URI }}\"" >> src/main/resources/application.yml
echo "springdoc:" >> src/main/resources/application.yml
echo " swagger-ui:" >> src/main/resources/application.yml
echo " path: /swagger-ui.html" >> src/main/resources/application.yml
- name: Build with Gradle Wrapper
run: |
chmod +x ./gradlew
./gradlew build -x test
- name: Transfer .jar file to EC2
uses: appleboy/scp-action@master
with:
host: ${{ secrets.SSH_HOST }}
username: ubuntu
key: ${{ secrets.SSH_KEY }}
source: "build/libs/*.jar"
target: "/home/ubuntu/crame"
- name: Restart docker compose on EC2
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.SSH_HOST }}
username: ubuntu
key: ${{ secrets.SSH_KEY }}
script: |
cd ~/crame
docker compose up -d --build
docker image prune -f