すべてのCedarアプリは、先週かそこらでビルドを停止しました(数日間ビルドを行っていないため、いつこれが発生し始めたかはわかりません)。 このエラーが返されたときにS3バケットからファイルをダウンロードしようとしているビルドパックの正しいリポジトリが見つかった場合、ファイルは次のようになります: https : //lang-php.s3.amazonaws.com/dist-cedar- 14-stable / php-min-7.0.26.tar.gz
このファイルは存在するので、ここで何が問題になっているのかわかりません...
λ git push flynn-dev master
Counting objects: 1, done.
Writing objects: 100% (1/1), 185 bytes | 0 bytes/s, done.
Total 1 (delta 0), reused 0 (delta 0)
remote: -----> Building example...
remote: -----> PHP app detected
remote: -----> Bootstrapping...
remote:
remote: ! ERROR: Failed to download minimal PHP for bootstrapping.
remote: Please try again, or contact support if this problem persists.
remote:
remote: ERROR: Build failed: exec: job exited with status 1
To https://git.example.example.com/example.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://git.example.example.com/example.git'
私たちのcomposer.jsonとProcfileは非常に単純です:
composer.json
{
"require": {
"php": "^5.6.0",
"ext-mbstring": "*",
"ext-gd": "*",
"ext-mcrypt": "*",
"ext-redis": "*"
},
"scripts": {
"compile": [
"rm -rf craft/storage/",
"mkdir -p craft/storage/runtime/compiled_templates",
"mkdir -p craft/storage/backups",
"mkdir -p craft/storage/runtime/assets",
"mkdir -p craft/storage/runtime/cache",
"mkdir -p craft/storage/logs",
"mkdir -p craft/storage/sessions",
"chmod -R 0777 craft/storage",
"ls -al craft/storage",
"ls -al craft/storage/runtime",
"ls -al craft/storage/runtime/compiled_templates",
"cp public/dist.htaccess public/.htaccess"
]
}
}
Procfile
web: vendor/bin/heroku-php-apache2 public/
@airwaysは、より新しいPHPビルドパック(例: v127
)を次のように使用してみてください。
$ flynn env set BUILDPACK_URL=https://github.com/heroku/heroku-buildpack-php.git#v127
@lmarsそれはうまくいったようです。 なぜこれが必要になるのか困惑していますが、バージョンを自動的にアップグレードするべきではありませんか? 以前はビルドパックをまったく指定していませんでした。自動検出されただけです。
Herokuを使用する場合、ビルドパックを手動でアップグレードする必要はありません。理想的には、Flynnが同じように動作することを期待します。 このように見えるのは、拡張要求(Flynnが現在それを実行するように設計されていない場合)またはバグ(すでに実行しているはずの場合)と見なすことができます。
バージョンが自動的にアップグレードされるべきではないのに、なぜこれが必要になるのか困惑しています
Flynnの各リリースは、特定のビルドパックコミットを使用します(たとえば、現在のPHPコミットはここにあります)。 これらはFlynnCIシステムを通過して互換性があることを確認しますが、上記のように手動でアップグレードできます。
Herokuを使用する場合、ビルドパックを手動でアップグレードする必要はありません。理想的には、Flynnが同じように動作することを期待します。
最終的には、クラスターのマネージャーがアップグレードする責任があります(したがって、Herokuはクラスターに支払いを行うため、クラスターをアップグレードします)。 アップグレードをスムーズに行うためのツールを提供することを目指していますが、「自動アップグレード」の責任を負わず、何も知らないクラスターを壊してしまう可能性があります。
情報をありがとう、それは理にかなっています。 先に進んでこれを閉じます。
最も参考になるコメント
@airwaysは、より新しいPHPビルドパック(例:
v127
)を次のように使用してみてください。