https://github.com/best-practice-src/py-deployer
Python Deployer
https://github.com/best-practice-src/py-deployer
deploy deployer deployment git python release-automation releases simple-config ssh zero-downtime
Last synced: 28 days ago
JSON representation
Python Deployer
- Host: GitHub
- URL: https://github.com/best-practice-src/py-deployer
- Owner: best-practice-src
- License: gpl-3.0
- Created: 2021-02-10T17:00:11.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2022-05-30T09:44:19.000Z (over 3 years ago)
- Last Synced: 2025-09-29T05:23:14.284Z (3 months ago)
- Topics: deploy, deployer, deployment, git, python, release-automation, releases, simple-config, ssh, zero-downtime
- Language: Python
- Homepage: https://pypi.org/project/py-deployer
- Size: 72.3 KB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Py Deployer
Py Deployer is a lightweight package to execute zero-downtime deployment on **Linux servers**.
```bash
pydeploy -s prod
```
## ✨ Features
- Cross-technology deployments
- Simple configuration
- Zero downtime deployments
- Multiple environment management
- Release version management
- Use SSH protocol
#### ⚠ This package does not currently support after-deployment scripts
## 1️⃣ Installation
```bash
sudo pip3 install py-deployer
```
## 2️⃣ Configuration
Create the file `deploy/config.yaml` inside your project as following:
```yaml
# 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
```
## 3️⃣ Deployment
Deploy your application by running:
```bash
pydeploy -s
```
## Links
- [PyPi](https://pypi.org/project/py-deployer/)