No project description provided
Project description
jenkins-fire-cli
A Jenkins command line tool built with python-fire that wraps the jenkins-cli and job-dsl-core.
Prerequisite
You need to ensure Java
and Python>=3.8
are in the PATH to use this tool.
Install
It can be installed by the following command.
pip install jenkins-fire-cli
Get Started
Provision
You need to set Jenkins site url and user credential for the first time
jenkins-fire-cli config set jenkins.url http://your-jenkins-site
jenkins-fire-cli config set user.name john.doe
# user.token is optional, but you will be asked to type it when it is missing
# either api token or user's password will be OK, but it's recommneded to use token for the sake of security
jenkins-fire-cli config set user.token passw0rd
Before you start to run Jenkins commands, don't forget to run the init
command for the first time, which will download jenkins-cli.jar
and job-dsl-core-standalone.jar
automatically.
jenkins-fire-cli init
Run jenkins-cli commnads
As jenkins-fire-cli
is a wrapper of jenkins-cli
and job-dsl-core
to make them easier to use,
you can find the document of jenkins-cli
in your Jenkins site or run the following command to open in browser.
jenkins-fire-cli doc --open
You can use the run
sub-command to execute jenkins-cli
command, for example
jenkins-fire-cli run list-jobs
# It is equivalent to "java -jar jenkins-cli.jar -s http://localhost:9090/ -webSocket list-jobs"
# For command with multiple arguments you need to quote them with ""
jenkins-fire-cli run "get-job my-job"
Run job-dsl commands
You can also run the job-dsl
command. For example you have a job-dsl
script with the following content.
// file: /tmp/sample.dsl
pipelineJob('job-dsl-plugin') {
definition {
cpsScm {
scm {
git {
remote {
url('https://github.com/jenkinsci/job-dsl-plugin.git')
}
branch('*/master')
}
}
lightweight()
}
}
}
Then you can run the following command to generate the job XML configuration.
jenkins-fire-cli dsl /tmp/sample-dsl.groovy
Then you will find a file named job-dsl-plugin.xml
is generated.
Now you can run anthor command to create this job in jenkins:
jenkins-file-cli run 'create-job job-dsl-plugin' < job-dsl-plugin.xml
Then you will find a new job named job-dsl-plugin
has been created in jenkins.
Environment Variables
If you want to use this tool in CI system, you may use the following environment variable instead of global setting.
JENKINS_USER_ID
: equivalent touser.name
JENKINS_API_TOKEN
: equvalent touser.token
JENKINS_URL
: equvalent tojenkins.url
JENKINS_JOB_DSL_PATH
: path to the job-dsl jar package, you may skipinit
when this is setJNEKINS_CLI_PATH
: path to the jenkins-cli jar package, you may skipinit
when this is set
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file jenkins-fire-cli-0.1.1.tar.gz
.
File metadata
- Download URL: jenkins-fire-cli-0.1.1.tar.gz
- Upload date:
- Size: 16.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0baa80d4afcd5a753619a07c9f5a6639f56ca347056fda3daedbb6982f506dcb |
|
MD5 | 7b83112ea139c71fdd676908b2e10f15 |
|
BLAKE2b-256 | f9fdae9d3ed1797b0316dc5c158f020f6dd18e0136fa634f29ffe247e78ccc86 |
File details
Details for the file jenkins_fire_cli-0.1.1-py3-none-any.whl
.
File metadata
- Download URL: jenkins_fire_cli-0.1.1-py3-none-any.whl
- Upload date:
- Size: 17.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 961eb07b814dd749d735cab134aa1f5cdb76d7adcae20887c164250b5abff454 |
|
MD5 | 74301f0a865146cc864f1e8b96db705c |
|
BLAKE2b-256 | 1767f225db8972e6f443e56c6d4193447232ae524adc1c38d0fcdbac7d904ef7 |