Especificar versões do Ruby
O projeto Buildpacks oferece suporte para a versão atual e a versão LTS ativa do Ruby. As versões mais antigas do Ruby estão disponíveis, mas podem não ser mantidas ativamente pelo projeto.
A usar Gemfile.lock
Se a sua aplicação usar o bundler, deve ter o Gemfile.lock na raiz do seu repositório. Os buildpacks do Ruby usam automaticamente uma versão bloqueada no seu Gemfile.lock. Por exemplo, se o seu Gemfile.lock tiver o seguinte:
RUBY VERSION
ruby 3.0.3p0
Os buildpacks usam automaticamente o Ruby 3.0.3, com o nível de patch mais recente.
A usar GOOGLE_RUNTIME_VERSION
Se não estiver a usar o bundler, pode especificar uma versão do Ruby através da variável de ambiente da seguinte forma:
pack build --builder=gcr.io/buildpacks/builder \
sample-ruby \
--env GOOGLE_RUNTIME_VERSION=3.0.3
Também pode usar um descritor de projeto project.toml
para codificar a variável de ambiente juntamente com os ficheiros do projeto. Veja instruções sobre como
criar a aplicação com variáveis de ambiente.
Se estiver a usar o bundler,não é possível usar GOOGLE_RUNTIME_VERSION
para substituir a versão especificada em Gemfile.lock
em RUBY VERSION
.
Instalar dependências
Usar o Bundler
- O Bundler é o gestor de pacotes predefinido
- Confirme
Gemfile.lock
no seu repositório, uma vez que usamos o ficheiro de bloqueio para criar a app - Por predefinição, apenas são instaladas dependências de produção
Versão do agrupador
O Bundler tem problemas de compatibilidade conhecidos.
Se a sua aplicação usar o bundler, devido a vários problemas de compatibilidade com o Ruby e o Rubygems, atualizamos o Gemfile.lock na app criada para usar uma das duas versões suportadas.
Todas as aplicações que usam o agrupador 1.* e 2.* no BUNDLED WITH
são normalizadas para usar o agrupador 1.17.3 e 2.3.15.
Especificar um ponto de entrada
Usar o Procfile
Pode especificar um ponto de entrada, um comando que é executado quando o contentor é iniciado, através do Procfile. Por exemplo, com o seguinte no Procfile na raiz da sua app:
web: ruby main.rb
O buildpack do Ruby usa o comando ruby main.rb
como ponto de entrada do contentor criado.
Por predefinição, é usado o destino web
do Procfile.
Para usar um ponto de entrada diferente, pode especificar um destino diferente do seu Procfile como argumento.
Com um Procfile que contenha o seguinte:
web: ruby main.rb
custom: ruby custom.rb
Pode usar o destino Procfile personalizado transmitindo-o como um argumento:
bash
pack build --builder=gcr.io/buildpacks/builder \
sample-ruby \
--entrypoint=custom
A usar GOOGLE_ENTRYPOINT
Se não estiver a usar um Procfile ou quiser substituir o Procfile, pode especificar um ponto de entrada
usando a variável de ambiente GOOGLE_ENTRYPOINT
. Segue-se um exemplo:
pack build --builder=gcr.io/buildpacks/builder \
sample-ruby \
--env GOOGLE_ENTRYPOINT="ruby custom.rb"
Variáveis de ambiente
O buildpack do Ruby suporta as seguintes variáveis de ambiente para personalizar o seu contentor
BUNDLE_
Consulte a bundler
documentação.
Exemplo: BUNDLE_TIMEOUT=60
define --timeout=60
para comandos bundle
.