2017-06-05 7 views
0

私はJenkinsパイプラインテンプレートを作成し、スクリプト(groovyで書かれています)をインラインエディタに配置しました。アプリケーションをビルドし、ジョブがトリガーされたときに環境にデプロイします。ジェネリック連続配信パイプライン

GitHubに格納されたXMLドキュメントは、さまざまなパイプライン機能のオンとオフを切り替えます。たとえば、環境が「制御されている」場合、環境に展開する前に承認された変更命令が必要です。各アプリケーションは複数の構成を持つことができます。すべてのアプリケーションで同じパイプラインスクリプトが使用されます。

スクリプトは複雑で、3000行のコードで膨大です。小さなルーチンに分割し、モジュール化し、スケーラブルにしたいと思います。ジェンキンスパイプラインテンプレート

アイデアは、パイプラインのテンプレートを提供し、グローバル変数とShared Libraryを作成することです:誰もがスクリプト私はここのパイプラインテンプレートを作成するには、私の解決策を掲載している

+2

あなたは[共有ライブラリ](https://jenkins.io/doc/book/pipeline/shared-libraries/)と考えましたか?それがあなたの必要性に合っていないことが分かった場合は、その理由を説明してください。 –

+0

返信いただきありがとうございます。私はすべてのパイプラインジョブに対して1つのGenericパイプラインテンプレートのみを使用しています。私の考えは、パイプラインテンプレートからJenkinsfile(GitHubに格納されています)の読み込みでした。次に、グローバルパイプラインライブラリ(GitHubに格納されている)から(ビルドとデプロイ)ステージに関連するルーチン/ステップをロードします。すべてのアプリケーションでアプリケーション固有のものではなく、同じJenkinsfileを使用することができますか? Jenkinsfileと共有ライブラリを同じリポジトリに格納できますか? – Jay

+0

Jenkinsfileと共有ライブラリを同じリポジトリに配置することはお勧めしません。ほとんどの場合、Jenkinsfileにアプリケーションコードをバージョン管理する必要があります。共有ライブラリは別々にバージョン管理する必要があります。 – Philip

答えて

0

にリファクタリングする私にいくつかのアイデアを提案することができます。共有ライブラリからメソッドを呼び出すだけで、Jenkinsfile内で使用することができます。

関連する問題