Package: hg-delivery
A one-click deployment tool written in python withpyramidweb frameworkcurrent release : v_1_1_0Global overviewhg_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 :like banana projectManage KombuIn 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.Note# ensure that processed tasks will be done by the same process
scheduler.combined   = true
scheduler.broker.url = redis://127.0.0.1:6379/features list :remote repository accessssh onlyadd/delete/edit project itemsclip project on dashboarddisplay remote project summarize (last commit, current revision …)display the state of repositoryupdate to a specific revision for remote repositoryone/one repository comparepushing or pulling on/from a remote repositoryadd additional task when updating a repository (useful for flushing the cacheorfor 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-schedulera diff viewer or merge stylethx to mergelyyou 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 rollbackIf you whish to manage external repository and change branch one a clickLicensingCopyright (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 StartedNoteplease use production.ini file for production purpose :)Sample usageHowto Installon linux take care that libffi and libffi-dev is installed other why paramiko installer will just crash
without a clear understandingfirst install python 3.5 or above on your systemsudo apt-get install pythonthen make a virtual envpyvenv3.5 venv_deliveryon debian or ubuntu system
sudo apt-get install libffi libffi-devon redhat system
yum install libffi libffi-develsource ./venv_delivery/bin/activate
python setup.py developChangelogv_0_1 :first True releaseknown bug : cannot push/pull with another password than current nodev_0_2 :casperjs useknown bug : cannot push/pull with another password than current nodev_0_3 :fix bug with node password when push or pullv_0_4 :bug and typo fixesv_0_5 :add task feature with acl controlv_0_7 :reuse logs to display delivery datepypi deliveryv_0_8 :add thread to handle multiple push or update in a single requestvarious bugfixesv_0_9 :macros system (raw way to define them)user can also filter repository he didn’t want to scanadministrator may finely define ACL per userlogs will now inherit from user and give better precisionmercurial 3.8 template syntax fix (jsonescape vs json)bugfix : ACL might be uncorrectly used on previous releasetest evolve as usualadd 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 adoptionadd sending password via email while creating account (pyramid mailer needs to be configured in .ini file)0.0Initial version