a8b892ebd0 | ||
---|---|---|
.drone.yml | ||
Dockerfile | ||
LICENSE | ||
README.md | ||
makefile | ||
plugin.sh |
README.md
stack-ssh-deploy
Deploy swarm stacks against a SSH based remote docker daemon context.
This is meant to be used as a Drone plugin.
Settings
Required (no default)
- deploy_key: SSH private key part for ssh public key authentication
- stack: Name of the stack to be deployed
Required (If Private Repo)
- image: Name and Tag of image since private image's are not pulled automatically by docker stack deploy
Optional (with defaults)
- compose (default:
compose.yml
): compose file to use for deploying - host (default:
swarm.autonomic.zone
): Host to deploy to (don't includessh://
) - port (default:
222
): SSH port to connect to - user (default:
drone
): System user to connect via SSH with - networks (default:): Try and auto-create these networks first
- rm: (default:
false
): Remove the stack before deploying it - reg_user: Registry user if publishing from a private repository
- reg_pass: Registry password if publishing from a private repository
- reg_url: Registry URL
Dangerous options, unwise outside CI
- generate_secrets (default:
false
): randomly set allsecrets:
found in the compose file -- you won't be able to retrieve them afterwards, so you almost certainly don't want this for real deployments. - purge (default:
false
): runs aggresive cleaning up measure to wipe deployment afterwards
Example
---
kind: pipeline
name: deploy to swarm
steps:
- name: stack deploy
image: decentral1se/stack-ssh-deploy:latest
settings:
stack: mystack
deploy_key:
from_secret: drone_deploy_key
networks:
- proxy
- mail
environment:
DOMAIN: test.example.com
Publishing
The version can be bumped in the .drone.yml file. We're sticking with latest
as we iterate on the code right now.
If you push a commit to master, the Drone config will publish to Docker Hub.