如何解决我可以安排在詹金斯一次性运行的构建吗?没有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如果构建 由于某种原因未真正安排好行程
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。