2017-02-04 17 views
1

私はDevOps初心者で、AWSサーバーで実験を試みています。REST API /他の解決策が必要です:ArtifactoryからJenkins経由でアプリケーションサーバーにアーティファクトをデプロイ

新しいプッシュが私のGITHUBに来るたびに実行するJenkinsでジョブを作成しました.MavenはGITHUBからコードをビルドし、ArtifactoryでWARファイルをアーカイブします。

ビルド成果物はArtifacotryから取得され、Appサーバーに配備する必要があります。

私は解決策を探しており、これに関する良い説明は見つかりませんでした。

これを行うには誰でもステップ/ソリューションを共有できますか?

ありがとうございます!

+0

あなたのAppサーバーはどのように起動されますか?それはジェンキンと同じサーバーで動作していますか? – RejeeshChandran

+0

これは、別のサーバー(Jenkins Node)にはデプロイされません。 – Jvipul

答えて

0

新しいjenkinsジョブを作成して、job1_deployAppというAppサーバーを配備します。このジョブを、他のジョブのダウンストリームジョブとして構成して、ビルド成果物をコピーする場所をjob2_buildとします。

job2_buildarchive artifactsを設定すると、必要なビルド成果物をアーカイブできます。だからこの仕事が終わったら、それはjob1_deployAppをトリガーします。

job1_deployAppからcopy artifactsからjob2_buildに設定してください。 `job2_build 'にアーカイブされたすべての成果物をコピーします。したがって、Appサーバーを配備するために必要な成果物が得られます。

+0

Rajeeshさん、ありがとうございます! 私は既にビルドしてアーティファクトにアーティファクトを保存するように仕事をセットアップしましたので、次のようにする必要があります: 1)Jenkinsのノード/スレーブとしてデプロイメントサーバーを追加してください 2)Artifacotryからアーティファクトをコピーし、スレーブサーバ。 ここで私はポイント2を実行するための手順を探しています。これでより明確になることを願っています。 – Jvipul

3

これを達成する最も簡単な方法は、Artifactoryから特定のビルドのアーティファクトをダウンロードしてApplication Serverにデプロイする追加のジョブJenkinsを作成することです。私はArtifactory用のPipeline DSLまたはGeneric Artifactory Integrationでフリースタイルのジョブを使用することをお勧めします。どちらも便利なJSON File Specの定義が含まれているため、ダウンロードするアーティファクトを特定のビルドや最新ビルドが公開されました。 ジョブがジョブのワークスペースに成果物をダウンロードしたら、それらをアプリケーションサーバーにコピーする必要があります。それを行うには多くの方法があります。 「Ansible」のような配置ツールを使用して、ジョブ・ワークスペースからサーバーにアーティファクトをプッシュ(コピー)することができます。

関連する問題