Flynn: A pilha de cedro não consegue construir

Criado em 2 dez. 2017  ·  4Comentários  ·  Fonte: flynn/flynn

Todos os nossos aplicativos Cedar pararam de ser construídos na última semana (não fizemos uma compilação por alguns dias, então não tenho certeza de quando isso começou a acontecer). Se eu encontrei o repositório certo para o buildpack , ele está tentando baixar um arquivo de um bucket do S3 quando retorna esse erro, o arquivo deve ser: https://lang-php.s3.amazonaws.com/dist-cedar- 14-stable/php-min-7.0.26.tar.gz

Este arquivo existe, então não tenho certeza do que está errado aqui ...

λ  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'

Nosso composer.json e Procfile são muito simples:

compositor.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/

Comentários muito úteis

@airways tente usar um buildpack PHP mais recente (por exemplo v127 ) com:

$ flynn env set BUILDPACK_URL=https://github.com/heroku/heroku-buildpack-php.git#v127

Todos 4 comentários

@airways tente usar um buildpack PHP mais recente (por exemplo v127 ) com:

$ flynn env set BUILDPACK_URL=https://github.com/heroku/heroku-buildpack-php.git#v127

@lmars Isso parece ter funcionado. Estou intrigado por que isso seria necessário, a versão não deveria ser atualizada automaticamente? Eu não havia especificado anteriormente o pacote de compilação - foi apenas detectado automaticamente.

Ao usar o Heroku, não precisei atualizar os buildpacks manualmente, o ideal seria que o Flynn se comportasse da mesma maneira. Parece que isso pode ser considerado uma solicitação de aprimoramento (se Flynn não estiver projetado para fazer isso) ou um bug (se já deveria estar fazendo isso).

Estou intrigado por que isso seria necessário, a versão não deveria ser atualizada automaticamente

Cada versão do Flynn usa commits de buildpack específicos (por exemplo, o PHP atual está aqui ). Eles passam pelo sistema Flynn CI para verificar se são compatíveis, mas podem ser atualizados manualmente conforme descrito acima.

Ao usar o Heroku, não precisei atualizar os buildpacks manualmente, idealmente, esperaria que o Flynn se comportasse da mesma maneira

Em última análise, é responsabilidade do gerente de um cluster atualizar (portanto, a Heroku atualiza seus clusters porque você os paga). Nosso objetivo é fornecer as ferramentas para tornar a atualização um processo tranquilo, mas preferimos não ser responsáveis ​​por "atualizações automáticas" que poderiam quebrar clusters sobre os quais nada sabemos.

Isso faz sentido, obrigado pela informação. Eu vou em frente e fecho isso.

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

lmars picture lmars  ·  3Comentários

lmars picture lmars  ·  4Comentários

stela5 picture stela5  ·  5Comentários

WriteCodeEveryday picture WriteCodeEveryday  ·  5Comentários

hadifarnoud picture hadifarnoud  ·  3Comentários