一个 JBoss 项目
Red Hat

操作方法

自定义发布您的 OpenShift 在线应用程序

使用 IDE,您不仅可以管理 OpenShift 在线应用程序的源代码,还可以进行管理。OpenShift Online 允许通过标记和操作挂钩自定义构建和部署流程,每个标记和操作挂钩都可以使用 OpenShift 工具和现有 IDE 功能添加到应用程序配置文件中。此外,还可以通过 IDE 首选项自定义变更的应用程序源代码和配置文件的 Git 提交和推送流程,以满足您的需求。

此处说明演示如何完成以下任务

1. 为应用程序添加标记

OpenShift 工具提供“配置标记”向导,用于向您的 OpenShift 应用程序添加标记和从中删除标记。该向导列出已应用于您的应用程序的标记以及根据应用程序盒配置可添加的标记。该向导负责向应用程序添加和从中删除标记、创建或删除标记文件以及向 Git 索引中添加或从中删除标记。

例如,此处向应用程序添加了热部署标记,这将触发 OpenShift 在不首先重新启动应用程序盒的情况下发布应用程序变更,从而使重新发布速度更快。

若要将热部署标记添加到应用程序,请完成以下步骤

  1. 在“项目资源管理器”视图中,右键单击“{项目名称}”,然后单击 OpenShift  配置标记

  2. 从“标记”表中选择“热部署”,然后单击“确定”。

    Hot Deploy Marker Selected
    图 1. 已选择热部署标记

    空“.openshift/markers/hot_deploy”文件被添加到应用程序中。OpenShift 工具会自动完成“git add”操作,以便将这个新文件添加到 Git 索引中,并且可以在准备就绪时提交该文件并将它推送到 OpenShift 应用程序存储库。

2. 为应用程序添加操作挂钩

使用 IDE 功能,你可以快速向 OpenShift 应用程序添加操作挂钩。添加操作挂钩要求创建根据要运行的阶段命名的脚本文件,将其放在应用程序.openshift/action_hooks目录中,将此文件添加到 Git 索引并确保对所有用户具有执行权限。

例如,这里向应用程序添加了一个部署后操作挂钩,它在应用程序部署后触发在应用程序主齿轮上执行一个简单的 bash 脚本。

若要向应用程序添加部署后操作挂钩,请完成以下步骤

创建部署后操作挂钩

  1. 导航器视图中,展开{项目名称} > .openshift

  2. 右键单击action_hooks并单击 新建  文件

  3. 文件名字段中,键入post_deploy并单击完成

  4. 在文件编辑器中,向 post_deploy 文件添加以下行

    #!/bin/bash
    echo "This is my post-deploy bash script”
  5. Ctrl+S(或 Cmd+S)保存文件。

使部署后操作挂钩具有可执行权限

  1. 导航器视图中,右键单击post_deploy文件并单击属性

  2. 权限表中,针对所有用户类型选中执行复选框。

    Execute Permissions Check Boxes Selected for All Users
    图 2. 为所有用户选中执行权限复选框
  3. 单击应用并单击确定

3. 延长 Git 远程连接超时

随着应用程序源代码的增大,从 IDE 到 OpenShift Online 应用程序 Git 存储库的远程连接可能无法保持足够的打开时间以完成推送过程。默认 Git 远程连接超时设置为 30 秒,此后将关闭连接。但你可以通过 IDE 偏好项延长 Git 超时,以确保为推送过程提供足够的完成时间。

若要延长 Git 远程连接超时,请完成以下步骤

  1. 单击 窗口  首选项  团队  Git

  2. 远程连接超时(秒)字段中,键入秒数。

    Git Remote Connection Timeout Set
    图 3. 设置 Git 远程连接超时
  3. 单击应用并单击确定关闭首选项窗口。

4. 重新发布应用程序

在标记和操作挂钩对应用程序构建和部署流程生效之前你必须提交文件并将更改推送到 OpenShift 应用程序存储库。OpenShift 工具帮你执行这些 Git 操作,作为重新发布流程的一部分。

要重新发布该应用程序,请完成以下步骤

  1. Servers视图中,右键单击{应用程序名称} at OpenShift并单击Publish

  2. 完成以下与应用程序更改相关字段的信息,以提交并推送到 OpenShift Online 应用程序代码库

    • Commit message字段中,键入以下信息

      Added hot_deploy marker and post_deploy bash script
    • Files表中,确保选中hot_deploy文件,并选择post_deploy文件。

      Committing and Publishing Changes to OpenShift
      图 4. 为提交和发布提供提交信息和所选文件
  3. 单击Commit and Publish

Console视图变为焦点视图,显示应用程序发布进度。以下显示了示例应用程序中演示热部署标记和部署后操作挂钩效果的输出片段

Not stopping cartridge xyz because hot deploy is enabled
Building git ref 'master', commit abc123
...
Activating deployment
Deploying xyz cartridge
Not starting cartridge xyz because hot deploy is enabled
This is my post-deploy bash script
-------------------------
Git Post-Receive Result: success
Activation status: success
Deployment completed with status: success

请注意,服务器并未停止并重新启动,因为启用了热部署,并且部署应用程序后按要求运行了 bash 脚本。

术语

  • Git:OpenShift 使用的版本控制系统。

  • 标记:在 OpenShift 应用程序的.openshift/markers目录中添加的已命名空文件;标记用于向 OpenShift 服务器指定配置。

  • 操作挂钩:添加到 OpenShift 应用程序的一个用户指定脚本,位于.openshift/action_hooks目录中;脚本由 OpenShift 在应用程序构建和部署过程的指定阶段运行,如文件名所示。

你是否知道?

  • 你还可以通过以下方式从Server视图访问Configure Markers向导:右键单击{应用程序名称} at OpenShift,然后单击OpenShift  Configure Markers

  • 你可以随时向 Git 索引添加文件,方法是在例如Navigator视图中右键单击该文件并单击Team  Add to Index

  • 你可以通过打开Git透视图或单个 Git 视图来查看与应用程序 Git 代码库相关的更多信息。所有这些都可以从Window菜单进行评估。

返回顶部