Skip to content
/ riffraff Public

A commandline interface for Jenkins (like `fly` for Concourse).

License

Notifications You must be signed in to change notification settings

mre/riffraff

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The riffraff logo

Travis (.org) Codecov branch GoDoc Go Report Card

usage

A commandline interface for Jenkins.

Features

  • Queries the current status of jobs in parallel.
  • Can trigger Jenkins builds from the commandline.
  • Visualizes the status of jobs and nodes.
  • Can diff the output two runs.
riffraff is a commandline interface for Jenkins

Usage:
  riffraff [command]

Available Commands:
  build       Trigger build for all matching jobs
  diff        Print a diff between two builds of a job
  help        Help about any command
  log         Show the logs of a job
  nodes       Show the status of all Jenkins nodes
  open        Open a job in the browser
  queue       Show the queue of all matching jobs
  status      Show the status of all matching jobs

Flags:
  -h, --help      help for riffraff
      --salt      Show failed salt states
  -v, --verbose   Verbose mode. Print full job output

Use "riffraff [command] --help" for more information about a command.

Installation

go get github.com/mre/riffraff

...or download a static binary from the releases page.

Getting started

You need to set the following environment variables:

export JENKINS_URL="http://example.com/"
export JENKINS_USER="username"
export JENKINS_PW="password"

You might want to put those into your ~/.bashrc, ~/.zshrc or equivalent.

Usage

riffraff status jenkins-job-name

This will print the current status of all Jenkins jobs matching the given pattern (jenkins-job-name in this case). You can use any regular expression for that, e.g.:

riffraff status "^application-.*-unittests$"

You can get the full output of each last job matching the pattern with

riffraff status -v "^application-.*-unittests$"

Development

  • Install golang version 1.11 or later for go modules support
  • Clone this repository to a directory in your $GOPATH/src tree (recommended) or usego get -u github.com/mre/riffraff.git (uses https not SSH)
  • In the source folder run go run main.go to install modules and run riffraff
  • If you don't have a Jenkins server you can run it by using its .war file (recommended) or installing its .deb file

OBTW

The tool is named after the butler from the Rocky Horror Picture Show, and not the rapper with the same name ;-).

Credits

Logo design: Franziska Böhm noxmoon.de (CC-BY-SA)