Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/restorando/samson-cli


https://github.com/restorando/samson-cli

Last synced: about 1 month ago
JSON representation

Awesome Lists containing this project

README

        

# Samson CLI
Command line utility to manage deploys in Zendesk's Samson

## Requirements
`git` and Node.js >=4 with `npm`.

## How to install
Just install the `samson-cli` globally.
```
npm install -g samson-cli
```

## Configuration
You should create a `samsonrc.json` file in each of your project directories. `samson` will look for it when you run the tool. The file should have this shape:

```json
{
"url": "http://my-samson-url.com",
"project": "myProjectName",
"auth": "",
"samson": {
"production": true
}
}
```

The `auth` key expects the value of your Samson session cookie. We still don't have a better authentication system (perhaps based in a Samson user token) due to Samson API limitations.

## Usage
```
samson [options...]
```

## Commands

### `deploy`
Performs a deploy of a branch or tag to a stage.

Syntax:
```
samson deploy
```

Where `stage` is a valid stage (see `samson stages`) and `reference` is a branch, tag or commit SHA.

Example:
```
samson deploy staging master
```

### `deploys`
Prints the last 15 deploys.

Syntax:
```
samson deploys
```

### `builds`
Prints the last builds.

Syntax:
```
samson builds
```

### `stages`
Prints the configured stages.

Syntax:
```
samson stages
```

## Options

### `-c | --config`
You can specify a custom config, in json format

Syntax:
```
samson -c '{ "url": "http://my-samson-url.com", ...}'
```
Note: You may not need to have a `samsonrc.json` file in order to use the program if the config is specified this way, but some autocompletion features will be disabled

## To do
- [ ] Authenticate using Samson token instead of the session cookie
- [ ] Better help and readme
- [ ] Show deploy output
- [ ] Be able to specify a custom `samsonrc.json`
- [ ] Fail when no `samsonrc.json` is found
- [ ] Manage configuration defaults