122 lines
2.8 KiB
YAML
122 lines
2.8 KiB
YAML
---
|
|
# SPDX-FileCopyrightText: WTF Kooperative eG <https://wtf-eg.de/>
|
|
#
|
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
kind: pipeline
|
|
type: docker
|
|
name: qa
|
|
|
|
trigger:
|
|
event:
|
|
- push
|
|
- pull_request
|
|
branch:
|
|
- main
|
|
|
|
steps:
|
|
- name: reuse
|
|
image: fsfe/reuse:4.0.3-debian@sha256:20e70745bf4aa1d37f4ac054f4df045e4f7df7f4ec95d7abd2e263aa1323f399
|
|
- name: lint
|
|
image: node:20.18.0-alpine@sha256:210406ea695f26d53ca224f52479cce9bd3036ea5564d4cb96bc9b63285d0f2b
|
|
commands:
|
|
- npm ci
|
|
- npm run lint -- --no-fix
|
|
- name: audit
|
|
image: node:20.18.0-alpine@sha256:210406ea695f26d53ca224f52479cce9bd3036ea5564d4cb96bc9b63285d0f2b
|
|
commands:
|
|
- npm install -g better-npm-audit
|
|
- better-npm-audit audit --production --level=moderate
|
|
- name: docker-dry-run
|
|
image: plugins/docker:20.18.4@sha256:a8d3d86853c721492213264815f1d00d3ed13f42f5c1855a02f47fa4d5f1e042
|
|
settings:
|
|
registry: git.wtf-eg.de
|
|
repo: git.wtf-eg.de/kompetenzinventar/frontend
|
|
target: ki-frontend
|
|
dry_run: true
|
|
when:
|
|
event:
|
|
- pull_request
|
|
|
|
---
|
|
kind: pipeline
|
|
type: docker
|
|
name: build
|
|
|
|
trigger:
|
|
event:
|
|
- push
|
|
branch:
|
|
- main
|
|
|
|
depends_on:
|
|
- qa
|
|
|
|
steps:
|
|
- name: docker-publish
|
|
image: plugins/docker:20.18.4@sha256:a8d3d86853c721492213264815f1d00d3ed13f42f5c1855a02f47fa4d5f1e042
|
|
settings:
|
|
registry: git.wtf-eg.de
|
|
repo: git.wtf-eg.de/kompetenzinventar/frontend
|
|
target: ki-frontend
|
|
auto_tag: true
|
|
username:
|
|
from_secret: "docker_username"
|
|
password:
|
|
from_secret: "docker_password"
|
|
|
|
---
|
|
kind: pipeline
|
|
type: docker
|
|
name: deploy
|
|
|
|
trigger:
|
|
event:
|
|
- push
|
|
branch:
|
|
- main
|
|
|
|
depends_on:
|
|
- build
|
|
|
|
steps:
|
|
- name: deploy-dev
|
|
image: appleboy/drone-ssh:1.7.5@sha256:995677e073454912f26d4c0fdd2f9df2e1f5a30d6603d3f2ece667311b6babb3
|
|
settings:
|
|
host:
|
|
- dev01.wtf-eg.net
|
|
username: drone_deployment
|
|
key:
|
|
from_secret: "dev01_deployment_key"
|
|
command_timeout: 2m
|
|
script:
|
|
- echo "Executing forced command..."
|
|
|
|
---
|
|
kind: pipeline
|
|
type: docker
|
|
name: tag-release
|
|
|
|
trigger:
|
|
event:
|
|
- tag
|
|
|
|
steps:
|
|
- name: reuse
|
|
image: fsfe/reuse:4.0.3-debian@sha256:20e70745bf4aa1d37f4ac054f4df045e4f7df7f4ec95d7abd2e263aa1323f399
|
|
- name: lint
|
|
image: node:20.18.0-alpine@sha256:210406ea695f26d53ca224f52479cce9bd3036ea5564d4cb96bc9b63285d0f2b
|
|
commands:
|
|
- npm ci
|
|
- npm run lint -- --no-fix
|
|
- name: docker-publish
|
|
image: plugins/docker:20.18.4@sha256:a8d3d86853c721492213264815f1d00d3ed13f42f5c1855a02f47fa4d5f1e042
|
|
settings:
|
|
registry: git.wtf-eg.de
|
|
repo: git.wtf-eg.de/kompetenzinventar/frontend
|
|
target: ki-frontend
|
|
auto_tag: true
|
|
username:
|
|
from_secret: "docker_username"
|
|
password:
|
|
from_secret: "docker_password"
|