This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.11.4.2. 创建前端服务
要将应用程序添加到 OpenShift Container Platform 中,您必须指定应用程序所在存储库。
流程
创建前端服务,并指定创建数据库服务时设置的数据库相关环境变量:
oc new-app path/to/source/code --name=rails-app -e POSTGRESQL_USER=username -e POSTGRESQL_PASSWORD=password -e POSTGRESQL_DATABASE=db_name -e DATABASE_SERVICE_NAME=postgresql
$ oc new-app path/to/source/code --name=rails-app -e POSTGRESQL_USER=username -e POSTGRESQL_PASSWORD=password -e POSTGRESQL_DATABASE=db_name -e DATABASE_SERVICE_NAME=postgresql
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 通过此命令,OpenShift Container Platform 会获取源代码,设置构建程序,构建应用镜像,并将新创建的镜像与指定的环境变量一起部署。该应用程序命名为
rails-app
。通过查看
rails-app
部署配置的 JSON 文档来验证环境变量是否已添加:oc get dc rails-app -o json
$ oc get dc rails-app -o json
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 您应看到以下部分:
输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 检查构建流程:
oc logs -f build/rails-app-1
$ oc logs -f build/rails-app-1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 构建完成后,在 OpenShift Container Platform 中查看正在运行的 pod:
oc get pods
$ oc get pods
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 您应看到其中一行命令以
myapp-<number>-<hash>
开头,这是您在 OpenShift Container Platform 中运行的应用程序。在应用程序正常工作前,您必须运行数据库迁移脚本来初始化数据库。具体可通过两种方式实现:
从正在运行的前端容器手动实现:
使用
rsh
命令执行到前端容器中:oc rsh <frontend_pod_id>
$ oc rsh <frontend_pod_id>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 从容器内部运行迁移:
RAILS_ENV=production bundle exec rake db:migrate
$ RAILS_ENV=production bundle exec rake db:migrate
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果在
development
或test
环境中运行 Rails 应用程序,则不必指定RAILS_ENV
环境变量。
- 通过在模板中添加部署前生命周期 hook。