12g
Administration tool for development and devops, according to the 12factor principles as applied by Grrr
Install
$ npm install -g 12g
Commands
Display help
$ 12g -h [command] [subcommand]
Environment
.env
file
Create a template $ 12g env template
This will create a copy of your local .env
file, named .env.template
, with all values emptied.
.env
file
Get variable from a $ 12g env get -e [target environment name] --var=DB_HOST
This will print the value from the environment variable set in the .env
file on the target.
Will return undefined
if the variable is not set.
.env
file
List variables from a $ 12g env list -e [target environment name]
This will list the variables from the .env
file on the target, without quotes or comments.
Target environment is probably development
, staging
, production
, etcetera,
depending on your setup.
If the targeted environment is remote, an SSH connection will be attempted, if Capistrano configuration can be found.
Json
Default the values will be pretty-printed, but listing in JSON is also possible:
$ 12g env list -e [target environment name] -o json
-o
or --output
sets the output format.
Current environment
$ 12g env name
This will print out the name of the current environment.
Docker shortcut
Use 12g dock [command]
to execute a Docker command directly on your Docker Compose webserver.
It has to be running and it will have to adhere to the naming standards as we use them at
@grrr-amsterdam, which is basically calling your httpd service 'web'.
Examples:
$ 12g dock bash$ 12g dock g spawn$ 12g dock g snippet create
Shorthand
You can use shorthand syntax in the provided argument for common environment names:
p
becomesproduction
s
becomesstaging
i
becomesintegration
d
becomesdevelopment
t
becomestesting
For instance:
$ 12g env list -e s
To list the environment for staging
.