@jumpgroup/trellis-tools
v2.9.5
Published
A collection of tools for working with Trellis
Downloads
547
Keywords
Readme
Trellis Tools
This is a Node.js package that includes a set of functions related to Trellis deploy and provision using Docker Image, where provision refers to an initialization process where an environment is set up with a specific set of configurations powered by Ansible, and deploy refers to deploying updates to an environment.
This package also inclue some tolls to setup the local environment and work with Trellis projects.
Installation
To install this package, run the following command:
npm install @jumpgroup/trellis-tools
Usage
To use this package you can import the:
- 'deploy',
- 'provision'
- 'setupLocal'
functions from the package and call it with the necessary parameters or you can use this functions like a command.
Include as a functions
If you want to use this like a functions has the following signature:
Deploy
deploy({ pathKey, environment, groupKey, groupSecret, input, output, addVariables = {} })
Provision
provision({ pathKey, environment, groupKey, groupSecret, input, output, addVariables = {} })
Setup Local
setupLocal()
Include as a command
If you want to use this like a command you can use the following commands:
Deploy
To deploy website, use the following command:
trellis-tools deploy --pathKey ~/.ssh/id_rsa --environment staging --groupKey myGroup --groupSecret mySecret --input config/**/* --output .config
Provision
To provision website, use the following command:
trellis-tools provision --pathKey ~/.ssh/id_rsa --environment staging --groupKey myGroup --groupSecret mySecret --input config/**/* --output .config
The following options are available:
-e, --environment : environment to deploy to (default: "staging"). -g, --groupKey : group key. -s, --secretKey : secret token for the group. -i, --input [input]: input file or directory (default: "trellis/**"). -o, --output [output]: output directory (default: ".trellis"). -v, --addVariables [addVariables]: variables to be replaced.
Setup Local
trellis-tools setup-local
Example Usage
const { deploy, provision } = require('@jumpgroup/trellis-tools');
// Deploy the updates
await deploy({
environment: 'production',
groupKey: 'jumpgroup',
groupSecret: '******************',
input: 'trellis/**',
output: '.trellis',
addVariables: {
"trellis": {
"admin_user": "{{ admin_user }}"
}
},
});
// Setup the environment
await provision({
environment: 'production',
groupKey: 'jumpgroup',
groupSecret: '******************',
input: 'trellis/**',
output: '.trellis',
addVariables: {
"trellis": {
"admin_user": "{{ admin_user }}"
}
},
});
await setupLocal();
This example will deploy the sites updates to the production environment or setup the environment if it is the first time.
License
This package is licensed under the MIT License.