2013-05-10 19 views
7

git push origin masterは、Openshiftがアプリケーションを新しいバージョンに再デプロイできるようにすることを知っています。OpenshiftでTomcat 7アプリケーションを再デプロイする方法

私の状況は、私のTomcatアプリケーションは別のサブモジュールmavenプロジェクトに依存しており、どちらもスナップショットです。

git push origin masterがサブモジュールプロジェクトを変更すると(Everything up-to-date)、もちろんOpenshiftはアプリケーションを再デプロイしません。つまり、アプリケーションを再デプロイしません。最新のサブモジュールスナップショットアーティファクト。

この問題を解決するにはどうすればよいですか?私はrhc restartrhc reloadを試しましたが、動作しません。 rhc redeployのようなコマンドがありますか?

+0

'gitのプッシュ原点マスター-f'を使用している場合は? – eis

+0

動作しません。私は '' 'git push --force''はローカルリファレンスの祖先ではないリポジトリのソースコードを上書きするために使われると思います。 – rAy

+0

@rAy:正しいですが、OpenShiftは、別のコミットがプッシュされた後、すでに存在している場合にのみデプロイを開始します。 – Flimm

答えて

1

サブモジュールの最新の変更を取得してコミットしてもよろしいですか?おそらく起こっているのは、サブモジュールのコミットが更新されていないためです。サブモジュールが変更されても、プロジェクトは実際には分かりません。 git submodule statusはあなたのメインプロジェクトが現在知っているコミットを示すはずです。

この参照を更新するには、these directionsに従ってください。最後のステップであなた実際にコミットされた変更は、その後、OpenShiftは適切にそれを更新する必要がある場合

[main]$ cd ./subm 
[subm]$ git pull origin/master # or fetch then merge 
[subm]$ cd .. 
[main]$ git commit ./subm -m "Updated submodule reference" 

(この時以来、Gitのレポへの変更がありました)。

+0

これは実際にはOPの質問に対する正解だと思います。 +1 –

4

あなたのオープンシフトアプリケーションにsshすることで、展開手順を開始できます。あなたのsshの行をhttps://openshift.redhat.com/app/console/applications/から確認してください - >あなたのアプリケーションをクリックし、 "あなたのアプリケーションにログインしますか?"詳細なヘルプはhttps://www.openshift.com/developers/remote-accessをチェックしてください(RustyTheBoyRobotに感謝します)。

一度では、実行します。

gear deploy 
+0

あなたのリンクは今死んでいます。これは元々リンクしたものと似ていますか? – RustyTheBoyRobot

+0

私は 'ギア'は、代わりに今すぐ実行する適切なバイナリだと思う。したがって、ステップは 'rhc ssh -a

8

あなたは

rhc app deploy HEAD -a <appname> 

を実行することができますが、コマンドラインツール

関連する問題