2017-08-01 23 views
0

私は本質的にカスタムCIサーバーであるものを、グローバルパイプラインライブラリに大きく依存するJenkinsパイプラインジョブに書き直しています。Jenkins Pipeline - groovyやshの手順で作業領域の操作(ファイルのコピー、ディレクトリの作成、シンボリックリンクの作成など)を行う方が良いですか?

これまでのところ、Jenkinsのパイプラインはすばらしいツールでしたが、私はステップを書くのに好ましい方法が何であるか混乱しています...あなたはgroovyでステップの内容を書き留めたり、シュート?私がshステップを使用してトンを砲撃することになる主な欠点は、エラーを処理することがより難しいことです。たとえば、ソースディレクトリが存在しないためにファイルのディレクトリをコピーするとエラーが発生した場合、ターゲットの場所にディスクスペースが不足している場合とは異なる方法で処理します。

推奨アプローチは何ですか?

答えて

0

shステップを使用します。 groovyで書いたものはすべてマスターサーバー上でのみ実行され、shステップはマスターノードとスレーブノード上で実行されます。パイプラインは実際にはフロー制御のためのものであり、ワークスペース内でアクションを実行するためのいくつかのステップが組み込まれています。

+0

ノード上で動作するnode()ステップにある任意のgroovy。マスターではありません。 – JamesD

+0

これも同様だと思いましたが、問題が発生してJenkins Googleグループに投稿されました。このスレッドのメッセージをご覧ください - https://groups.google.com/forum/?nomobile=true#!searchin/jenkinsci-users/pipeline%7Csort:関連性/ jenkinsci-users/TtaIXm8OUl0/Dig5UFZbAAAJ – user797963

0

可能な限りgroovyを使用することをお勧めします。この方法で、プラットフォーム間での移動にスクリプトを簡単に適応させることができます。

例: シェルステップを使用してWindows OSをサポートする必要がある場合は、CMDのステップを書き直すか、powershellを使用する必要があります。groovyを使用すると、この疑問は時代遅れになります。

したがって、それに関連する学習曲線がある場合でも、groovyをおすすめします。

関連する問題