node package manager
Stop writing boring code. Discover, share, and reuse within your team. Create a free org »

deployr-cli

deployr-cli

The DeployR command line interface.

Overview

DeployR CLI is a Command Line Tool (CLI) for running useful DeployR utilities. Although the current feature set is minimal, many more CLI commands will be added going forward.

Prerequisites

  • Install the latest stable version of Node.js (version 0.10.x).
  • A running DeployR server to connect to.

Note to Windows users that have the Microsoft HPC Pack.

If your environment has the Microsoft HPC Pack, the node.exe from Node.js can conflict with the node.exe from the Microsoft HPC Pack (same name). You can view the open issue here.

The current solution is to manually reorder the paths in the PATH environment variable giving Node.js's path a higher priority after installation.

Installation

The DeployR CLI is installed and managed via npm, the Node.js package manager.

To get started, you will want to install the DeployR command line interface (CLI) globally. You may need to use sudo for (OSX, *nix, BSD, etc). If you are using Windows, run your command shell as Administrator.

One-line install using npm:

npm install -g deployr-cli

This will put the di command in your system path allowing it to be run from any location.

Usage

DeployR CLI is self documenting and the best way to become familiar with the tool is to try it out from your command line:

di <resource> <action> <param1> <param2> ...

Commands

Command Purpose
di Displays the 'Main menu' User Interface.
di help Prints out a list of available commands.
di help <command> Prints out the help text associated with the command.
di endpoint Set the DeployR server endpoint.
di login Log into DeployR.
di logout Log out of DeployR.
di whoami Displays the current logged in user to DeployR.
di install example Install a pre-built example.
di install example <name> Install a pre-built example by example name.
di about Displays DeployR server information based on the set server endpoint.
di config Allow you to edit your local di configuration file.
di config list Lists all configuration values currently set in the configuration file.
di config set <key> <value> Sets the specified pair in the di configuration.
di config get <key> Gets the value for the specified in the di configuration.
di config delete <key> Deletes the specified in the di configuration.

Help

All commands have corresponding help text associated with it. To read the help text for a di command, type:

di help <command>

For example, to display the help text for the whoami command:

.diconf file

All configuration data for your local DeployR CLI install is located in the .diconf file in your home directory. Directly modifying this file is not advised. You should be able to make all configuration changes from the main menu UI or via:

di config

Example:

di config set endpoint http://dhost:port   # set the DeployR server endpoint

If you need to have multiple configuration files, use --diconf options.

Example:

di --diconf /path/to/other/configuration/.diconf

Options

di [commands] [options]

--version             prints DeployR version and exit
--diconf [file]       specify file to load configuration from
--help                prints cli help and exit

Tab Completion

System Requirements

  • bash

Any other shell other than bash will simply ignore tab completions. The first time you run $ di from the command line it will add to your .bashrc or .bash_profile or .profile the necessary hooks. Upon sourcing these files, the next time you run $ di <TAB> the completions with appear.

Example:

$ di lo<TAB>
 
  login logout
 
$ di w<TAB>
  
  whoami

API Documentation

For advance usage, see our API documentation

Notes

Inspired by the nodejitsu CLI and others.

License

Copyright (C) 2010-2016, Microsoft Corporation

This program is licensed to you under the terms of Version 2.0 of the Apache License. This program is distributed WITHOUT ANY EXPRESS OR IMPLIED WARRANTY, INCLUDING THOSE OF NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Please refer to the Apache License 2.0 for more details.