4 个版本 (破坏性更新)

0.4.0 2023年12月22日
0.3.0 2023年7月7日
0.2.0 2023年6月30日
0.1.0 2023年6月15日

#383 in Web编程

Download history 150/week @ 2024-04-14 148/week @ 2024-04-21 155/week @ 2024-04-28 147/week @ 2024-05-05 148/week @ 2024-05-12 162/week @ 2024-05-19 152/week @ 2024-05-26 163/week @ 2024-06-02 159/week @ 2024-06-09 161/week @ 2024-06-16 156/week @ 2024-06-23 165/week @ 2024-06-30 150/week @ 2024-07-07 151/week @ 2024-07-14 149/week @ 2024-07-21 155/week @ 2024-07-28

每月 643 次下载

GPL-2.0-or-later

43KB
1K SLoC

jenkinsctl

Jenkins管理器

该项目旨在封装Jenkins的json api以及可以在Jenkins部分(如'删除节点')上执行的一些post请求。

它处于非常早期的开发阶段(可以说是学习Rust的爱好项目)。当前功能包括

  • shutdown 设置带有可选原因的 '准备关机' 标志
    • on 设置关机标志
    • off 取消关机
  • restart 重新启动Jenkins实例(软/硬重启)
  • copy 从现有的一个复制作业
    • job 复制作业
    • view 复制视图
  • node 节点操作
    • show 显示节点信息
    • list 列出所有(带有可选的状态信息)
  • job
    • list 递归列出实例中的所有作业
    • build 构建作业(使用'-'作为参数列表使用默认值)
    • remove 删除作业(请谨慎使用,该操作是永久性的)

构建作业

Jenkins中有两种作业:参数化作业和非参数化作业。

要构建不带参数的作业,请使用以下命令

jenkinsctl job build <JOB>

要构建带参数的作业,请使用

jenkinsctl job build <JOB> [PARAMS]

jenkinsctl 接受以下格式的参数: param=value,...,param=value

您还可以使用默认值执行参数化构建

jenkinsctl job build <JOB> -

要将作业的执行过程流式传输到stdout,请添加 -f 开关

jenkinsctl job build <JOB> [PARAMS] -f

中止作业

Jenkins rest api提供三个级别的中断

  • stop 中止流水线;
  • term 强制终止构建;
  • kill 强制终止流水线(停止流水线的最具破坏性的方式);

jenkinsctl 使用*nix信号进行封装

jenkinsctl job kill -s <HUP|TERM|KILL|1|15|9> <JOB> <BUILD>

重建作业

可以在Jenkins web ui中重新构建特定作业,但是没有rest api端点用于 rebuild 操作。

因此,rebuild 选项使用与arg指定的构建相同的参数启动新的构建。

技术上没有区别,你只能在控制台日志输出中注意到一个任务不是被重建,而是以相同的参数开始。

jenkinsctl job rebuild <JOB> <BUILD>

依赖项

~10–22MB
~312K SLoC