checkout
DSLを使用する必要があります。p4sync
DSLは基本的なものです。最も簡単な方法は、スニペットジェネレータ(パイプライン構文リンク)を使用し、checkout: General SCM
、次にPerforce Software
をSCMリストから選択することです。
詳細ビューを定義することができます。例:
checkout([
$class: 'PerforceScm',
credential: 'phooey1666',
populate: [
$class: 'AutoCleanImpl',
delete: true,
modtime: false,
pin: '',
quiet: true,
replace: true
],
workspace: [
$class: 'ManualWorkspaceImpl',
charset: 'none',
name: 'jenkins-${NODE_NAME}-${JOB_NAME}',
pinHost: false,
spec: [
allwrite: true,
clobber: false,
compress: false,
line: 'LOCAL',
locked: false,
modtime: false,
rmdir: false,
streamName: '',
view: '''
//depot/... //jenkins-${NODE_NAME}-${JOB_NAME}/...
-//depot/tests/... //jenkins-${NODE_NAME}-${JOB_NAME}/tests/...'''
]
]
])
おそらく、これはビュー全体を同期します。チェックアウトするファイルのセットからマッピングを指定する方法はありますか?たとえば、私たちには多くの大きなデポがあり、各プロジェクトは必要なものを知っています。したがって、シンプルな高レベルのマッピングを指定することができれば、ビルドを同期させることができます。それ以外の場合は、+ syncをマップするか、プロジェクトに基づいて地図を同期させる - 情報を複製し、メンテナンスを増やす。 (コメント5分ルール) –
ManualWorkspaceでは、View(map + sync)のみがあなたのパイプラインに複数の 'checkout'ステップを追加したり、いくつかをGroovyライブラリに委譲することができます。複数の 'checkout'ステップには、異なるワークスペース名を使用する必要があることを覚えておいてください。 –
ストリームは、それぞれの子が親からのビューを継承するため、複雑なマッピングの重複を避けるため、「プロジェクト」環境でうまく動作する可能性があります。 Jenkinsの 'p4-plugin'は、必要なコントロールの量に応じて、ManualWorkspaceImplとStreamsWorkspaceImplのストリームをサポートします。 –