Spickzettel: Drone CI Standard-Deployments
Von mir getestete und funktionierende Deploymentschritte mit Drone CI. Es sind wirklich nur die einzelnen Schritte des deployments, damit ich nicht jedes Mal neu suchen muss, welche CI-Container ich für welchen Deploymentweg nutze…
Deploy zu Cloudflare Pages
Stumpf in den Drone CI Step node.js, wrangler rein, und deployen.
- name: deploy-to-cloudflare
image: node:22
environment:
CLOUDFLARE_ACCOUNT_ID:
from_secret: CLOUDFLARE_ACCOUNT_ID
CLOUDFLARE_API_TOKEN:
from_secret: CLOUDFLARE_API_TOKEN
commands:
- npm install --save wrangler
- npx wrangler pages deploy ./dist --project-name=XXXXXXX
Code language: YAML (yaml)
Deployt den ./dist
-Ordner zu Cloudflare Pages. In dem dist-Ordner können auch routes usw sein, wer Bock hat etwas gebasteltes dazu zu lesen -> meine Pipeline mit Bau von Worker und static assets
Deploy via SCP
Also ein deployen via SSH.
- name: deploy
image: appleboy/drone-scp
settings:
host:
- ssh.my-host.de
username:
from_secret: SSH_USERNAME
password:
from_secret: SSH_PASSWORD
port: 22
target: /var/www/html
source:
- dist/
Code language: YAML (yaml)
Für ein Deploy mit SFTP direkt habe ich leider noch keine Lösung – aber wie gesagt, i.d.R. geht auch SCP statt SFT.
Deploy via FTP(S)
Via PLUGIN_SECURE
und PLUGIN_VERIFY
lassen sich SSL und die Prüfung des Zertifikates (de)aktivieren. Ansonsten spie
- name: deploy
image: cschlosser/drone-ftps
environment:
PLUGIN_HOSTNAME: ftp.mein-host.de
FTP_USERNAME:
from_secret: FTP_USERNAME
FTP_PASSWORD:
from_secret: FTP_PASSWORD
PLUGIN_SRC_DIR: /dist
PLUGIN_DEST_DIR: /
PLUGIN_SECURE: true
PLUGIN_VERIFY: false
# PLUGIN_CLEAN_DIR: false
Code language: YAML (yaml)
Hinweis: der Slash vorne im Source-Dir ist richtig, der ist trotzdem relativ zum Stammverzeichnis des Repos. /dist
-> /drone/src/dist
.