2017-09-27 6 views
1

開発チームは、1つのGITリポジトリを使用して複数のマイクロサービスを格納したいと思うので、1つのレポだけを同期する方が便利です。マルチプロジェクトgitリポジトリ用のJenkinsfileを1つ

残念ながら、私が見つけたすべてのJenkinsパイプラインの文字は、常に1つのマイクロサービスしか保持していないレポのルートにJenkinsfileを表示します。

我々は、次のgitリポジトリの構造を考慮した場合:

MyProject 
     ¦-> Microservice1 
     ¦    ¦-> src/main/java/... 
     ¦    ¦-> src/main/docker/Dockerfile 
     ¦ 
     ¦-> Microservice2 (etc.) 
     ¦-> Microservice3 (etc.) 
     ¦ 
     ... 
     ¦-> Jenkinsfile 

にはどうすればプロジェクトはプロジェクトのみのデパイプラインを実行するために更新されましたMicroservices jenkinsfile内で検出することができますか?

答えて

0

あなたが何とかしている場合、私は知りません青い海のUIを介して自分自身を制限していますが、従来のUIでパイプラインジョブを設定すると、実行するjenkinsファイルがパラメータになります。

実際、シナリオ全体は非常に柔軟性があり、最初に表示されるよりもはるかに優れています。私は約20の相互依存モジュールがあるシステムを維持しています。私はモジュールを分離したり再構築したり、ジョブをgitlab(私たちが使っている)から起動するのか、手動で起動するのかによって、いくつかのビルドトリガシナリオがあります。私は各レポに複数のコピーを保持したくありません。

私ができることは、Jenkinsのものを含むもう1つのリポジトリを持つことです。これは共有ライブラリであり、load()を使用していくつかの効果的なJenkinsfileとサブスクリプトを含んでいます。 Jenkinsファイルは、関連する実際のリポジトリをロードし、適切なビルドジョブを実行します。

関連する問題