continuous-integration/drone/push Build was killed
Co-authored-by: Cursor <cursoragent@cursor.com>
189 lines
3.8 KiB
YAML
189 lines
3.8 KiB
YAML
# Drone CI/CD for iLED shop — build on desktop agent, deploy to Pi via SSH.
|
|
|
|
kind: pipeline
|
|
type: docker
|
|
name: ci
|
|
|
|
platform:
|
|
os: linux
|
|
arch: amd64
|
|
|
|
dns:
|
|
- 192.168.0.64
|
|
|
|
clone:
|
|
depth: 50
|
|
|
|
concurrency:
|
|
limit: 1
|
|
|
|
steps:
|
|
- name: api
|
|
image: mcr.microsoft.com/dotnet/sdk:10.0
|
|
pull: false
|
|
environment:
|
|
DOTNET_CLI_TELEMETRY_OPTOUT: "1"
|
|
DOTNET_NOLOGO: "1"
|
|
NUGET_PACKAGES: /drone-cache/nuget
|
|
NUGET_HTTP_CACHE_PATH: /drone-cache/nuget-http
|
|
DOTNET_CLI_HOME: /drone-cache/dotnet
|
|
NUGET_XMLDOC_MODE: skip
|
|
commands:
|
|
- cd src/backend
|
|
- dotnet restore iLED.slnx
|
|
- dotnet build iLED.slnx -c Release --no-restore
|
|
|
|
- name: shop
|
|
image: node:22-bookworm
|
|
pull: false
|
|
environment:
|
|
npm_config_cache: /drone-cache/npm
|
|
commands:
|
|
- cd src/shop
|
|
- npm ci --prefer-offline
|
|
- npm run build -- --configuration=production
|
|
depends_on:
|
|
- api
|
|
|
|
- name: admin
|
|
image: node:22-bookworm
|
|
pull: false
|
|
environment:
|
|
npm_config_cache: /drone-cache/npm
|
|
commands:
|
|
- cd src/admin
|
|
- npm ci --prefer-offline
|
|
- npm run build -- --configuration=production
|
|
depends_on:
|
|
- api
|
|
|
|
- name: docker-api
|
|
image: plugins/docker
|
|
pull: false
|
|
settings:
|
|
repo: registry.zea.lt/miczek/iled-api
|
|
registry: registry.zea.lt
|
|
platform: linux/arm64
|
|
username:
|
|
from_secret: registry_username
|
|
password:
|
|
from_secret: registry_password
|
|
dockerfile: docker/Dockerfile.api
|
|
context: .
|
|
tags:
|
|
- latest
|
|
- ${DRONE_COMMIT_SHA:0:7}
|
|
depends_on:
|
|
- api
|
|
|
|
- name: docker-shop
|
|
image: plugins/docker
|
|
pull: false
|
|
settings:
|
|
repo: registry.zea.lt/miczek/iled-shop
|
|
registry: registry.zea.lt
|
|
platform: linux/arm64
|
|
username:
|
|
from_secret: registry_username
|
|
password:
|
|
from_secret: registry_password
|
|
dockerfile: docker/Dockerfile.shop
|
|
context: .
|
|
tags:
|
|
- latest
|
|
- ${DRONE_COMMIT_SHA:0:7}
|
|
depends_on:
|
|
- shop
|
|
|
|
- name: docker-admin
|
|
image: plugins/docker
|
|
pull: false
|
|
settings:
|
|
repo: registry.zea.lt/miczek/iled-admin
|
|
registry: registry.zea.lt
|
|
platform: linux/arm64
|
|
username:
|
|
from_secret: registry_username
|
|
password:
|
|
from_secret: registry_password
|
|
dockerfile: docker/Dockerfile.admin
|
|
context: .
|
|
tags:
|
|
- latest
|
|
- ${DRONE_COMMIT_SHA:0:7}
|
|
depends_on:
|
|
- admin
|
|
|
|
trigger:
|
|
event:
|
|
- push
|
|
- pull_request
|
|
- custom
|
|
|
|
---
|
|
kind: pipeline
|
|
type: docker
|
|
name: deploy
|
|
|
|
platform:
|
|
os: linux
|
|
arch: amd64
|
|
|
|
dns:
|
|
- 192.168.0.64
|
|
|
|
depends_on:
|
|
- ci
|
|
|
|
clone:
|
|
disable: true
|
|
|
|
concurrency:
|
|
limit: 1
|
|
|
|
steps:
|
|
- name: ssh-deploy
|
|
image: appleboy/drone-ssh
|
|
pull: false
|
|
settings:
|
|
host:
|
|
from_secret: ssh_host
|
|
username:
|
|
from_secret: ssh_user
|
|
key:
|
|
from_secret: ssh_key
|
|
port:
|
|
from_secret: ssh_port
|
|
script_stop: true
|
|
envs:
|
|
- DEPLOY_PATH
|
|
- REGISTRY_USERNAME
|
|
- REGISTRY_PASSWORD
|
|
script:
|
|
- |
|
|
set -euo pipefail
|
|
cd /opt/iled-shop
|
|
git fetch origin
|
|
git checkout "${DRONE_COMMIT_SHA}"
|
|
echo "${REGISTRY_PASSWORD}" | docker login registry.zea.lt -u "${REGISTRY_USERNAME}" --password-stdin
|
|
cd docker
|
|
docker compose pull
|
|
docker compose up -d --remove-orphans
|
|
docker compose ps
|
|
docker logout registry.zea.lt || true
|
|
environment:
|
|
DEPLOY_PATH:
|
|
from_secret: deploy_path
|
|
REGISTRY_USERNAME:
|
|
from_secret: registry_username
|
|
REGISTRY_PASSWORD:
|
|
from_secret: registry_password
|
|
|
|
trigger:
|
|
branch:
|
|
- master
|
|
- main
|
|
event:
|
|
- push
|
|
- custom
|