snp-connection-monitoring/.gitea/workflows/deploy.yml
HYOJIN 6b2197ef8e ci: Gitea Actions 자동 배포 워크플로우 추가
- main 브랜치 push 시 자동 빌드 + 배포
- Frontend (npm) + Backend (Maven) 분리 빌드
- frontend.skip 프로퍼티로 CI에서 frontend-maven-plugin 스킵 지원
- 배포 경로: /deploy/snp-connection/app.jar

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 11:28:39 +09:00

64 lines
1.7 KiB
YAML

name: Build and Deploy
on:
push:
branches:
- main
jobs:
build-and-deploy:
runs-on: ubuntu-latest
container:
image: maven:3.9-eclipse-temurin-17
steps:
- name: Checkout
run: |
git clone --depth=1 --branch=${GITHUB_REF_NAME} \
http://gitea:3000/${GITHUB_REPOSITORY}.git .
- name: Configure Maven settings
run: |
mkdir -p ~/.m2
cat > ~/.m2/settings.xml << 'SETTINGS'
<settings>
<mirrors>
<mirror>
<id>nexus</id>
<mirrorOf>*</mirrorOf>
<url>https://nexus.gc-si.dev/repository/maven-public/</url>
</mirror>
</mirrors>
<servers>
<server>
<id>nexus</id>
<username>${{ secrets.NEXUS_USERNAME }}</username>
<password>${{ secrets.NEXUS_PASSWORD }}</password>
</server>
</servers>
</settings>
SETTINGS
- name: Install Node.js
run: |
curl -fsSL https://deb.nodesource.com/setup_20.x | bash -
apt-get install -y nodejs
node --version
npm --version
- name: Build Frontend
run: |
cd frontend
npm install
npm run build
cd ..
- name: Build Backend
run: mvn clean package -DskipTests -Dfrontend.skip=true -B
- name: Deploy
run: |
cp target/snp-connection-monitoring-*.jar /deploy/snp-connection/app.jar
date '+%Y-%m-%d %H:%M:%S' > /deploy/snp-connection/.deploy-trigger
echo "Deployed at $(cat /deploy/snp-connection/.deploy-trigger)"
ls -la /deploy/snp-connection/