Skip to content

Merge branch 'release-1.1.0' of https://github.com/peer-42seoul/Peer-… #373

Merge branch 'release-1.1.0' of https://github.com/peer-42seoul/Peer-…

Merge branch 'release-1.1.0' of https://github.com/peer-42seoul/Peer-… #373

Workflow file for this run

name: CI/CD
on:
push:
branches: [ "dev", release-** ]
pull_request:
branches: [ "dev", release-** ]
types: [ "opened", "reopened", "synchronize", "closed" ]
# repository_dispatch:
# types: [ resources_update ]
permissions:
contents: read
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: true
token: ${{secrets.TOKEN}}
- name: Set up JDK 11
uses: actions/setup-java@v3
with:
java-version: '11'
distribution: 'temurin'
- name: Setup Docker
run: docker compose up -d
- name: Grant execute permission
run: chmod +x ./gradlew
- name: Build with Gradle
run: ./gradlew clean build -x test
- name: Test with Gradle
run: ./gradlew test
deploy-dev:
# if: (github.event_name == 'repository_dispatch' && github.event.action == 'resources_update') || (github.ref == 'refs/heads/dev' && (github.event.pull_request.merged == true || github.event_name == 'push'))
if: (github.ref == 'refs/heads/dev' || contains(github.ref, 'release')) && (github.event.pull_request.merged == true || github.event_name == 'push')
needs: build
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: true
token: ${{secrets.TOKEN}}
- name: Docker build & push
run: |
./gradlew bootjar
docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }}
docker build -f Dockerfile-dev -t ${{ secrets.DOCKER_USERNAME }}/${{ secrets.DOCKER_DEV_IMAGE }} .
docker push ${{ secrets.DOCKER_USERNAME }}/${{ secrets.DOCKER_DEV_IMAGE }}
- name: Deploy
uses: appleboy/ssh-action@v1.0.0
with:
host: ${{ secrets.DEV_HOST }}
port: 22
username: ${{ secrets.DEV_USERNAME }}
key: ${{ secrets.DEV_KEY }}
# username: ${{ secrets.DEV_SERVER_USERNAME }}
# password: ${{ secrets.DEV_SERVER_PASSWORD }}
debug: true
script: |
docker pull ${{ secrets.DOCKER_USERNAME }}/${{ secrets.DOCKER_DEV_IMAGE }}
docker stop ${{ secrets.DOCKER_DEV_IMAGE }}
docker rm ${{ secrets.DOCKER_DEV_IMAGE }}
# docker run --name=${{ secrets.DOCKER_DEV_IMAGE }} --network ${{ secrets.DEV_NETWORK }} -d -p 8080-8082:8080-8082 --ip ${{ secrets.DEV_APP_IP }} -v $HOME/logs:/logs ${{ secrets.DOCKER_USERNAME }}/${{ secrets.DOCKER_DEV_IMAGE }}
docker run --name=${{ secrets.DOCKER_DEV_IMAGE }} -d -p 8080-8082:8080-8082 -v $HOME/logs:/logs ${{ secrets.DOCKER_USERNAME }}/${{ secrets.DOCKER_DEV_IMAGE }}
docker container prune -f
docker image prune -f