All checks were successful
continuous-integration/drone/push Build is passing
- Backend: rewrote containers/services/logs/metrics routes to use dockerode - docker-compose: mount /var/run/docker.sock, run backend as root - .drone.yml: sync docker-compose.yml from Gitea on deploy - Frontend: Containers page shows real data with wired start/stop/restart - Frontend: Services page shows Docker Compose stacks with health status - Frontend: Metrics page adds disk (docker df) and containers cards + chart legend - Frontend: Logs page replaces text input with container dropdown + auto-refresh
119 lines
2.9 KiB
YAML
119 lines
2.9 KiB
YAML
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/ops/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/ops/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
|
|
environment:
|
|
GITEA_TOKEN:
|
|
from_secret: gitea_token
|
|
settings:
|
|
host: 100.116.40.103
|
|
username: root
|
|
key:
|
|
from_secret: ssh_private_key
|
|
envs:
|
|
- GITEA_TOKEN
|
|
port: 22
|
|
script:
|
|
- cd /opt/server-manager
|
|
- curl -sfH "Authorization:token $GITEA_TOKEN" https://git.jiosii.com/api/v1/repos/ops/server-manager/raw/docker-compose.yml -o docker-compose.yml
|
|
- docker compose pull
|
|
- docker compose up -d --remove-orphans
|
|
- docker image prune -f
|
|
depends_on:
|
|
- backend-docker
|
|
- frontend-docker
|
|
when:
|
|
branch:
|
|
- main
|
|
event:
|
|
- push
|