循环使用10000逐步循环

时间:2018-02-09 03:06:37

标签: jenkins groovy

我正在使用在Jenkins中运行的Groovy脚本。我想知道如何为每次运行增加10000循环。 我们假设第一天价值为10000,第二天20000跟随第二天3000040000,依此类推,直到接下来的10天。

如果我用Jenkins工作完成时难以检索的随机数做这件事,那就有点难了。

2 个答案:

答案 0 :(得分:1)

您可以执行以下操作

<html>

<body>
  <div class="main-menu">
    <div class="left-menu"></div>
  </div>
</body>

</html>

答案 1 :(得分:1)

您可以使用Period.between(LocalDate from, LocalDate to)计算以天为单位的两个日期之间的距离,并乘以您的初始值。请考虑以下脚本:

import java.time.LocalDate
import java.time.Period

final int step = 10000
final int max = 100000
final LocalDate from = LocalDate.parse("2018-02-09")

(0..15).each {
    def now = LocalDate.now().plusDays(it)

    def days = Period.between(from, now).getDays() + 1
    def value = Math.min(step * days, max)

    println "Day ${it}: ${value}"
}

这里我们指定开始日期,我们将比较距离(2018年2月9日),然后我们从0到15循环仅出于测试原因,我们指定now日期作为当前日期加上当前值循环(+ 0,+ 1,+ 2,...)。 Period.between(from, now).getDays() + 1计算我们的乘数 - 在每一步中,我们将step乘以days中表示的距离(我们必须从1开始,所以1 * 10000 == 10000)。我们还使用Math.min(step * days, max)安全措施(其中max == 100000),因此我们所采用的值不能大于max变量中定义的值。当您运行以下脚本时,您将在控制台中看到类似的内容:

Day 0: 10000
Day 1: 20000
Day 2: 30000
Day 3: 40000
Day 4: 50000
Day 5: 60000
Day 6: 70000
Day 7: 80000
Day 8: 90000
Day 9: 100000
Day 10: 100000
Day 11: 100000
Day 12: 100000
Day 13: 100000
Day 14: 100000
Day 15: 100000

当然,在你的Groovy脚本中,你可以摆脱循环并使用:

def now = LocalDate.now()

当你计算你的最终价值时,你会每天将10000增加到100000。希望它有所帮助。