Como especificar versões do Ruby
O projeto de buildpacks fornece suporte para as versões LTS atuais e ativas do Ruby. As versões mais antigas do Ruby estão disponíveis, mas podem não ser mantidas ativamente pelo projeto.
Como usar o Gemfile.lock
Se o aplicativo usar o Bundler, o Gemfile.lock precisará estar na raiz do seu repositório. Os buildpacks do Ruby usarão automaticamente uma versão bloqueada no Gemfile.lock. Por exemplo, se o Gemfile.lock tiver isto:
RUBY VERSION
ruby 3.0.3p0
Os buildpacks usarão automaticamente o Ruby 3.0.3, com o nível do patch mais recente.
Como usar o GOOGLE_RUNTIME_VERSION
Se você não estiver usando o Bundler, será possível especificar uma versão do Ruby usando a variável de ambiente desta maneira:
pack build --builder=gcr.io/buildpacks/builder \
sample-ruby \
--env GOOGLE_RUNTIME_VERSION=3.0.3
Também é possível usar um descritor de projeto project.toml
para codificar a variável de ambiente com os arquivos do projeto. Veja instruções sobre como criar o aplicativo com variáveis de ambiente.
Se você estiver usando o Bundler, a GOOGLE_RUNTIME_VERSION
não poderá ser usada para substituir a versão especificada no Gemfile.lock na RUBY VERSION
.
Como instalar dependências
Como usar o Bundler
- Bundler é o gerenciador de pacotes padrão
- Confirme o
Gemfile.lock
no seu repositório, já que usamos o arquivo de bloqueio para criar o app. - Por padrão, apenas as dependências de produção são instaladas.
Versão do Bundler
O Bundler tem problemas de compatibilidade conhecidos.
Devido a vários problemas de compatibilidade com o Ruby e o RubyGems, se o aplicativo usar o Bundler, atualizaremos o Gemfile.lock no app criado para que use uma das duas versões compatíveis.
Todos os aplicativos que usam o Bundler 1.* e 2.* em BUNDLED WITH
são normalizados para usar o Bundler 1.17.3 e 2.3.15.
Como especificar um ponto de entrada
Como usar o Procfile
Usando o Procfile, é possível especificar um ponto de entrada, um comando executado quando o contêiner é iniciado. Por exemplo, o comando a seguir no arquivo do Procfile na raiz do seu app:
web: ruby main.rb
O buildpack do Ruby usará o comando ruby main.rb
como o ponto de entrada do contêiner criado.
Por padrão, é usado o destino web
no Procfile.
Para usar um ponto de entrada diferente, especifique outro destino como argumento no Procfile.
Com um Procfile contendo este comando:
web: ruby main.rb
custom: ruby custom.rb
É possível usar o destino personalizado do Procfile transmitindo-o como argumento:
bash
pack build --builder=gcr.io/buildpacks/builder \
sample-ruby \
--entrypoint=custom
Como usar o GOOGLE_ENTRYPOINT
Se você não estiver usando um Procfile ou quiser substituir o Procfile, especifique um ponto de entrada usando a variável de ambiente GOOGLE_ENTRYPOINT
. Veja 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 é compatível com as variáveis de ambiente a seguir para personalizar o contêiner.
BUNDLE_
Consulte a documentação do bundler
.
Exemplo: BUNDLE_TIMEOUT=60
define --timeout=60
para comandos bundle
.