Skip to content

roots/trellis-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

6a44fe5 · Aug 12, 2019

History

79 Commits
Aug 12, 2019
Aug 12, 2019
Feb 10, 2019
Aug 12, 2019
Feb 17, 2019
Jul 28, 2019
Jan 17, 2019
Jul 28, 2019
Aug 12, 2019
Jan 17, 2019
Aug 12, 2019
Aug 12, 2019
Feb 15, 2019
Jul 28, 2019
Aug 12, 2019

Repository files navigation

trellis-cli

CircleCI GitHub release

A command-line interface (CLI) for Trellis with autocompletion.

Manage your Trellis projects via the trellis command.

Quick Install (macOS and Linux via Homebrew)

brew install roots/tap/trellis-cli

Script

We also offer a quick script version:

curl -sL https://roots.io/trellis/cli/get | bash

Installation

trellis-cli provides binary releases for a variety of OSes. These binary versions can be manually downloaded and installed.

  1. Download the latest release or any specific version
  2. Unpack it (tar -zxvf trellis_0.3.1_Linux_x86_64.tar.gz)
  3. Find the trellis binary in the unpacked directory, and move it to its desired destination (mv trellis_0.3.1_Darwin_x86_64/trellis /usr/local/bin/trellis)
  4. Make sure the above path is in your $PATH
  5. Run trellis --autocomplete-install to install shell autocompletions

Usage

Run trellis for the complete usage and help.

Supported commands so far:

Command Description
check Checks if Trellis requirements are met
deploy Deploys a site to the specified environment
droplet Commands for DigitalOcean Droplets
galaxy Commands for Ansible Galaxy
info Displays information about this Trellis project
new Creates a new Trellis project
provision Provisions the specified environment
rollback Rollsback the last deploy of the site on the specified environment
vault Commands for Ansible Vault

Development

trellis-cli requires Go 1.11+ since it uses Go modules.

Make sure Go 1.11+ is installed (brew install go on macOS)

# Clone the repo
git clone https://github.com/roots/trellis-cli
cd trellis-cli

# Build the binary for your machine
go build

# Run tests (without integration tests)
go test -v -short ./...

# (Optional) Build the docker image for testing (requires `docker`)
make docker
# Alternatively, do not use cache when building the doccker image (requires `docker`)
make docker-no-cache

# Run all tests (requires `docker`)
make test

Releasing Docker Images

This section only intended for the maintainers

make docker

# docker tag rootsdev/trellis-cli-dev:latest rootsdev/trellis-cli-dev:YYYY.MM.DD.N
# where N is a sequential integer, starting from 1.
docker tag rootsdev/trellis-cli-dev:latest rootsdev/trellis-cli-dev:2019.08.12.1

# docker push rootsdev/trellis-cli-dev:YYYY.MM.DD.N
docker push rootsdev/trellis-cli-dev:2019.08.12.1
docker push rootsdev/trellis-cli-dev:latest

Contributing

Contributions are welcome from everyone. We have contributing guidelines to help you get started.

Trellis sponsors

Help support our open-source development efforts by becoming a patron.

Kinsta KM Digital

Community

Keep track of development and community news.