python-jenkins调用流水线设置“丢弃旧的构建”(discard old builds)

背景

Jenkins任务执行,随之构建次数增多,构建日志所占磁盘大小不断增大,需要配置清除策略。

discard old builds 就是配置丢弃旧的构建;若是我们使用python-jenkins 调用修改配置该如何设置?
在这里插入图片描述

调用设置

这里是按照 xml 的格式进行请求接口配置的流水线,截取相关片段配置:

<jenkins.model.BuildDiscarderProperty>
  <strategy class="hudson.tasks.LogRotator">
    <daysToKeep>10</daysToKeep>
    <numToKeep>10</numToKeep>
    <artifactDaysToKeep>-1</artifactDaysToKeep>
    <artifactNumToKeep>-1</artifactNumToKeep>
  </strategy>
</jenkins.model.BuildDiscarderProperty>

请求成功后,确实从UI上看,是设置成功了,但每次有新的构建,这个参数就会被丢失掉。

于是手动在UI上操作保存了一次,然后在服务端查看了配置文件,发现比自己的配置多一些配置项,如下所示:

<actions>
  <org.jenkinsci.plugins.workflow.multibranch.JobPropertyTrackerAction plugin="workflow-multibranch@2.21">
    <jobPropertyDescriptors>
      <string>hudson.model.ParametersDefinitionProperty</string>
    </jobPropertyDescriptors>
  </org.jenkinsci.plugins.workflow.multibranch.JobPropertyTrackerAction>
</actions>

如此设置后,才保证了设置discard old builds 正常工作。

其他注意事项

discard old builds 配置的多条件是或的关系,只要满足其中一个条件的记录都会被删除。

参考

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要获取Jenkins pipeline的构建信息,可以使用python-jenkins插件提供的方法。具体步骤如下: 1. 首先,导入python-jenkins模块: ```python import jenkins ``` 2. 创建一个Jenkins对象,并连接到Jenkins服务器: ```python server = jenkins.Jenkins(jenkins_server, username=user_id, password=api_token) ``` 其中,jenkins_server是Jenkins服务器的URL,user_id和api_token是用于身份验证的用户名和API令牌。 3. 使用Jenkins对象的get_job_info方法获取指定pipeline的构建信息: ```python job_info = server.get_job_info('pipeline_name') ``` 其中,pipeline_name是要获取构建信息的pipeline的名称。 4. 通过job_info可以获取到构建信息的各种属性,例如构建号、状态、开始时间、结束时间等。可以根据需要提取所需的信息。 以下是一个完整的示例代码: ```python import jenkins # 连接到Jenkins服务器 server = jenkins.Jenkins(jenkins_server, username=user_id, password=api_token) # 获取指定pipeline的构建信息 job_info = server.get_job_info('pipeline_name') # 提取构建信息的属性 build_number = job_info['lastBuild']['number'] build_status = job_info['lastBuild']['result'] build_start_time = job_info['lastBuild']['timestamp'] build_end_time = job_info['lastBuild']['timestamp'] # 打印构建信息 print("Build Number:", build_number) print("Build Status:", build_status) print("Build Start Time:", build_start_time) print("Build End Time:", build_end_time) ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值