私の質問に対する完璧な答えは見つかりませんでしたが、ここに問題のある回避策があります。
プロジェクトのルートにProcfileというファイルを作成することで、デフォルトのHerokuブートスクリプト(およびその他多数)をオーバーライドできます。
これがProcfileです:
# run custom boot scirpt
web: sh /app/config/web-boot.sh
このスクリプトがRedmineを起動することをHerokuに通知します。
プライベートリポジトリでBitbucketを使用しているので、SSHキーペアを作成して「config /ssh/」に配置しました。次に、公開鍵をBitbucketアカウントのデプロイ鍵に追加し、Bitbucketの公開鍵を「config / ssh/know_hosts」ファイルに追加しました
'config/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://git@bitbucket.org/[YOUR_ACCOUNT]/[YOUR_REPO].git /tmp/repos/[YOUR_REPO]
git --git-dir=/tmp/repos/[YOUR_REPO] remote add origin ssh://git@bitbucket.org/[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
次に、「/ tmp / repos / [YOUR_REPO]」を指定して、GitリポジトリをRedmineプロジェクトに追加できます。
変更をBitbucketにプッシュするときに、RedmineBitbucketHookプラグインを使用して変更をリポジトリにプルできます。
このように秘密鍵を期待するのは理想的ではありませんが、私の特定のケースでは、この鍵はこのアプリに固有であり、コードリポジトリへの読み取り専用アクセスを取得するためにのみ使用されます。