【问题标题】:Jenkins Shelving jobs using GroovyJenkins 使用 Groovy 搁置作业
【发布时间】:2014-09-21 13:07:53
【问题描述】:

我目前正在编写一个脚本,该脚本应该归档所有去年未使用的作业,我找不到任何可以搁置这些作业的命令。 知道该怎么做吗? 这是我的脚本:

import hudson.model.*


jobs = hudson.model.Hudson.instance.items
Date date  =  new Date ()
currentTimeInMillis = date.getTime();
println "Today is "  + date + " In MilSec  " + currentTimeInMillis


def milSecondInSecond = 1000
def secondsInMinute = 60
def monutesInHour = 60
def secondsInHour = secondsInMinute*monutesInHour
def hoursInDay = 24
def minutesInDay = monutesInHour * hoursInDay
def secondsInDay = minutesInDay*secondsInMinute
def daysInYear = 365.242199
def hoursInYear = daysInYear*hoursInDay
def minutesInYear = hoursInYear*monutesInHour
def secondsInYear = minutesInYear*secondsInMinute
def milSecondsInYear = secondsInYear*milSecondInSecond
println "The milSeconds in year is  " + milSecondsInYear

for (job in jobs) {
    lastbuild = job.getLastBuild() 
    if (lastbuild !=  null) {
        lastbuildInMilSeconds = lastbuild.getTimeInMillis()
        def dif = currentTimeInMillis - lastbuildInMilSeconds
        if (dif > milSecondsInYear) {
            println job.getDisplayName() + "  " + lastbuild.getTimeInMillis()

        }
  }

}

任何想法我应该添加哪些命令,我​​知道有一个插件,但我想自动化这个过程。

【问题讨论】:

    标签: groovy jenkins hudson jenkins-plugins hudson-plugins


    【解决方案1】:

    选项 1:

    安装 Shelve Project Plugin 并让您的 Groovy 代码调用 ShelveProjectTask 来完成实际的搁置工作

    选项 2:

    阅读Shelve Project Plugin 的代码并在您的脚本中重现它。

    选项 1 听起来更简单、更可靠。您仍然可以获得自动化的好处。再加上重用的好处。

    【讨论】:

    • 如何从我的代码中调用Shelve Project Plugin
    • 是Java代码。您导入它使用的包并实例化 ShelveProjectTask 对象。您需要阅读一些代码以确保调用正确的方法。
    • 我没有找到这个插件的来源,有什么方法可以发给我吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-11
    • 2017-10-10
    • 1970-01-01
    • 2022-01-24
    相关资源
    最近更新 更多