web-dev-qa-db-ja.com

JenkinsはTomcat 7を自動展開します

Jenkinsでwarファイルをデプロイしようとしていますが、何も起こらないようです。

プロジェクトは正常にビルドされ、Jenkins deployプラグインを使用しています。次のオプションで構成されます。

auto deploy plugin

ポストステップは「ビルド結果に関係なく実行する」ように設定されます。

ブラウザで管理者ページにアクセスできるため、資格情報が正しいことを確認しました。

Jenkins(Maven)が出力する最後の部分は次のとおりです。

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1:24.506s
[INFO] Finished at: Tue Feb 14 12:10:45 UTC 2012
[INFO] Final Memory: 22M/52M
[INFO] ------------------------------------------------------------------------
channel stopped
Finished: SUCCESS

WAR/EARファイルを存在しないものに変更することもできますが、エラーは発生しませんが、これは奇妙なことです。ここで何が間違っていますか?

57
whirlwin

私は同じ問題を抱えていましたが、私の場合、WARファイルへの(相対)パスが正しくありませんでした。どうやらそれを正確に持っていない場合(ワークスペースのルートに相対的である必要がある)、デプロイプラグインは静かに失敗します。私の場合、パスは次のとおりです。

target/whatever.war

それが修正されると、プラグインがデフォルトで設定するマネージャー/ htmlバージョンではなく、マネージャー/テキストバージョンのTomcatマネージャーに接続することを期待するという別の問題に遭遇しました。 Tomcat-users.xmlファイルには、次のような行が必要です。

<user username = "Tomcat" password = "pencil" roles = "manager-script" />

(これは、おそらく既にセットアップした「manager-gui」ロールに追加されます。)

これらの変更が行われると、ビルドと展開は正常に機能しました。

105
Bill Clark

Hudson Post Build Taskプラグインを使用して/ manager/text APIに対してcurlを実行します

記載されているプラ​​グインは、Jenkins構成で利用可能なプラグインのリストから選択してインストールできます。

プラグインをインストールしたら、「ビルド後のタスク」を有効にして次の行を追加するだけです。

curl -T - -u user:pass 'http://<Tomcat-Host>/manager/text/deploy?update=true&path=/<yourpath>' < <path_to_war_file>

例えば:

curl -T - -u manager:123456 'http://localhost:8080/manager/text/deploy?update=true&path=/slim' < /target/dist/slim.war

wgetを使用することもできますが、上記のコマンドを使用して出力をログに記録し、デプロイに問題があったかどうかを確認します。


ドキュメント/ manager/textサービスに関連しています

8

Cargo pluginを使用しましたか?まあ、私はあなた、Jenkins、maven、Tomcatと同じ構成を持っていました。しかし、デプロイする必要があるとき、私は単にそのプラグインを使用していました。実際にはしばらくかかりましたが、ジェンキンスではコマンドプロンプト行を入力できましたか? mvn clean installが好きですか?そのため、Cargoプラグイン用にpomを構成し、その行をJenkinsに追加するだけです。

mvn cargo:deploy -Pintegration

この方法で、ビルドを毎日クリーンインストールし、Tomcatに展開することができました。その後、残りのテストをしていました。

1
anvarik

JenkinsのDeployプラグインの最新バージョンには、ベースURLのみが必要なようです。だから、私にとっては、それは http://blah.com:808

その前に、Host-manager/html、Host-manager/textなど、他のオプションのホストを試しました

1
AHungerArtist

Jenkinsがコンパイルするpom.xmlを見つけていると仮定します。 Jenkins設定の目標とオプションをcompile packageに設定します。次に、Jenkinsはwarファイルを見つけて展開しようとします。がんばろう。

0
Queso

Target/whatever.warのソリューションを使用しようとしましたが、機能しないため、* /。warを使用しようとしましたが、機能します

jenkinsの決定的なガイドENを見ることができます。他のビルドジョブのワークスペースで必要なファイルの場所と、Jenkinsが現在のプロジェクトのワークスペースでそれらを配置する場所を指定する必要があります。これは、柔軟な正規表現(* /。warなど、ビルドジョブによって生成されたWARファイルの場合)でも、より正確です(gameoflife-web/target/gameoflife.warなど)。

または DEPLOYをプラグインしてTomcatにデプロイ

0
nizar ouerghi

jenkinsページを構成したユーザーのロールmanager-gui、admin-guiを保持します

例:-

 <Tomcat-users>

   <user username="uname" password="pword" roles="manager-gui,admin-gui"/>

 </Tomcat-users>
0
Venky Vungarala