沙尘暴 / heroku
将基于Flow和Neos的项目与Heroku或Dokku PAAS平台集成
README
我们在sandstorm|media使用Dokku快速轻松地将应用程序部署到我们的服务器。然而,手动使应用程序准备好在Dokku或Heroku上部署通常需要花费很多时间。因此,我们创建了此包,以在几秒钟内最大限度地减少您将TYPO3 Flow和Neos基于的项目准备好进行部署的努力。
先决条件
必须使用3.0或更高版本的Flow。
兼容性和维护
此包目前正在维护Neos 2.3 LTS和Neos 3.x。
使用方法
- 当使用composer时,您可以通过在命令行中输入以下命令方便地将此包添加到您的应用程序中
composer require sandstorm/heroku
- 将此包添加到您的应用程序后,使用以下命令使您的项目为Dokku做好准备
./flow heroku:addToProject
composer update
- 将基本URI占位符添加到您的 Settings.yaml
Neos: #For Neos 2.3 LTS, the top-level key must be TYPO3 instead of Neos
Flow:
http:
baseUri: %env:BASE_URI%
Dokku上的部署
执行以下步骤将应用程序部署到Dokku(以下命令)
- 创建您的Dokku应用程序
- 使 Data/Persistent 在更新后持久化
- 创建数据库
- 将数据库与应用程序链接
- 将域名添加到应用程序
- 设置基本URI
- 设置flow上下文
- 设置数据库配置
- 将dokku添加为git远程仓库
- 将您的项目推送到Dokku
- (可选)通过ssh访问您的项目以配置您的Flow实例
dokku create your-app
dokku storage:mount your-app /home/dokku/your-app/DATA/app/Data/Persistent:/app/Data/Persistent
dokku mariadb:create your-app
dokku mariadb:link your-app your-app
dokku domains:add your-app your-domain-to-the-app.de
dokku config:set your-app BASE_URI=http://your-domain-to-the-app.de/
dokku config:set your-app FLOW_CONTEXT=Production/Heroku
dokku config:set your-app DB_NAME=your-app-db DB_USER=mariadb DB_PASSWORD=super-secret DB_HOST=dokku-mariadb-your-app-db DB_PORT=3306
git remote add dokku dokku@your-dokku-domain.de:your-app
git push dokku master
dokku enter your-app
在每次部署时修剪和导入站点包
小心:这将删除每次重新部署时所有内容。不要在客户工作的测试环境中使用。
dokku config:set your-app PRUNE_AND_IMPORT_SITE=Package.Key
调试和故障排除
检查应用程序状态
dokku ls
访问数据库
如果您想访问数据库进行调试,请运行
dokku mariadb:expose your-app
dokku mariadb:info your-app
使用SequelPro访问
- 连接类型 SSH
- MySQL主机: 127.0.0.1
- 用户名: 从
mariadb:info
获取的用户名 - 密码: 从
mariadb:info
获取的密码 - 端口: 从
mariadb:expose
获取的端口 - SSH主机: dokku.your-domain.de
- SSH用户: you@dokku.your-domain.de
增加容器内存限制
默认情况下,内存限制为512 MB。要增加它,请执行以下操作
- 将 Resources/Private/fpm_custom.conf 复制到您的自己的存储库中,例如,在
./Heroku/fpm_custom.conf
中,并调整内存限制。 - 将 Resources/Private/heroku-start.sh 复制到您的自己的存储库中,例如,在
./Heroku/heroku-start.sh
中,并在最后一个命令中,调整您刚刚复制的fpm_custom.conf
的路径。 - 在您的发行版的
Procfile
中,引用您的自定义启动脚本而不是默认脚本。
待办事项
- 支持gerrit_update.php和gerrit.json