最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Jenkins任務批量修改的技巧分享

 更新時間:2019年03月05日 09:16:37   作者:靈雀云  
這篇文章主要給大家介紹了關于Jenkins任務批量修改的一些技巧,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧

通過腳本命令行批量修改 Jenkins 任務

最近,筆者所在團隊的 Jenkins 所在的服務器經(jīng)常報硬盤空間不足。經(jīng)查發(fā)現(xiàn)很多任務沒有設置“丟棄舊的構建”。通知所有的團隊檢查自己的 Jenkins 任務有沒有設置丟棄舊的構建,有些不現(xiàn)實。

一開始想到的是使用 Jenkins的 API 來實現(xiàn)批量修改所有的 Jenkins 任務。筆者對這個解決方案不滿意,經(jīng) Google 發(fā)現(xiàn)有同學和我遇到了同樣的問題。他使用的更“技巧”的方式:在 Jenkins 腳本命令行中,通過執(zhí)行 Groovy 代碼操作 Jenkins 任務。

總的來說,就兩步:

進入菜單:系統(tǒng)管理 --> 腳本命令行

在輸入框中,粘貼如下代碼:

import jenkins.model.Jenkins
import hudson.model.Job
import jenkins.model.BuildDiscarderProperty
import hudson.tasks.LogRotator
// 遍歷所有的任務
Jenkins.instance.allItems(Job).each { job ->

if ( job.isBuildable() && job.supportsLogRotator() && job.getProperty(BuildDiscarderProperty) == null) {
 println " \"${job.fullDisplayName}\" 處理中"

 job.addProperty(new BuildDiscarderProperty(new LogRotator (2, 10, 2, 10)))
 println "$job.name 已更新"
}
}
return;

/**

LogRotator構造參數(shù)分別為:
daysToKeep: If not -1, history is only kept up to this days.
numToKeep: If not -1, only this number of build logs are kept.
artifactDaysToKeep: If not -1 nor null, artifacts are only kept up to this days.
artifactNumToKeep: If not -1 nor null, only this number of builds have their artifacts kept.
**/

腳本

腳本命令行介紹

腳本命令行(Jenkins Script Console),它是 Jenkins 的一個特性,允許你在 Jenkins master 和 Jenkins agent 的運行時環(huán)境執(zhí)行任意的 Groovy 腳本。這意味著,我們可以在腳本命令行中做任何的事情,包括關閉 Jenkins,執(zhí)行操作系統(tǒng)命令 rm -rf /(所以不能使用 root 用戶運行 Jenkins agent)等危險操作。

除了上文中的,使用界面來執(zhí)行 Groovy 腳本,還可以通過 Jenkins HTTP API:/script執(zhí)行。具體操作,請參考 官方文檔。

問題:代碼執(zhí)行完成后,對任務的修改有沒有被持久化?

當我們代碼job.addProperty(new BuildDiscarderProperty(new LogRotator (2, 10, 2, 10)))執(zhí)行后,這個修改到底有沒有持久化到文件系統(tǒng)中呢(Jenkins 的所有配置默認都持久化在文件系統(tǒng)中)?我們看下 hudson.model.Job 的源碼,在addProperty方法背后是有進行持久化的:

public void addProperty(JobProperty<? super JobT> jobProp) throws IOException {
((JobProperty)jobProp).setOwner(this);
properties.add(jobProp);
save();
}

小結

