项目作者: gocruncher

项目描述 :
Jenkins-job-CLI - Runs Jenkins job from the Command Line
高级语言: Go
项目地址: git://github.com/gocruncher/jenkins-job-cli.git
创建时间: 2020-08-14T13:57:36Z
项目社区:https://github.com/gocruncher/jenkins-job-cli

开源协议:MIT License

下载


Easy way to run Jenkins job from the Command Line

The utility starts a Jenkins build/job from the Command Line/Terminal.
An execution will be like this:

terminal demo

Install

Fetch the latest release for your platform:

Linux

  1. sudo wget https://github.com/gocruncher/jenkins-job-cli/releases/download/v1.1.2/jenkins-job-cli-1.1.2-linux-amd64 -O /usr/local/bin/jj
  2. sudo chmod +x /usr/local/bin/jj

OS X brew

  1. brew tap gocruncher/tap
  2. brew install jj

OS X bash

  1. sudo curl -Lo /usr/local/bin/jj https://github.com/gocruncher/jenkins-job-cli/releases/download/v1.1.2/jenkins-job-cli-1.1.2-darwin-amd64
  2. sudo chmod +x /usr/local/bin/jj

Getting Started

Configure Access to Multiple Jenkins

  1. jj set dev_jenkins --url "https://myjenkins.com" --login admin --token 11aa0926784999dab5

where the token is available in your personal configuration page of the Jenkins. Go to the Jenkins Web Interface and click your name on the top right corner on every page, then click “Configure” to see your API token.

In case, when Jenkins is available without authorization:

  1. jj set dev_jenkins --url "https://myjenkins.com"

or just run the following command in dialog execution mode:

  1. jj set dev_jenkins

Shell autocompletion

As a recommendation, you can enable shell autocompletion for convenient work. To do this, run following:

  1. # for zsh completion:
  2. echo 'source <(jj completion zsh)' >>~/.zshrc
  3. # for bash completion:
  4. echo 'source <(jj completion bash)' >>~/.bashrc

if this does not work for some reason, try following command that might help you to figure out what is wrong:

  1. jj completion check

Examples

  1. # Configure Access to the Jenkins
  2. jj set dev-jenkins
  3. # Start 'app-build' job in the current Jenkins
  4. jj run app-build
  5. # Start 'web-build' job in Jenkins named prod
  6. jj run -n prod web-build
  7. # makes a specific Jenkins name by default
  8. jj use PROD

Futures

  • cancellation job (Ctrl+C key)
  • resize of the output (just press enter key)
  • output of child jobs

Useful packages

  • cobra - library for creating powerful modern CLI
  • chalk – Terminal string styling done right
  • bar - Flexible ascii progress bar.

Todos

  • add authorization by login/pass and through the RSA key
  • support of a terminal window resizing

Similar projects

  • jcli was written by Golang which can manage multiple Jenkins

License

jenkins-job-cli is open-sourced software licensed under the MIT license.