Skip to main content

A one-click deployment tool written in python with pyramid web framework

current release : v_1_1_0

Global overview

hg_delivery is a web application who aims to simplify the delivery of small projects and helping people to quickly revert to a previous stable release if something’s wrong. This project targets people bothered by command line, looking for a nice and simple web interface, able to manage multiple remote repositories.

inspired from :

Manage Kombu

In order to close unused SSH connexion by checking them each configured interval, you need to install the right broker and setup the right kombu url. hg_delivery will check each 15 minutes if there’s unused connexion that needs to be closed.

features list :

  • remote repository access ssh only

  • add/delete/edit project items

  • clip project on dashboard

  • display remote project summarize (last commit, current revision …)

  • display the state of repository

  • update to a specific revision for remote repository

  • one/one repository compare

  • pushing or pulling on/from a remote repository

  • add additional task when updating a repository (useful for flushing the cache or for gracefull apache)

  • responsive design (thanks to bootstrap)

  • a scheduler is available to close ssh pool connection if none are used, it leaves clean connections, thx to pyramid-scheduler

  • a diff viewer or merge style thx to mergely

  • you can also create macros, and create in one single button a simple way to push to all. That way you can push to all acceptance platform or simply push all your commits to all your nodes.

  • some project may be removed from scope automation. This can be defined in project configuration (useful if some nodes are declared but stage as draft)

Made for what ?

hg_delivery has been designed to simplify developper daily work.

  • If you developp php application, this can be useful to deliver your project (no reload expected)

  • In fact any other webapps made with other languages is suitable too.

  • If you need fine grain delivery and or immediate rollback

  • If you whish to manage external repository and change branch one a click

Licensing

Copyright (C) 2021 Stéphane Bard <stephane.bard@gmail.com>

hg_delivery is free software; you can redistribute it and/or modify it under the terms of the M.I.T License. The original author name should always be reminded as the original author.

Getting Started

Sample usage

documentation/repoistories_illustration.jpg

Howto Install

  • on linux take care that libffi and libffi-dev is installed other why paramiko installer will just crash without a clear understanding

first install python 3.5 or above on your system

sudo apt-get install python

then make a virtual env

pyvenv3.5 venv_delivery

on debian or ubuntu system sudo apt-get install libffi libffi-dev

on redhat system yum install libffi libffi-devel

source ./venv_delivery/bin/activate python setup.py develop

Changelog

  • v_0_1 :

    • first True release

    • known bug : cannot push/pull with another password than current node

  • v_0_2 :

    • casperjs use

    • known bug : cannot push/pull with another password than current node

  • v_0_3 :

    • fix bug with node password when push or pull

  • v_0_4 :

    • bug and typo fixes

  • v_0_5 :

    • add task feature with acl control

  • v_0_7 :

    • reuse logs to display delivery date

    • pypi delivery

  • v_0_8 :

    • add thread to handle multiple push or update in a single request

    • various bugfixes

  • v_0_9 :

    • macros system (raw way to define them)

    • user can also filter repository he didn’t want to scan

    • administrator may finely define ACL per user

    • logs will now inherit from user and give better precision

    • mercurial 3.8 template syntax fix (jsonescape vs json)

    • bugfix : ACL might be uncorrectly used on previous release

    • test evolve as usual

    • add an sql_log_change.txt file to explain change from 0.8 to 0.9 (don’t have any better mecanism actually (comparing models.py version could be a good start))

  • v_1_0 :

    • attach projects to a group. redefine navigation with groups.

  • v_1_1 :

    • python 3.8 check and last pyramid scafold adoption

    • add sending password via email while creating account (pyramid mailer needs to be configured in .ini file)

0.0

  • Initial version

Download files

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

Source Distribution

hg_delivery-1.1.7.tar.gz (407.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hg_delivery-1.1.7-py2.py3-none-any.whl (424.4 kB view details)

Uploaded Python 2Python 3

File details

Details for the file hg_delivery-1.1.7.tar.gz.

File metadata

  • Download URL: hg_delivery-1.1.7.tar.gz
  • Upload date:
  • Size: 407.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.8.10

File hashes

Hashes for hg_delivery-1.1.7.tar.gz
Algorithm Hash digest
SHA256 5e3bfe9616b8c0be6930689b6e5a2372123ce2d59a4a096fd2023ad5719bf32d
MD5 78e317864f940a213aebf8ec786febc1
BLAKE2b-256 7d2ca6521f187e9bd559023fac3c772ac9370fb321ea6a1f5da330d14b828d5a

See more details on using hashes here.

File details

Details for the file hg_delivery-1.1.7-py2.py3-none-any.whl.

File metadata

  • Download URL: hg_delivery-1.1.7-py2.py3-none-any.whl
  • Upload date:
  • Size: 424.4 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.8.10

File hashes

Hashes for hg_delivery-1.1.7-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 3bce8b408d78161c4662d58d66ca6eae780b4541740d8e1e31e572f7dd6a1b8b
MD5 f5389a593f64df792b4ef979eb44282e
BLAKE2b-256 de1f36441afad0cdbdfc39846f94e89a27cd3eff28ab5e969874f9aff5917aec

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.1.7 This release

2 files

1.1.6

2 files

1.1.5

2 files

1.1.4

2 files

1.1.3

2 files

1.1.2

2 files

1.0.5

1 file

1.0.3

1 file

1.0.2

1 file

1.0.1

1 file

1.0.0

1 file

0.9.3

1 file

0.9.2

1 file

0.9.1

1 file

0.9.0

1 file

0.8.5

1 file

0.8.4

1 file

0.8.3

1 file

0.8.2

1 file

0.8.1

1 file

0.8

1 file

0.7.5

1 file

0.7.4

3 files

0.7.3

1 file

0.7.2

1 file

Supported by

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