Skip to main content

hg_delivery README

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

Metadata

Release files for hg-delivery 1.1.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for hg-delivery 1.1.7
File Size Uploaded Provenance
hg_delivery-1.1.7.tar.gz 407.2 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for hg-delivery 1.1.7
File Interpreter ABI Platform
hg_delivery-1.1.7-py2.py3-none-any.whl Python 2, Python 3 none any Details

Total release size: 831.7 kB

Release files / hg_delivery-1.1.7.tar.gz

Download URL hg_delivery-1.1.7.tar.gz
Size 407.2 kB
Tags Source
SHA-256 checksum
How to use checksums
5e3bfe9616b8c0be6930689b6e5a2372123ce2d59a4a096fd2023ad5719bf32d
BLAKE2b-256 checksum
How to use checksums
7d2ca6521f187e9bd559023fac3c772ac9370fb321ea6a1f5da330d14b828d5a
Upload date
Uploaded using Trusted Publishing?
What is 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

Release files / hg_delivery-1.1.7-py2.py3-none-any.whl

Download URL hg_delivery-1.1.7-py2.py3-none-any.whl
Size 424.4 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
3bce8b408d78161c4662d58d66ca6eae780b4541740d8e1e31e572f7dd6a1b8b
BLAKE2b-256 checksum
How to use checksums
de1f36441afad0cdbdfc39846f94e89a27cd3eff28ab5e969874f9aff5917aec
Upload date
Uploaded using Trusted Publishing?
What is 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

Security for hg-delivery 1.1.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page