OpenShift部署

OpenShift部署,openshift,openshift-client-tools,Openshift,Openshift Client Tools,嗨,我是新开班车的。我不知道如何创建存储库并将我们的项目部署到其中。我已经通过命令提示符配置了它。在通过命令提示符成功安装rhc后,我对OpenShift站点上提供的关于上传应用程序而不是推送和提交的帮助感到困惑。我有了提交和推送应用程序的想法,但我没有第一次部署或上传应用程序的想法。请帮助我,我被困了很长时间,提前感谢部署和构建应用程序 所有OpenShift应用程序都是围绕Git源代码管理工作流构建的,您可以在本地编写代码,然后将更改推送到服务器上。然后,服务器运行许多钩子来构建和配置应用程

嗨,我是新开班车的。我不知道如何创建存储库并将我们的项目部署到其中。我已经通过命令提示符配置了它。在通过命令提示符成功安装rhc后,我对OpenShift站点上提供的关于上传应用程序而不是推送和提交的帮助感到困惑。我有了提交和推送应用程序的想法,但我没有第一次部署或上传应用程序的想法。请帮助我,我被困了很长时间,提前感谢部署和构建应用程序

所有OpenShift应用程序都是围绕Git源代码管理工作流构建的,您可以在本地编写代码,然后将更改推送到服务器上。然后,服务器运行许多钩子来构建和配置应用程序,最后重新启动应用程序。或者,应用程序可以选择使用Jenkins构建,或者使用“热部署”运行,这将加快OpenShift代码的部署

对应用程序进行更改 作为OpenShift的开发人员,您在本地计算机上进行代码更改,在本地检查这些更改,然后将这些更改“推送”到OpenShift。Git的一个主要优点是,它不需要连续的在线状态才能运行。在决定将更改上传到OpenShift之前,您可以轻松地签入(用Git术语“提交”)并在本地还原更改

您创建的每个OpenShift应用程序都有自己的Git存储库,只有您可以访问。如果您从命令行创建应用程序,rhc将自动将该存储库的副本(Git称之为“克隆”)下载到您的本地系统。如果从web控制台创建应用程序,则需要告诉Git克隆存储库。从应用程序页面找到Git URL,然后运行:

$ git clone <git_url> <directory to create>
最后,您已经准备好将更改发送到应用程序-您将通过以下方式“推送”这些更改:

$ git push
push命令的输出将包含来自OpenShift的有关部署的信息-


Source

您的应用程序是什么类型的?Java/PHP/Python。。。?如果它是一个基于PHP的应用程序,那么外部公开的PHP代码应该进入“PHP”目录。无论何时使用rhc命令创建应用程序,都会创建一个本地存储库,在其中可以找到一个自述文档,其中列出了部署步骤。此外,您可以在此处参考OpenShift用户指南:


在OpenShift中,有两个选项可用于将内容部署到Tomcat服务器。两种选择 可以一起使用(即从源文件和其他预构建文件构建一个归档文件)

1) (首选)您可以像本示例项目一样,在Maven src结构中上传内容,等等 git push构建并部署了应用程序。要使其起作用,您需要在 您的存储库的根目录和一个maven-war插件,如本示例中所示,用于从构建中移动输出 转到webapps目录。默认情况下,warName是pom.xml中的ROOT。这将导致 要在中呈现的webapp内容。如果您在中更改警告名 将pom.xml转换为app_name,则您的基本url将变为

注意:如果您在本地构建,您还需要在webapps下添加任何输出战争 从构建到.gitignore文件

注意:如果您正在运行scaled EWS2.0,则需要将应用程序部署到根上下文(即。 )使HAProxy负载平衡器能够识别EWS2.0实例 它是活动的

2) 您可以git将预构建的WAR推送到webapps/中。这样做 对于默认的repo,您需要首先从repo的根运行'git rm-r src/pom.xml'

部署预构建内容的基本工作流(每个操作都需要相关的git添加/提交/推送操作才能生效):

A) 添加新的压缩内容并进行部署:

  • cp target/example.war webapps/
  • B) 取消部署当前部署的内容:

  • git rm webapps/example.war
  • C) 将当前部署的压缩内容替换为新版本并进行部署:

  • cp target/example.war webapps/
  • 注意:您可以通过运行“rhc domain show”获得上面uri中的信息

    如果您已经将大型文件提交到git repo,则可以在git中重写或重置这些文件的历史记录 然后“git push--force”在远程OpenShift服务器上应用这些更改。A. 远程OpenShift repo上的git gc可以强制使用(注意:tidy还进行其他清理,包括清除日志) 文件和tmp目录):

    rhc应用程序tidy-应用程序名称

    无论您选择选项1)还是2),最终结果都将是应用程序 部署到webapps目录中。中的webapps目录 Tomcat分发是最终用户可以放置的位置 他们的部署内容(例如war、ear、jar、sar文件)都有
    自动部署到服务器运行时。

    这是openshift人员编写的非常好的教程,其中包含源代码,因此您可能会出错。

    总之,如果您的应用程序位于某个存储库中,只需创建您的应用程序,这样它就会在您的目录中创建带有git repo的文件夹

    rhc app create notebook jbossas-7 -l <openshift_login_email> -d
    

    您应该看到java应用程序的构建。

    我知道所有这些。我第一次上传我的项目时遇到了问题。git add命令将在以后使用。这对我没用。这一步我落后了一步。很好的描述,谢谢。我这里有一个应用程序as-tjava.rhcloud.com。它最初是在创建之后工作的。现在显示404。我在webconsole中创建了它(工作,no 404),然后克隆,然后用“git rm,git commit and push”删除src和pom。后来我又去了as tjava,得到了404。为什么?我的应用程序是用Java技术编写的。内容太长,无法作为评论发布,所以我将其作为答案发布!
    rhc app create notebook jbossas-7 -l <openshift_login_email> -d
    
    git rm -rf src/ pom.xml
    
    git commit -am "removed default files"
    
    git remote add notebook -m master git://github.com/shekhargulati/notebook-part1.git
    
    git pull -s recursive -X theirs notebook master
    
    git push