Minimal webhook automation
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
dave e5544416c2 add docker building funcs 1 year ago
examples add docker building funcs 1 year ago
shipper add docker building funcs 1 year ago
.dockerignore Initial commit 1 year ago
Dockerfile Initial commit 1 year ago
README.md Initial commit 1 year ago
requirements.txt Initial commit 1 year ago
setup.py add docker building funcs 1 year ago

README.md

Shipper

Automation API server

Jobs are written into individual python files. Their content will look like:

# instantiate job object
job = ShipperJob()

# Set the default information used with making connections (ssh, rsync, git, etc)
job.default_connection(SshConnection("192.168.1.60", "dave", key="foo.pem"))

# Check out some repo
job.add_task(GitCheckoutTask("ssh://git@git.davepedu.com:223/dave/shipper.git", "code", branch="testing"))

# Copy the files to a remote host
job.add_task(RsyncTask("./code/", "/tmp/deploy/"))

# SSH to the host and run some commands
job.add_task(SshTask("ls -la /tmp/deploy/"))
job.add_task(SshTask("uname -a"))

For more examples, see examples/.

If the above file is named “foo.py”, this job would be triggered by making a request to http://host:port/task/foo. POST, GET, and JSON Body data is made available to the job.

To run the server, install this module and execute:

  • shipperd -t jobfiledir/