2017-06-05 305 views
1

我正在尝试使用BuildDiscarderProperty选项和我们的jenkins作业模板。但是目前它只与使用作业模板而不喜欢的属性函数一起工作。有人可以帮助我们配置BuildDiscarderProperty选项而不使用属性函数吗? 感谢Jenkins管道BuildDiscarderProperty

+0

我不明白为什么属性没有一个“作业模板”很好打,因为我不知道模板是什么样的工作。你是否使用插件来实现“作业模板”?哪一个?你在使用Jenkinsfile吗?如果是这样,你可以发布它吗? – burnettk

+0

通常当您基于任何作业模板创建作业时,它将显示模板链接,如果您单击配置,它将提供更新作业模板中定义的属性的选项。但是如果你定义了属性,那么在第一次执行作业之后,链接到模板将会丢失,而且如果你单击configure,它将像一个独立的管道作业一样。因此,对模板的任何未来更改都不会适用于这些作业。 – Eldo

+0

在执行过程中,您将会收到类似下面的消息。警告:属性步骤将从用户界面或先前的属性步骤中删除当前在此作业中配置的所有JobPropertys。 这包括用于丢弃旧版本,参数,并发构建和构建触发器的配置。 警告:删除现有的工作属性'' – Eldo

回答

0

找到解决方案。在Groovy模板中用于管道的常规作业定义。它不破什么,但刚刚删除旧的建立

<flow-definition> 
<properties> 
    <jenkins.model.BuildDiscarderProperty> 
    <strategy class="hudson.tasks.LogRotator"> 
    <daysToKeep>365</daysToKeep> 
    <numToKeep>30</numToKeep> 
    <artifactDaysToKeep>-1</artifactDaysToKeep> 
    <artifactNumToKeep>-1</artifactNumToKeep> 
    </strategy> 
    </jenkins.model.BuildDiscarderProperty> 
    <org.jenkinsci.plugins.workflow.job.properties.PipelineTriggersJobProperty> 
</org.jenkinsci.plugins.workflow.job.properties.PipelineTriggersJobProperty> 
</properties> 

</flow-definition> 
0

%的意见,这里是一个完整的声明流水线丢弃旧的构建:

pipeline { 
    agent { label 'docker' } 
    options { 
    buildDiscarder(logRotator(numToKeepStr: '200')) 
    } 
    stages { 
    stage ('build') { 
     steps { 
     sh 'ls' 
     } 
    } 
    } 
} 

我断言,模板已被弃用。听起来对吗? :)

+0

此选项可以工作,但作业属性重置并删除链接到作业模板:(使用属性功能完全相同) 警告:属性步骤将从用户界面中删除当前在此作业中配置的所有JobPropertys 警告:删除现有的作业属性'' 警告:删除现有的作业属性'构建触发器' – Eldo

+0

ya,我wouldn'删除旧的构建,参数,并发构建和构建触发器 不要期望它在这方面与脚本管道有所不同rtion(我不确定是否属实)是模板在流水线代码世界中不相关/必要。 – burnettk