https://github.com/thorgate/tg-hammer
Helpers for fabric based deployments.
https://github.com/thorgate/tg-hammer
fabric vcs
Last synced: about 1 year ago
JSON representation
Helpers for fabric based deployments.
- Host: GitHub
- URL: https://github.com/thorgate/tg-hammer
- Owner: thorgate
- License: bsd-3-clause
- Created: 2015-12-14T05:54:41.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2020-01-21T12:12:52.000Z (over 6 years ago)
- Last Synced: 2025-04-19T20:37:37.789Z (about 1 year ago)
- Topics: fabric, vcs
- Language: Python
- Size: 152 KB
- Stars: 5
- Watchers: 1
- Forks: 3
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# tg-hammer
[](https://travis-ci.org/thorgate/tg-hammer)
[](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 /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.