HgDelivery is an easy way to deliver products for Mercurial and Git with a built in push/pull server, as well as repositories comparison
Project description
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
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5e3bfe9616b8c0be6930689b6e5a2372123ce2d59a4a096fd2023ad5719bf32d |
|
MD5 | 78e317864f940a213aebf8ec786febc1 |
|
BLAKE2b-256 | 7d2ca6521f187e9bd559023fac3c772ac9370fb321ea6a1f5da330d14b828d5a |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3bce8b408d78161c4662d58d66ca6eae780b4541740d8e1e31e572f7dd6a1b8b |
|
MD5 | f5389a593f64df792b4ef979eb44282e |
|
BLAKE2b-256 | de1f36441afad0cdbdfc39846f94e89a27cd3eff28ab5e969874f9aff5917aec |