Files
NeveTimePanel/.drone.yml

137 lines
2.8 KiB
YAML

kind: pipeline
type: docker
name: code-quality
trigger:
event:
- push
- pull_request
steps:
- name: backend-sanity
image: python:3.11-slim
commands:
- cd backend
- pip install --no-cache-dir -r requirements.txt
- python -m py_compile main.py auth.py daemons.py oidc_config.py
- name: frontend-build-check
image: node:20-alpine
commands:
- cd frontend
- npm ci --silent
- npm run build
- npm run lint || echo "ESLint warnings found"
- name: frontend-security
image: node:20-alpine
commands:
- cd frontend
- npm ci --silent
- npm audit --audit-level=moderate || echo "Security warnings found"
---
kind: pipeline
type: docker
name: build-images
trigger:
branch:
- main
- master
- develop
event:
- push
- tag
depends_on:
- code-quality
steps:
- name: build-backend-image
image: plugins/docker
settings:
registry: registry.nevetime.ru
repo: registry.nevetime.ru/mc-panel-backend
tags:
- latest
- "${DRONE_BUILD_NUMBER}"
- "${DRONE_COMMIT_SHA:0:8}"
- "${DRONE_BRANCH}"
auto_tag: true
dockerfile: backend/Dockerfile
context: backend
username:
from_secret: docker_username
password:
from_secret: docker_password
- name: build-frontend-image
image: plugins/docker
settings:
registry: registry.nevetime.ru
repo: registry.nevetime.ru/mc-panel-frontend
tags:
- latest
- "${DRONE_BUILD_NUMBER}"
- "${DRONE_COMMIT_SHA:0:8}"
- "${DRONE_BRANCH}"
auto_tag: true
dockerfile: frontend/Dockerfile
context: frontend
username:
from_secret: docker_username
password:
from_secret: docker_password
build_args:
- BUILD_DATE=${DRONE_BUILD_CREATED}
- VCS_REF=${DRONE_COMMIT_SHA}
- VERSION=${DRONE_TAG:-${DRONE_BRANCH}}
when:
event:
- push
- tag
---
kind: pipeline
type: docker
name: build-monolith
trigger:
branch:
- main
- master
- develop
event:
- push
- tag
depends_on:
- code-quality
steps:
- name: build-monolith-image
image: plugins/docker
settings:
registry: registry.nevetime.ru
repo: registry.nevetime.ru/mc-panel
tags:
- latest
- "${DRONE_COMMIT_SHA:0:8}"
- "${DRONE_BRANCH}"
auto_tag: true
dockerfile: Dockerfile
context: .
username:
from_secret: docker_username
password:
from_secret: docker_password
build_args:
- BUILD_DATE=${DRONE_BUILD_CREATED}
- VCS_REF=${DRONE_COMMIT_SHA}
- VERSION=${DRONE_TAG:-${DRONE_BRANCH}}
when:
event:
- push
- tag