Crates.io | jenkinsctl |
lib.rs | jenkinsctl |
version | 0.4.0 |
source | src |
created_at | 2023-06-15 07:34:55.894929 |
updated_at | 2023-12-22 03:07:50.464464 |
description | Jenkins management tool |
homepage | |
repository | https://github.com/enkron/jenkinsctl |
max_upload_size | |
id | 890905 |
size | 75,275 |
Jenkins manager
The project aims to wrap Jenkins json api and some post requests which can be performed on Jenkins parts (such as 'delete node').
It is a very early stage of development (it'd be better to say hobby project to learn Rust). Current functionality includes:
There are two types of the jobs in Jenkins: parameterized and un-parameterized.
To build a job without parameters use the following command:
jenkinsctl job build <JOB>
To build a job with parameters use:
jenkinsctl job build <JOB> [PARAMS]
jenkinsctl
accepts parameters in the following format:
param=value,...,param=value
You can also perform a parameterized build using defaults:
jenkinsctl job build <JOB> -
To stream a job's execution process to stdout, add the -f
switch:
jenkinsctl job build <JOB> [PARAMS] -f
Jenkins rest api provides three levels of interruption:
stop
aborts a pipeline;term
forcibly terminates a build;kill
hard kill a pipeline (the most destructive way to stop a pipeline);jenkinsctl
wraps it with the *nix signals equivalent:
jenkinsctl job kill -s <HUP|TERM|KILL|1|15|9> <JOB> <BUILD>
It is possible to rebuild particular job in a Jenkins web ui, however
there is no rest api endpoint for the rebuild
operation.
Therefore the rebuild
option starts new build with the same parameters
as in a build specified by the
Technically there is no differences, you can only notice that a job is not being rebuilt but started with the same parameters in a console log output.
jenkinsctl job rebuild <JOB> <BUILD>