Skip to content

[REFACTOR] signup concnet archiving feature #165

[REFACTOR] signup concnet archiving feature

[REFACTOR] signup concnet archiving feature #165

Workflow file for this run

name: Test_CI/CD
on:
workflow_dispatch:
push:
branches: [ "main", "dev" ]
pull_request:
branches: [ "main", "dev" ]
types: [ "opened", "reopened", "synchronize", "closed" ]
permissions:
contents: read
#env:
# WORKING_DIRECTORY: ./backend
jobs:
build:
runs-on: ubuntu-latest
# defaults:
# run:
# working-directory: ${{ env.WORKING_DIRECTORY }}
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.ref == 'refs/heads/dev' && (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.TEST_DOCKER_USERNAME }} -p ${{ secrets.TEST_DOCKER_PASSWORD }}
docker build -f Dockerfile-test -t ${{ secrets.TEST_DOCKER_USERNAME }}/${{ secrets.TEST_DOCKER_IMAGE }} .
docker push ${{ secrets.TEST_DOCKER_USERNAME }}/${{ secrets.TEST_DOCKER_IMAGE }}
# working-directory: ./backend
- name: Deploy
uses: appleboy/ssh-action@v1.0.0
with:
host: ${{ secrets.TEST_DEV_HOST }}
port: ${{ secrets.TEST_DEV_PORT }}
username: ${{ secrets.TEST_DEV_USERNAME }}
password: ${{ secrets.TEST_DEV_PASSWORD }}
debug: true
script: |
docker pull ${{ secrets.TEST_DOCKER_USERNAME }}/${{ secrets.TEST_DOCKER_IMAGE }}
docker stop ${{ secrets.Test_DOCKER_IMAGE }}
docker rm ${{ secrets.Test_DOCKER_IMAGE }}
docker run --name=${{ secrets.Test_DOCKER_IMAGE }} --network ${{ secrets.TEST_NETWORK }} -d -p ${{ secrets.TEST_BASE_PORT }}:8080 -p 8081-8082:8081-8082 --ip ${{ secrets.TEST_PRIVATE_IP }} -v $HOME/logs:/logs ${{ secrets.TEST_DOCKER_USERNAME }}/${{ secrets.TEST_DOCKER_IMAGE }}
docker container prune -f
docker image prune -f