mr
is command line client for Jenkins, with just the ability to configure and start builds remotely.
This tools makes sense when you have parametrized jobs that you are manually starting from Jenkins' UI, which is error-prone and tedious (unless you like checklists).
- starts a build from the command line
- prints link when the build starts
- overrides parameters from the command line
- uses local configuration (sample), which you can check into version control
- stores credentials securely (i.e. keychain on macOS)
- no need to fire up the browser
- can customize SSL certificates (useful in a corporate environment)
- supports only parametrized pipelines
- only tested on macOS, but should work on Windows and Linux too
There is no PYPi package yet.
Installation from source (needs Python 3
and poetry):
- clone this repo
- run
poetry build
- install with
python3 -m pip install dist/WHEEL_FILE_NAME
- get a personal access token for your Jenkins server
- add a corresponding server in the configuration file
- add one or more tasks for the server in the configuration file
- run
mr start YOUR_TASK_NAME
mr
will look up your credentials in the keychain, and start the build. If your credentials are not in the keychain already, mr
will ask you to enter your token and then save it.
Features:
- catch ctrl-c
- option to wait for build completion (polling for feedback)
Tech debt:
- use objects instead of dictionaries for configuration