JenkinsとArtifactory Integrationを用いた複数リポジトリによるパイプライン構築


あなたはそれぞれのrepoにjenkinsfileを追加せずに、何百ものプロジェクトのための同じパイプラインを使用しますか?このガイドはあなたです!
セクションAでは、私のリポジトリのどれかへのコミットによって、単一のパイプラインがどのように自動的に実行されるかを示すつもりです.私はリモートファイルプラグインを使用しています.このメソッドの主な利点は、ジョブの作成を自動化することです.同様の結果は、パイプライン共有のGroovyライブラリプラグインを使用することによっても可能です.
Bitbucketを使っていても、GenthubやJenkinsによってサポートされている他のバージョン管理ツールで簡単に交換できます.
セクションBでは、Mavenビルドを実行するパイプラインを構築し、Artifactoryからの依存関係を解決し、アーティファクトとビルドディフォイドをアーティファクトに公開します.
最終的には、このパイプラインをテストします.

a .複数のリポジトリのパイプラインを設定する


1 .コミットが押されると、Jenkinsジョブをトリガーするために、Bitbucketリポジトリにwebhookを追加します.URLはJenkinsがインストールされているマシンのアドレスです.URLの最後に“/”を書かないようにしてください.

2 .新規アイテムをクリックしてJenkinsジョブを作成します.Bitbucket Team/Project (これはBitbucket Branch Source Pluginが必要です).
  • あなたのBitbucket所有者と資格情報をプロジェクトの下に置きます.ローカルファイルの下に「pom . xml」を挿入します.そうすれば、JenkinsはPOMを持つすべてのリポジトリに対してパイプラインをトリガーすることができます.その後、あなたの仕事を自動的にすべてのプロジェクトをスキャンできるようになります.
  • すべてのリポジトリに対して実行されるパイプラインでJenkinsFileのみを含むリポジトリを作成します.MavenビルドをArtifactoryと統合することに興味があるなら、次のセクションでパイプラインの例を見つけることができます.
  • pipeline {
        ...
        triggers {
            bitbucketPush()
        }
        ...
    }
    

  • JenkinsFileをあなたの仕事に接続してください.ジョブの設定に移動し、[リモートファイルのプラグイン]をクリックします.
  • Remote File Plugin
    今後は、もう一つのプロジェクトを追加する場合は、組織のフォルダをスキャンする必要がありますその後、パイプラインはあなたの新しいレポにプッシュするたびに呼び出されます.また、Bitbucketのチーム/プロジェクトの設定ページで定期的にスキャントリガーを設定することで、スキャン操作を自動化できます.

    jfrogとの統合


    1 .管理Jenkins >グローバルツール設定にMavenとJDKを設定する


    N . B . JenkinsがRedHatマシン上で動作している場合にのみ、自動的に「インストール」を使用します.そうでなければ、IllegalArgumentExceptionをスローします
    2 .ファクトリにリポジトリを作成する
  • 人工工場
  • の上でローカルリポジトリを作成します
  • ローカルの1つの
  • を含む仮想リポジトリを作成します

    JenkinsにJenkinsを設定する

    Jenkinsでビルドを実行したときの依存関係を解決するには、設定を設定する必要があります.XML
  • 設定を生成します.あなたのバーチャルリポジトリに行くことによってartifactoryからのXML
  • 管理Jenkins >管理ファイルに新しい設定を追加し、設定を挿入します.ここのXML ( が必要)
  • ローカルビルド中のアーティファクトから依存関係を解決したい場合は、設定を行います.% userprofile %もXMLです.M 2\設定.XMLリポジトリの設定は次のようになります.
    < div >
    <P>4.パイプラインを書きなさい.これが私のjenkinsfileです(私は宣言的な構文を使っています).
    < div class ="LagagCount - gig - Link - tag "
    "スクリプトのID "https://gist.github.com/robertobatts/42da9069e13b61a238f51c36754de97b.js//>
    < div >
    < tt >複数のプロジェクトで自動的に使用したい場合は、このファイルを< em >リモートファイルプラグイン< em/p >にあるリポジトリにプッシュしなければなりません
    <p>5.それを試してみてください!私には2つのリポジトリがあります.後者は前者に依存するので、依存関係が正しくアーティファクトから解決されるかどうかをテストできます.プロジェクトをビルドしてから、
    <堀田>
    Config File Provider Plugin


    < p >おめでとう!つのパイプラインを作成することにより、複数のリポジトリを使用して人工工場とジェンキンズを統合できました.このチュートリアルで構築したプロジェクトを見たいなら、で見つけてください.p >