Merge pull request 'release: CI/CD 자동 배포 구성' (#5) from develop into main
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 46s

This commit is contained in:
HYOJIN 2026-04-07 11:30:33 +09:00
커밋 90d9205fca
3개의 변경된 파일68개의 추가작업 그리고 0개의 파일을 삭제

파일 보기

@ -1,5 +1,8 @@
{
"$schema": "https://json.schemastore.org/claude-code-settings.json",
"env": {
"CLAUDE_BOT_TOKEN": "ac15488ad66463bd5c4e3be1fa6dd5b2743813c5"
},
"permissions": {
"allow": [
"Bash(./mvnw *)",

파일 보기

@ -0,0 +1,63 @@
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/

파일 보기

@ -28,6 +28,7 @@
<spring-boot.version>3.2.1</spring-boot.version>
<postgresql.version>42.7.6</postgresql.version>
<lombok.version>1.18.30</lombok.version>
<frontend.skip>false</frontend.skip>
</properties>
<dependencies>
@ -139,6 +140,7 @@
<configuration>
<workingDirectory>frontend</workingDirectory>
<nodeVersion>v20.19.0</nodeVersion>
<skip>${frontend.skip}</skip>
</configuration>
<executions>
<execution>