Skip to main content

Deploy your project automatically when git branch was updated.

Project description

Deploy your project automatically when git branch was updated via GitHub or BitBucket webhooks.

Usage

Install deployserver from pip.

$ pip3 install deployserver

To start your first autodeploy daemon you need to create deploy.py script file in your project.

import deployserver


deployserver.init({
    'server_address': 'http://mydomain.com',
    'port': 1234,
    'deploy': 'cd /var/www/myProject;' \
              'git pull;'
})

To start autodeploy with multiple branches

import deployserver


deployserver.init({
    'server_address': 'http://mydomain.com',
    'port': 1234,
    'branches': [
        {
            'name': 'master',
            'script': '/var/www/myProject/master-deploy.sh'
        },
        {
            'name': 'deploy/test',
            'script': '/var/www/myProject/test-deploy.sh',
        },
        {
            'regexp': r'feature/.*',
            'script': '/var/www/myProject/feature-deploy.sh'
        }
    ]
})

Then you need to run this script.

$ python3 deploy.py

If you want to run autodeploy daemon in background, use Screen.

$ screen -dmS deployserver_myProject python3 deploy.py

Screen docs: https://www.gnu.org/software/screen/manual/screen.html

Initial params

For initiation deployserver params dict is required.

server_address : string

Enter a domain name for this server with http protocol.

'server_address': 'http://mydomain.com'
'server_address': 'http://8.8.8.8'
'server_address': 'http://0a1b2c3d.ngrok.io'

port : integer

deployserver will listen this local port.

'port': 2345

deploy : string

Bash commands sequence which should be initiated on branch update.

'deploy': 'cd /var/www/myProject;' \
          'git pull;'
'deploy': '/var/www/myProject/deploy.sh'

(optional) host : string

DeployServer will listen this interface.

# default
'host': '0.0.0.0'
'host': 'localhost'

(optional) branch : string

Which branch push event should initiate deploy function.

# default
'branch': 'master'
'branch': 'current-sprint'
'branch': 'ver2'

(optional) uri : string

Callback uri.

# default
'uri': '/callback'
'uri': '/'

(optional) secret_token : string

Secret token. Check if it is set.

# default
'secret_token': None
'secret_token': 'a96529a4af7864e7f6e11035d10b7db5'

Requirements

  • Python >= 3.5

  • aiohttp

  • asyncio

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

deployserver-0.5.1.tar.gz (4.7 kB view details)

Uploaded Source

Built Distribution

deployserver-0.5.1-py3-none-any.whl (5.8 kB view details)

Uploaded Python 3

File details

Details for the file deployserver-0.5.1.tar.gz.

File metadata

  • Download URL: deployserver-0.5.1.tar.gz
  • Upload date:
  • Size: 4.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/46.0.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.1

File hashes

Hashes for deployserver-0.5.1.tar.gz
Algorithm Hash digest
SHA256 176dd92558aca85a299a6993fc927bcbf61c140dc7cf7bd7730df5530970012d
MD5 00b2388dcd1927646507de4eece52d9e
BLAKE2b-256 7bd162858d10f888d422bf1b6d5fcadf8127f94e0696949bc8846cf486788ae8

See more details on using hashes here.

File details

Details for the file deployserver-0.5.1-py3-none-any.whl.

File metadata

  • Download URL: deployserver-0.5.1-py3-none-any.whl
  • Upload date:
  • Size: 5.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/46.0.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.1

File hashes

Hashes for deployserver-0.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ee74fb7601d4be2eda87d831f49c553528378c71e60543701f70afbed2ad2a9b
MD5 c58f16a13151f0476d7f94153be40a25
BLAKE2b-256 b0236596d8589f542bec8cd998bef796ee7576101dc01e86225894d45f341b4f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page