Jenkinsでwarファイルをデプロイしようとしていますが、何も起こらないようです。
プロジェクトは正常にビルドされ、Jenkins deployプラグインを使用しています。次のオプションで構成されます。
ポストステップは「ビルド結果に関係なく実行する」ように設定されます。
ブラウザで管理者ページにアクセスできるため、資格情報が正しいことを確認しました。
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ファイルを存在しないものに変更することもできますが、エラーは発生しませんが、これは奇妙なことです。ここで何が間違っていますか?
私は同じ問題を抱えていましたが、私の場合、WARファイルへの(相対)パスが正しくありませんでした。どうやらそれを正確に持っていない場合(ワークスペースのルートに相対的である必要がある)、デプロイプラグインは静かに失敗します。私の場合、パスは次のとおりです。
target/whatever.war
それが修正されると、プラグインがデフォルトで設定するマネージャー/ htmlバージョンではなく、マネージャー/テキストバージョンのTomcatマネージャーに接続することを期待するという別の問題に遭遇しました。 Tomcat-users.xmlファイルには、次のような行が必要です。
<user username = "Tomcat" password = "pencil" roles = "manager-script" />
(これは、おそらく既にセットアップした「manager-gui」ロールに追加されます。)
これらの変更が行われると、ビルドと展開は正常に機能しました。
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サービスに関連しています
Cargo pluginを使用しましたか?まあ、私はあなた、Jenkins、maven、Tomcatと同じ構成を持っていました。しかし、デプロイする必要があるとき、私は単にそのプラグインを使用していました。実際にはしばらくかかりましたが、ジェンキンスではコマンドプロンプト行を入力できましたか? mvn clean installが好きですか?そのため、Cargoプラグイン用にpomを構成し、その行をJenkinsに追加するだけです。
mvn cargo:deploy -Pintegration
この方法で、ビルドを毎日クリーンインストールし、Tomcatに展開することができました。その後、残りのテストをしていました。
JenkinsのDeployプラグインの最新バージョンには、ベースURLのみが必要なようです。だから、私にとっては、それは http://blah.com:808
その前に、Host-manager/html、Host-manager/textなど、他のオプションのホストを試しました
Jenkinsがコンパイルするpom.xmlを見つけていると仮定します。 Jenkins設定の目標とオプションをcompile packageに設定します。次に、Jenkinsはwarファイルを見つけて展開しようとします。がんばろう。
Target/whatever.warのソリューションを使用しようとしましたが、機能しないため、* /。warを使用しようとしましたが、機能します
jenkinsの決定的なガイドENを見ることができます。他のビルドジョブのワークスペースで必要なファイルの場所と、Jenkinsが現在のプロジェクトのワークスペースでそれらを配置する場所を指定する必要があります。これは、柔軟な正規表現(* /。warなど、ビルドジョブによって生成されたWARファイルの場合)でも、より正確です(gameoflife-web/target/gameoflife.warなど)。
jenkinsページを構成したユーザーのロールmanager-gui、admin-guiを保持します
例:-
<Tomcat-users>
<user username="uname" password="pword" roles="manager-gui,admin-gui"/>
</Tomcat-users>