此内容没有您所选择的语言版本。

Chapter 9. OpenShift Build Process


When an application developer pushes changes to an application's Git repository, OpenShift Enterprise builds and deploys the application using the updated repository. The build and deploy process changes if the application is scaling or if it uses a builder cartridge.

9.1. Default Build Life Cycle

If no builder cartridge is present, OpenShift Enterprise executes the default build life cycle when an application developer pushes changes to an application Git repository. The default life cycle consists of a build, preparation, distribute, and deploy phase.
In the default build life cycle, OpenShift Enterprise manages the starting and stopping of the application, and moves the updated code into $OPENSHIFT_REPO_DIR. The primary cartridge and application developer action hooks ($OPENSHIFT_REPO_DIR/.openshift/action_hooks) determine specific behaviors during this process.

Build Phase

During this phase, OpenShift Enterprise:
  1. Runs the gear stop command to stop the application.
  2. Runs the control pre-receive command on the primary cartridge.
  3. Runs the control pre-repo-archive command on the primary cartridge.
  4. Creates a new application directory: $OPENSHIFT_HOMEDIR/app-deployments/$date_$time and dependent subdirectories.

    Note

    If your cartridge requires a particular directory structure for dependencies, create a symbolic link for your cartridge directory structure into $OPENSHIFT_DEPENDENCIES_DIR. Use $OPENSHIFT_BUILD_DEPENDENCIES_DIR for build time only dependencies.
  5. Copies $OPENSHIFT_HOMEDIR/app-root/runtime/dependencies from the active application to $OPENSHIFT_HOMEDIR/app-deployments/$date_$time/dependencies.
  6. Removes previous applications starting from the oldest until the number set at $OPENSHIFT_KEEP_DEPLOYMENTS is reached.
  7. Copies the new application source code to $OPENSHIFT_REPO_DIR. This is the only point in the build life cycle when OpenShift Enterprise copies the application source code.
  8. Runs the control pre-build command on the primary cartridge.
  9. Runs the pre-build user action hook, if present.
  10. Runs the control build command on the primary cartridge.
  11. Runs the build user action hook, if present.

Preparation Phase

  1. OpenShift Enterprise runs the prepare user action hook, if present.
  2. The application ID and checksum of application contents are calculated.
  3. OpenShift Enterprise creates $OPENSHIFT_HOMEDIR/app-deployments/by-id/$deployment_id and points to ../app-deployments/$date_time

Distribute Phase

  1. OpenShift Enterprise synchronizes the new application with all child gears if the application is scalable.

Deploy Phase

During this phase, OpenShift Enterprise:
  1. Updates $OPENSHIFT_HOMEDIR/app-root/runtime/repo so it points to ../../app-deployments/$date_$time/repo
  2. Updates $OPENSHIFT_HOMEDIR/app-root/runtime/dependencies so it points to ../../app-deployments/$date_$time/dependencies
  3. Runs the control update-configuration command on the primary cartridge.
  4. Starts all secondary cartridges in the application.
  5. Runs the control deploy command on the primary cartridge.
  6. Runs the deploy user action hook, if present.
  7. Starts the primary cartridge using the gear start command.
  8. Runs the control post-deploy command on the primary cartridge.
  9. Runs the post-deploy user action hook, if present.
Result:

The build is now complete and the application is running.

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat