Python Deployer
Py Deployer is a lightweight package to execute zero-downtime deployment on Linux servers.
pydeploy -s prod
sudo pip3 install py-deployer
Create the file deploy/config.yaml
inside your project as following:
# Example of file: ./deploy/config.yaml
deploy:
# Shared files and folders (between releases)
shared: [.env]
# All available servers (SSH configuration)
servers:
dev:
hostname: '10.56.12.0'
port: 22
user: 'dev_username'
password: ~ # Ignore that if you use SSH keys
deploy_path: '/server/application/path'
stage: 'develop'
branch: 'dev'
identity_file: ~ # Ignore that if it stay in the default folder (~/.ssh)
repository: ~ # Ignore that if you run pydeploy from a git project directory
max_releases: 3
# ...
prod:
hostname: '10.56.11.0'
port: 22
user: 'prod_username'
password: ~ # Ignore that if you use SSH keys
deploy_path: '/server/application/path'
stage: 'production'
branch: 'master'
identity_file: ~ # Ignore that if it stay in the default folder (~/.ssh)
repository: ~ # Ignore that if you run pydeploy from a git project directory
max_releases: 3
Deploy your application by running:
pydeploy -s <dev|stag|prod|...>