You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
1.0 KiB
YAML
51 lines
1.0 KiB
YAML
# This file defines a Drone pipeline that builds a static website with "npm run build". This
|
|
# pipeline must be marked as "Trusted" in the Drone project settings.
|
|
#
|
|
# We mount the target directory of the project at "/var/www/{project}" to the container
|
|
# "dist/" directory and the run the build. A caveat is that the container builds files
|
|
# with "root" permissions, so we need to fix those after each build with a second pipeline.
|
|
|
|
kind: pipeline
|
|
name: default
|
|
|
|
steps:
|
|
- name: deploy
|
|
image: node:latest
|
|
volumes:
|
|
- name: host-website-dist
|
|
path: /mnt/website
|
|
commands:
|
|
- npm install
|
|
- npm run build
|
|
- cp -rT ./dist /mnt/website
|
|
|
|
volumes:
|
|
- name: host-website-dist
|
|
host: # this volume is mounted on the host machine
|
|
path: /var/www/website
|
|
|
|
trigger:
|
|
branch:
|
|
- main
|
|
event:
|
|
- push
|
|
|
|
---
|
|
kind: pipeline
|
|
type: exec # this job is executed on the host machine
|
|
name: caddy-permissions
|
|
|
|
depends_on:
|
|
- default
|
|
|
|
steps:
|
|
- name: chown
|
|
commands:
|
|
- chown -R caddy:caddy /var/www/website
|
|
|
|
trigger:
|
|
branch:
|
|
- main
|
|
event:
|
|
- push
|