我可以安排在詹金斯一次性运行的构建吗?没有cron的任何解决方案

问题描述

我不需要cron作业,因为该构建只需要在生产中运行一次,而不必定期运行。是否有一种方法可以在计划的时间内构建管道而无需cron。

解决方法

一种方法是-您可以远程触发它 https://www.jenkins.io/doc/book/using/remote-access-api/

假设您有一个Linux机器,您可以使用“ at”命令对其进行调度

at 9:30 PM Fri

curl -X POST JENKINS_URL/job/JOB_NAME/build \
  --data token=TOKEN \
  --data-urlencode json='{"parameter": [{"name":"id","value":"123"},\
     {"name":"verbosity","value":"high"}]}'
job 2 at Fri Jan 29 21:30:00 2016

然后用

查看
at -c 2
,

您可以通过脚本控制台或作业使用Groovy计划构建,或使用scheduleBuild2

def waittime = 100   // in secs
def jobName = 'folder/jobname'   //aka it.fullName

Jenkins.instance.getItemByFullName(jobName).scheduleBuild2(waittime)

quietPeriod-开始之前要等待的秒数(通常为0)

public QueueTaskFuture<R> scheduleBuild2(int quietPeriod,Action... actions)

从接口复制的描述: ParameterizedJobMixIn.ParameterizedJob提供一个标准 SCMTriggerItem.scheduleBuild2(int, hudson.model.Action ...)来调度具有等待能力的构建 对于它的结果。该工作方法通常在功能测试期间使用 (JenkinsRule.assertBuildStatusSuccess)。

由:接口中的scheduleBuild2指定 ParameterizedJobMixIn.ParameterizedJob

,R扩展了AbstractBuild

>参数: quietPeriod-开始(通常为0)操作之前要等待的秒数- 与计划相关的各种动作,例如 ParametersAction或CauseAction返回:一个可以用来处理的句柄 等待构建完成(或只是开始);或null如果构建 由于某种原因未真正安排好行程

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...