本文章只介紹了批量修改“丟棄舊的構建”的配置,如果還希望修改其它配置,可以參考 hudson.model.Job 源碼。
不得不提醒讀者朋友,Jenkins 腳本命令行是一把雙刃劍,大家操作前,請考慮清楚影響范圍。如果有必要,請?zhí)崆白龊脗浞荨?/p>

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關文章

  • 帶你深入概括Java!六、方法和方法重載?。ㄍ扑])

    帶你深入概括Java!六、方法和方法重載?。ㄍ扑])

    這篇文章主要介紹了Java方法和方法重載,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04
  • Java如何隨機生成圖片驗證碼

    Java如何隨機生成圖片驗證碼

    這篇文章主要為大家詳細介紹了Java如何隨機生成圖片驗證碼,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • 詳解Struts2動態(tài)方法調用

    詳解Struts2動態(tài)方法調用

    這篇文章主要介紹了詳解Struts2動態(tài)方法調用,涉及調用方法的代碼,具有一定參考價值,需要的朋友可以了解下。
    2017-09-09
  • Java編程實現(xiàn)的二維數(shù)組轉置功能示例

    Java編程實現(xiàn)的二維數(shù)組轉置功能示例

    這篇文章主要介紹了Java編程實現(xiàn)的二維數(shù)組轉置功能,結合實例形式分析了Java二維數(shù)組的遍歷、運算、賦值等實現(xiàn)轉置的相關操作技巧,需要的朋友可以參考下
    2018-01-01
  • Java類之間的關系圖_動力節(jié)點Java學院整理

    Java類之間的關系圖_動力節(jié)點Java學院整理

    在Java以及其他的面向對象設計模式中,類與類之間主要有6種關系,他們分別是:依賴、關聯(lián)、聚合、組合、繼承、實現(xiàn)。他們的耦合度依次增強,有興趣的可以了解一下
    2017-08-08
  • Spring Boot整合ElasticSearch實現(xiàn)多版本兼容的方法詳解

    Spring Boot整合ElasticSearch實現(xiàn)多版本兼容的方法詳解

    簡單說,ElasticSearch(簡稱 ES)是搜索引擎,是結構化數(shù)據(jù)的分布式搜索引擎。下面這篇文章主要給大家介紹了關于Spring Boot整合ElasticSearch實現(xiàn)多版本兼容的相關資料,需要的朋友可以參考借鑒,下面來一起看看吧
    2018-05-05
  • SpringBoot從繁至簡的框架基礎教程

    SpringBoot從繁至簡的框架基礎教程

    Spring Boot是由Pivotal團隊提供的全新框架,其設計目的是用來簡化新Spring應用的初始搭建以及開發(fā)過程。該框架使用了特定的方式來進行配置,從而使開發(fā)人員不再需要定義樣板化的配置
    2022-10-10
  • java封裝類型與基礎類型對比示例分析

    java封裝類型與基礎類型對比示例分析

    這篇文章主要為大家介紹了java封裝類型與基礎類型對比示例分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-11-11
  • java保留小數(shù)的四種實現(xiàn)方法

    java保留小數(shù)的四種實現(xiàn)方法

    這篇文章主要為大家詳細介紹了java保留小數(shù)的四種實現(xiàn)方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • Java實現(xiàn)精準Excel數(shù)據(jù)排序的方法詳解

    Java實現(xiàn)精準Excel數(shù)據(jù)排序的方法詳解

    在數(shù)據(jù)處理或者數(shù)據(jù)分析的場景中,需要對已有的數(shù)據(jù)進行排序,在Excel中可以通過排序功能進行整理數(shù)據(jù),而在Java中,則可以借助Excel表格插件對數(shù)據(jù)進行批量排序,下面我們就來學習一下常見的數(shù)據(jù)排序方法吧
    2023-10-10

最新評論

商南县| 利津县| 万盛区| 镇巴县| 新巴尔虎右旗| 中阳县| 邵武市| 密山市| 莱芜市| 丰都县| 明水县| 浙江省| 共和县| 塔河县| 买车| 区。| 宁城县| 行唐县| 偏关县| 施甸县| 栖霞市| 仁布县| 平度市| 开鲁县| 衡东县| 房山区| 青岛市| 阿瓦提县| 茶陵县| 襄樊市| 桦南县| 宣恩县| 莒南县| 年辖:市辖区| 沾益县| 穆棱市| 湖北省| 宜宾县| 棋牌| 梨树县| 盐城市|