Skip to content

[강승훈] step-8 step-8 페이징 구현하기 #1

[강승훈] step-8 step-8 페이징 구현하기

[강승훈] step-8 step-8 페이징 구현하기 #1

name: Java CI/CD Pipeline
on:
push:
branches:
- main
pull_request:
types: [ opened, synchronize, reopened ]
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up Java 17
uses: actions/setup-java@v3
with:
distribution: 'zulu'
java-version: '17'
- name: Grant execute permission for Gradle
run: chmod +x gradlew
- name: Build with Gradle
run: ./gradlew build
- name: Copy files via SCP
env:
SERVER_IP: ${{ secrets.SERVER_IP }}
SERVER_USER: ${{ secrets.SERVER_USER }}
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
run: |
echo "$SSH_PRIVATE_KEY" > private_key
chmod 600 private_key
scp -i private_key -o StrictHostKeyChecking=no build/libs/*.war $SERVER_USER@$SERVER_IP:/home/ubuntu/java-cafe
- name: Execute script on remote server
env:
SERVER_IP: ${{ secrets.SERVER_IP }}
SERVER_USER: ${{ secrets.SERVER_USER }}
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
run: |
echo "$SSH_PRIVATE_KEY" > private_key
chmod 600 private_key
ssh -i private_key -o StrictHostKeyChecking=no $SERVER_USER@$SERVER_IP 'bash /home/ubuntu/java-cafe/script.sh'