7

我知道 agit push origin master会让 Openshift 将应用程序重新部署到其新版本。

但我的情况是我的Tomcat应用程序依赖于另一个子模块maven项目,它们都是快照。

一旦其子模块项目发生更改(Tomcat 应用程序保持不变),它就git push origin master根本不起作用(Everything up-to-date)当然 Openshift 不会重新部署我的应用程序,这意味着它不会更新最新的子模块快照工件为了我。

那么,如何解决这个问题呢?我试过rhc restartand rhc reload,但它们不起作用。有类似的命令rhc redeploy吗?

4

3 回答 3

8

You can run

rhc app deploy HEAD -a <appname>

if you're using the command line tools

于 2014-03-09T08:17:43.917 回答
4

您可以通过 ssh 连接到您的 openshift 应用程序来开始部署步骤。从https://openshift.redhat.com/app/console/applications/检查您的 ssh 行-> 单击您的应用程序,然后“想要登录到您的应用程序?”。查看https://www.openshift.com/developers/remote-access以获得详细帮助(感谢 RustyTheBoyRobot)。

进入后,运行:

gear deploy
于 2013-09-17T05:49:35.083 回答
1

您确定您已拉取并提交了对子模块的最新更改吗?可能发生的情况是对所需子模块提交的引用未更新,因此即使子模块已更改,您的项目也并不真正了解它。我相信git submodule status应该向您展示您的主要项目目前知道的提交。

要更新此参考,请按照以下说明进行操作

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

如果您实际上在最后一步中提交了更改,那么 OpenShift 应该适当地更新它(因为这次,git repo 发生了更改)。

于 2013-05-13T14:00:23.680 回答