2017-06-05 436 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