Skip to content

Update gradle.yml

Update gradle.yml #73

Workflow file for this run

name: Java CI/CD with Gradle
on:
push:
branches: [ "master" ]
jobs:
build:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
- uses: actions/checkout@v4
- run: touch ./src/main/resources/application.properties
- run: echo "${{ secrets.PROD_CONFIG }}" > ./src/main/resources/application.properties
- run: cat ./src/main/resources/application.properties
- name: Setup Gradle
uses: gradle/actions/setup-gradle@af1da67850ed9a4cedd57bfd976089dd991e2582 # v4.0.0
- name: Build with Gradle Wrapper
run: ./gradlew build
# Docker build & Push
- name: Docker build & push to Docker hub
run: |
docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }}
docker build -t ${{ secrets.DOCKER_USERNAME }}/sols-app:latest .
docker push ${{ secrets.DOCKER_USERNAME }}/sols-app:latest
# dependency-submission:
# runs-on: ubuntu-latest
# permissions:
# contents: write
#
# steps:
# - uses: actions/checkout@v4
# - name: Set up JDK 17
# uses: actions/setup-java@v4
# with:
# java-version: '17'
# distribution: 'temurin'
#
# - name: Generate and submit dependency graph
# uses: gradle/actions/dependency-submission@af1da67850ed9a4cedd57bfd976089dd991e2582 # v4.0.0
deploy:
runs-on: ubuntu-latest
needs: build
permissions:
contents: read
id-token: write # AWS에 인증을 위해 필요할 수 있음
steps:
- name: Docker image pull & Deploy to EC2
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.EC2_HOST }}
username: ${{ secrets.EC2_USERNAME }}
key: ${{ secrets.EC2_SSH_KEY }}
port: 22
script: |
cd /home/ubuntu/server
docker pull ${{ secrets.DOCKER_USERNAME }}/sols-app:latest
docker-compose down
docker-compose up -d