Skip to main content

Helpers for fabric based deployments.

Project description

# tg-hammer

[![Build Status](https://travis-ci.org/thorgate/tg-hammer.svg?branch=master)](https://travis-ci.org/thorgate/tg-hammer) [![PyPI version](https://badge.fury.io/py/tg-hammer.svg)](https://badge.fury.io/py/tg-hammer)

Helpers for fabric based deployments.

## Quickstart

Install tg-hammer:

pip install tg-hammer

## Features

See the documentation for detailed information. https://tg-hammer.readthedocs.org

### VCS

Hammer provides unified helper api for both git and Mercurial based projects. It can automatically detect which version control system to use based on the current project (by inspecting project_root).

### Services

Hammer contains management helpers for the following unix service daemon utilities:

  • upstart

  • systemd

  • supervisor

## Testing

Hammer includes functional tests that are executed inside Docker containers. The file run-tests.sh executes three docker-compose commands that first brings up a slave server, then a master server which executes the tests during building, and brings both of these down after execution. The master acts as the developer machine and the slave as the server where deployments are run on.

To run the tests manually, first comment out the line:

py.test

and uncomment the line

# tail -f /dev/null

inside docker-entrypoint-master.sh. This will keep both the master and slave running when you execute

docker-compose up –build

Now you can enter a bash shell inside the master by executing:

docker exec -it tghammer_master_1 /bin/bash

At this point you can simply execute

py.test

to run the tests.

Either method of running the tests will print tons of output and will (hopefully) result in all tests passing. Sadly it is not possible to use py.test capturing to reduce the amount of spam because this program is not compatible with fabric’s internal capturing logic.

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

tg-hammer-0.6.8.tar.gz (15.2 kB view details)

Uploaded Source

File details

Details for the file tg-hammer-0.6.8.tar.gz.

File metadata

  • Download URL: tg-hammer-0.6.8.tar.gz
  • Upload date:
  • Size: 15.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.6.3

File hashes

Hashes for tg-hammer-0.6.8.tar.gz
Algorithm Hash digest
SHA256 cd6e6b0d3d19246a65bf7781b8438edbd2121108b374aac88adb7efb598c8f9b
MD5 3e583df867796bc975d2acb52633a7c3
BLAKE2b-256 b7db62789014b3edfeeba04ae81205eb5a17436a9db17e8f3a3ded5bdf18255f

See more details on using hashes here.

Supported by

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