Files
k9e.no/.drone.yml

84 lines
1.5 KiB
YAML

---
kind: pipeline
type: docker
name: Build
platform:
os: linux
arch: amd64
steps:
- name: Install dependencies
image: node:21-alpine3.17
commands:
- yarn
- name: Lint project
image: node:21-alpine3.17
commands:
- yarn lint
- name: Build
image: node:21-alpine3.17
commands:
- yarn build
- name: Publish to ghcr
image: plugins/docker
settings:
registry: ghcr.io
repo: ghcr.io/kevinmidboe/k9e.no
dockerfile: Dockerfile
username:
from_secret: GITHUB_USERNAME
password:
from_secret: GITHUB_PASSWORD
tags:
- latest
- ${DRONE_COMMIT_SHA}
when:
event:
include:
- push
exclude:
- pull_request
branch:
- main
---
kind: pipeline
type: docker
name: Deploy
platform:
os: linux
arch: amd64
steps:
- name: Deploy to kubernetes
image: alpine/k8s:1.25.15
commands:
- mkdir -p /root/.kube
- echo $KUBE_CONFIG | base64 -di > /root/.kube/config
- export IMAGE=ghcr.io/kevinmidboe/k9e.no:${DRONE_COMMIT_SHA}
- cat .kubernetes/*.yml
| envsubst -
| kubectl --kubeconfig=/root/.kube/config apply -f -
environment:
KUBE_CONFIG:
from_secret: KUBE_CONFIG
when:
event:
include:
- push
exclude:
- pull_request
branch:
- main
depends_on:
- Build
---
kind: signature
hmac: 996f43df0a29df7c3669a4f7c45e1514a205e0d7d15ebff6a59fc987947a3080