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=XXXXXXXCode 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: falseCode language: YAML (yaml)

Hinweis: der Slash vorne im Source-Dir ist richtig, der ist trotzdem relativ zum Stammverzeichnis des Repos. /dist -> /drone/src/dist.