Skip to content

Fix: ssh private key 환경변수 이름 수정 #102

Fix: ssh private key 환경변수 이름 수정

Fix: ssh private key 환경변수 이름 수정 #102

Workflow file for this run

name: Java CI with Gradle
on:
push:
branches:
- develop
permissions:
contents: read
jobs:
build:
runs-on: ubuntu-latest
steps:
# (1) 기본 체크아웃
- name: checkout
uses: actions/checkout@v3
with:
ssh-key: ${{ secrets.REMOTE_SSH_PRIVATE_KEY }}
token: ${{ secrets.ACTION_TOKEN }}
submodules: recursive
# (2) SSH 키 설정 (원격 서버 및 Private Repo 인증)
- name: Setup SSH Keys for Private Repo and Server
env:
SSH_AUTH_SOCK: /tmp/ssh_agent.sock
run: |
mkdir -p ~/.ssh
echo "${{ secrets.REMOTE_SSH_PRIVATE_KEY }}" > ~/.ssh/aegislenz
chmod 600 ~/.ssh/aegislenz
ssh-agent -a $SSH_AUTH_SOCK > /dev/null
ssh-add ~/.ssh/aegislenz
ssh-keyscan -H github.com >> ~/.ssh/known_hosts
# (3) submodule Update
- name: Update config submodule
run: |
git submodule sync
git submodule update --init --recursive
# (4) JDK 17 세팅
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'temurin'
# (5) gradlew 파일 실행 권한 설정
- name: Grant execute permission for gradlew
run: chmod +x ./gradlew
shell: bash
# (6) Gradle build (Test 포함)
- name: Build with Gradle
uses: gradle/gradle-build-action@v2
with:
arguments: clean build
# (7) Docker build & push
- name: Docker build & Push
run: |
docker login -u ${{ secrets.DOCKER_ID }} -p ${{ secrets.DOCKER_PASSWORD }}
docker build -t ${{ secrets.DOCKER_ID }}/doctech .
docker push ${{ secrets.DOCKER_ID }}/doctech
# (8) Deploy Images with Docker compose
- name: Deploy Images with Docker compose
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.REMOTE_SSH_HOST }}
port: ${{ secrets.REMOTE_SSH_PORT }}
username: ${{ secrets.REMOTE_SSH_ID }}
key: ${{ secrets.REMOTE_SSH_PRIVATE_KEY }}
script_stop: true
script: |
cd DocTech/DocTech-backend
docker-compose pull
docker-compose up -d