Jig — Dead simple deployment tool
noun
a device that holds a piece of work and guides the tool operating on it.
Installation
Installation is in two steps:
- Server setup: Run a startup script on the server to pull all relevant images and take off
- Client setup: Download a client and get authentication ready
Server setup
Docker is a prerequisite, so ensure docker is available and running on your server
wget -q https://deploywithjig.askh.at/install.sh && bash install.sh && rm install.sh
This will load traefik, jig, ask you for an email, jwt signing key, launch everything and spit out a command to run on your machine to login
Login command will look something like jig login loooooong+code
keep it for later
Client setup
Any node package manager is a prerequisite
npm install -g jig-client
Plug in your login command you got in previous steps with
jig login <loooooong+code>
Then initiate a project and create a config in your project directory with
jig init
It will try to figure out what kind of project you're running and add a pre-made Dockerfile
for your convenience, but you can create one yourself
After that plug in the jig login ...
command you received server side and you should be ready to go with
jig deploy
TODOs
- [] Manage multiple servers
🌿 - [] Check docker container resource consumption
💸 - [] Fetch container logs (forgor to implement
💀 ), maybe attahcing to the container even🤔 - [] Deployment rollbacks?
- [] DNS management (? maybe)