A commandline interface for Jenkins.
- 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.
usage: riffraff [<flags>] <command> [<args> ...]
Flags:
--help Show context-sensitive help (also try --help-long and --help-man).
-v, --verbose Verbose mode. Print full job output
--salt Show failed salt states
Commands:
help [<command>...]
Show help.
status [<regex>]
Show the status of all matching jobs
build [<regex>]
Trigger build for all matching jobs
logs <job>
Show the logs of a job
diff <job> <build1> <build2>
Print a diff between two builds of a job
queue [<regex>]
Show the queue of all matching jobs
nodes
Show the status of all Jenkins nodes
open [<regex>]
Open a job in the browser
go get github.com/mre/riffraff
...or download a static binary from the releases page.
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.
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$"
- 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 runriffraff
- If you don't have a Jenkins server you can run it by using its
.war
file (recommended) or installing its.deb
file
The tool is named after the butler from the Rocky Horror Picture Show, and not the rapper with the same name ;-).