This feature is experimental: expect things to break and documentation to be innacurate and change inadvertantly. Use at your own risks.
CLI
The Command Line Interface (CLI) lets you interact with devo. directly from your terminal. It allows you do everything that you can do through the Web UI: triggering tasks, monitoring the status of a server or listing your repositories.
Installation
You will need python 2.7+
as well as pip
installed on your system.
MacOS
We recommend MacOS users to use Homebrew for installing pip.
brew install python-pip
sudo pip install https://app.devo.ps/cli/devops-cli-latest.tar.gz
Ubuntu / Debian
sudo apt-get install python-pip
sudo pip install https://app.devo.ps/cli/devops-cli-latest.tar.gz
CentOS / Fedora / RH
You will first need to install EPEL (you can find plenty of tutorials for Fedora or CentOS & RH)
sudo pip install https://app.devo.ps/cli/devops-cli-latest.tar.gz
The CLI isn't currently tested or optimized on the Windows platform.
Usage
devops --help
- Displays the full list of commands supported by the CLI.
devops login
- Authenticate your CLI; this require you use your devo.ps username (GitHub username) and the API key given to you on the user settings page.
devops logout
- Logs your CLI out.
devops list repos
- Return the list of all the repositories you have access to (as displayed in your profile).
devops list [--repo={REPO}] nodes
- Return the list of all the nodes in the specified repository (
{REPO}
). If the--repo
option is ommitted, assumes the repo is the one you run the command from (requires a local clone of the repository). devops list [--repo={REPO}] tasks
- Return the list of all the tasks associated with the specified repository (
{REPO}
). If the--repo
option is ommitted, assumes the repo is the one you run the command from (requires a local clone of the repository). devops list [--repo={REPO}] runs {TASK} [--count={COUNT}]
- Returns the list of the previous runs of a task specified by
{TASK}
, limiting the list size to{COUNT}
runs. If the--repo
option is ommitted, assumes the repo is the one you run the command from (requires a local clone of the repository). If the--count
option is ommitted, fetches the last 10 runs by default. devops list [--repo={REPO}] webhooks
- Return the list of all the webhooks associated with tasks from the specified repository (
{REPO}
). If the--repo
option is ommitted, assumes the repo is the one you run the command from (requires a local clone of the repository). devops sync [--repo={REPO}] {NODE}
- Trigger the syncing of the specified node (where
{NODE}
is the node id). This is useful in case a node fell out of sync (see nodes status). If the--repo
option is ommitted, assumes the repo is the one you run the command from (requires a local clone of the repository). devops info [--repo={REPO}] {NODE}
- Return information (IP address, status, services and public SSH keys) about the specified node (where '{NODE}' is the node id). If the
--repo
option is ommitted, assumes the repo is the one you run the command from (requires a local clone of the repository). devops link [--repo={REPO}] {NODE}
- Link the node (where
{NODE}
is the node id) to devo.ps with the information provided interactively. If the--repo
option is ommitted, assumes the repo is the one you run the command from (requires a local clone of the repository). Note: the node file must be already exist in devo.ps. devops run [--repo={REPO}] {TASK}
- Triggers the designated task (where
{TASK}
is the task id). If the--repo
option is ommitted, assumes the repo is the one you run the command from (requires a local clone of the repository). devops logs [--repo={REPO}] --node={NODE}
- Returns the logs of the latest sync. If the
--repo
option is ommitted, assumes the repo is the one you run the command from (requires a local clone of the repository). devops logs [--repo={REPO}] --task={TASK} [{RUN}]
- Returns the logs of the run specified by the run id
{RUN}
for the task which id is{TASK}
. If the--repo
option is ommitted, assumes the repo is the one you run the command from (requires a local clone of the repository). If{RUN}
is ommitted, fetches the logs of the latest run. devops ssh [--repo={REPO}] [{NODE}]
- Establish an SSH connection with the designated node (where {NODE} is the node id). If the
--repo
option is ommitted, assumes the repo is the one you run the command from (requires a local clone of the repository). If{NODE}
is ommitted and the repository only contains 1 node, connects to this node. devops ssh-config [--repo={REPO}] [{NODE}]
- Show the SSH connection configuration used to connect to the designated node (where
{NODE}
is the node id). If the--repo
option is ommitted, assumes the repo is the one you run the command from (requires a local clone of the repository). If{NODE}
is ommitted, returns the ssh-config of all the nodes defined in the repository.