我還沒有找到我的問題的完美答案,但這裏有一個確定的解決方法。
您可以通過在項目的根目錄下創建名爲Procfile的文件來覆蓋默認的Heroku引導腳本(以及更多)。
這裏的Procfile:
# run custom boot scirpt
web: sh /app/config/web-boot.sh
它講述的Heroku,該腳本靴子管理平臺。
我使用Bitbucket的私有存儲庫,所以我創建了一個SSH密鑰對並將它們放在'config/ssh /'中。然後,我添加了公鑰給我的到位桶帳戶的部署密鑰和補充到位桶的公鑰來我的「配置/ SSH/know_hosts」文件
這裏的「配置/ web-boot.sh」文件:
# move ssh keys
mkdir /app/.ssh
cp /app/config/ssh/* /app/.ssh/
# git clone code repos
mkdir /tmp/repos
# Do this for every repo you want to clone
git clone --bare ssh://[email protected]/[YOUR_ACCOUNT]/[YOUR_REPO].git /tmp/repos/[YOUR_REPO]
git --git-dir=/tmp/repos/[YOUR_REPO] remote add origin ssh://[email protected]/[YOUR_ACCOUNT]/[YOUR_REPO].git
git --git-dir=/tmp/repos/[YOUR_REPO] fetch origin
# run Unicorn http server
cd /app
bundle exec unicorn -p $PORT -c ./config/unicorn.rb
然後,你可以通過指定剛纔添加的Git倉庫到你的管理平臺項目「的/ tmp /回購/ [YOUR_REPO]」
您可以使用Redmine Bitbucket Hook plugin拉資料庫修改時,您將更改推送到到位桶。
這是不理想的,有這樣一個私人鑰匙,但在我的具體情況下,這個密鑰是唯一的這個應用程序,只用於獲得只讀訪問我的代碼庫。
來源
2013-02-27 02:16:18
Jim
Heroku的文件系統不是隻讀的。但是,如果寫入非臨時性數據以外的任何內容,確實會因可擴展性要求而導致問題。 –