feat: initial project scaffold
- React 19 + Vite + TailwindCSS frontend - Express + TypeScript backend API - PostgreSQL schema and migrations - Docker Compose orchestration - Drone CI/CD pipeline - Pages: Dashboard, Servers, Containers, Services, Logs, Metrics, Settings
This commit is contained in:
112
.drone.yml
Normal file
112
.drone.yml
Normal file
@@ -0,0 +1,112 @@
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: server-manager
|
||||
|
||||
trigger:
|
||||
branch:
|
||||
- main
|
||||
event:
|
||||
- push
|
||||
- pull_request
|
||||
|
||||
steps:
|
||||
# ─── Backend ───────────────────────────────────────────────────────────────
|
||||
- name: backend-lint
|
||||
image: node:20-alpine
|
||||
commands:
|
||||
- cd backend
|
||||
- npm ci
|
||||
- npm run lint || true
|
||||
|
||||
- name: backend-build
|
||||
image: node:20-alpine
|
||||
commands:
|
||||
- cd backend
|
||||
- npm ci
|
||||
- npm run build
|
||||
depends_on:
|
||||
- backend-lint
|
||||
|
||||
- name: backend-docker
|
||||
image: plugins/docker
|
||||
settings:
|
||||
registry: git.jiosii.com
|
||||
username:
|
||||
from_secret: gitea_username
|
||||
password:
|
||||
from_secret: gitea_token
|
||||
repo: git.jiosii.com/admin/server-manager-backend
|
||||
context: backend
|
||||
dockerfile: backend/Dockerfile
|
||||
tags:
|
||||
- latest
|
||||
- ${DRONE_COMMIT_SHA:0:8}
|
||||
depends_on:
|
||||
- backend-build
|
||||
when:
|
||||
branch:
|
||||
- main
|
||||
event:
|
||||
- push
|
||||
|
||||
# ─── Frontend ──────────────────────────────────────────────────────────────
|
||||
- name: frontend-lint
|
||||
image: node:20-alpine
|
||||
commands:
|
||||
- cd frontend
|
||||
- npm ci
|
||||
- npm run lint || true
|
||||
|
||||
- name: frontend-build
|
||||
image: node:20-alpine
|
||||
commands:
|
||||
- cd frontend
|
||||
- npm ci
|
||||
- npm run build
|
||||
depends_on:
|
||||
- frontend-lint
|
||||
|
||||
- name: frontend-docker
|
||||
image: plugins/docker
|
||||
settings:
|
||||
registry: git.jiosii.com
|
||||
username:
|
||||
from_secret: gitea_username
|
||||
password:
|
||||
from_secret: gitea_token
|
||||
repo: git.jiosii.com/admin/server-manager-frontend
|
||||
context: frontend
|
||||
dockerfile: frontend/Dockerfile
|
||||
tags:
|
||||
- latest
|
||||
- ${DRONE_COMMIT_SHA:0:8}
|
||||
depends_on:
|
||||
- frontend-build
|
||||
when:
|
||||
branch:
|
||||
- main
|
||||
event:
|
||||
- push
|
||||
|
||||
# ─── Deploy ────────────────────────────────────────────────────────────────
|
||||
- name: deploy
|
||||
image: appleboy/drone-ssh
|
||||
settings:
|
||||
host: 100.116.40.103
|
||||
username: root
|
||||
key:
|
||||
from_secret: ssh_private_key
|
||||
port: 22
|
||||
script:
|
||||
- cd /opt/server-manager
|
||||
- docker compose pull
|
||||
- docker compose up -d --remove-orphans
|
||||
- docker image prune -f
|
||||
depends_on:
|
||||
- backend-docker
|
||||
- frontend-docker
|
||||
when:
|
||||
branch:
|
||||
- main
|
||||
event:
|
||||
- push
|
||||
Reference in New Issue
Block a user