2017-06-05 18 views
1

jenkinsジョブテンプレートでBuildDiscarderPropertyオプションを利用しようとしています。しかし、現在は、ジョブテンプレートの使用に賛成していないプロパティ関数でのみ動作しています。誰かがプロパティ関数を使わずにBuildDiscarderPropertyオプションを設定するのに役立つでしょうか? 感謝のコメントパーJenkins pipeline BuildDiscarderProperty

+0

ジョブテンプレートが何であるかわからないので、プロパティが「ジョブテンプレート」でうまく動かない理由はわかりません。あなたは "ジョブテンプレート"を実装するためにプラグインを使用していますか?どれ?あなたはJenkinsfileを使っていますか?もしそうなら、それを投稿できますか? – burnettk

+0

通常、ジョブテンプレートに基づいてジョブを作成すると、テンプレートへのリンクが表示され、configをクリックすると、ジョブテンプレートで定義された属性を更新するオプションが提供されます。しかし、ジョブの最初の実行後にプロパティが定義されていれば、テンプレートへのリンクがなくなり、configureをクリックすると、スタンドアロンのパイプラインジョブのようになります。したがって、テンプレートへの今後の変更は、これらのジョブで使用できなくなる可能性があります。 – Eldo

+0

実行中に以下のようなメッセージが表示されます。警告:プロパティのステップでは、このジョブで現在設定されているすべてのJobPropertiesが、UIまたは以前のプロパティステップから削除されます。 これには、古いビルド、パラメータ、並行ビルド、およびビルドトリガーを破棄するための設定が含まれます。 警告:既存のジョブプロパティの削除 ' – Eldo

答えて

0

解決策が見つかりました。 Groovy Templateで汎用ジョブ定義をパイプライン用に使用しました。

<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

このオプションは機能しましたが、ジョブプロパティがリセットされ、ジョブテンプレートへのリンクが削除されました:(プロパティ機能を使用した場合とまったく同じです) 警告:このステップでは、 警告:既存のジョブプロパティーを削除する警告:既存のジョブプロパティーを削除する 'ビルドトリガー' – Eldo

+0

ya、i wouldn 'これは、古いビルド、パラメーター、並行ビルド、ビルドトリガーを廃棄するための設定です。その点でスクリプトパイプラインとは異なる動作を期待しています。 (私が確信しているとは確信していませんが)テンプレートは、コードラインとしてのパイプラインでは関連性がない/必要ではありませんでした。 – burnettk

関連する問題