実験を通して、build
などの組み込みパイプラインステップをマスクすることができると判断しました。共有ライブラリで同じ名前のグローバル関数を定義します。グローバルライブラリ関数のオーバーライドでDLSステップを呼び出す方法
例:
def call(Map args) {
echo "BUILD: ${args}"
}
私はこのライブラリをロードする場合は、何かを実際に構築するために私のコールのどれも:build.groovyはありません
(root)
+- vars
+- build.groovy
。彼らはビルドが呼び出され、何がargsであるかをエコーします。これは、パイプラインスクリプトをテストして、実際に長時間実行されるタスクを回避しながら、スクリプトロジック自体が正しいことを確認するのに非常に役立ちます。
しかし、このテストは1つのテストに過ぎません。私が本当にやりたいことは、build
、node
、stage
などの使い方を覚えておくことです。たとえば、割り当てられたすべてのノード、割り当てられた時刻、割り当てられた時間などを記録します。これは容量分析と計画に本当に便利です。
別のアプリケーションでは、ノードは常にラベルで割り当てられ、明示的なノード名では決して割り当てられないように、特定のポリシーを適用することがあります。
この作業を行うには、node.groovy
デコレータは、それがマスキングしている実際のnode
ステップを呼び出す何らかの方法を必要とします。 これを行うにはどのようなアイデアですか?
ちょうど同じ問題があった、私の人生を救った! – Badgerati
喜んで助けました。 –