Usar a plataforma Ruby do - AWS App Runner

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Usar a plataforma Ruby do

A plataforma AWS App Runner Ruby fornece tempos de execução gerenciados. Cada tempo de execução facilita a criação e a execução de contêineres com aplicativos web baseados em uma versão Ruby. Quando você usa um tempo de execução do Ruby, o App Runner começa com uma imagem gerenciada do tempo de execução do Ruby. Essa imagem é baseada na imagem Docker do Amazon Linux e contém o pacote de tempo de execução para uma versão do Ruby e algumas ferramentas. O App Runner usa essa imagem de tempo de execução gerenciada como imagem base e adiciona o código do aplicativo para criar uma imagem do Docker. Em seguida, ele implanta essa imagem para executar seu serviço web em um contêiner.

Você especifica um tempo de execução para seu serviço App Runner ao criar um serviço usando o console do App Runner ou a operação da CreateServiceAPI. Você também pode especificar um tempo de execução como parte do seu código-fonte. Use a runtime palavra-chave em um arquivo de configuração do App Runner que você inclui no seu repositório de código. A convenção de nomenclatura de um tempo de execução gerenciado é. <language-name><major-version>

Para nomes e versões válidos do tempo de execução do Ruby, consulteInformações sobre a versão do tempo de execução do Ruby.

O App Runner atualiza o tempo de execução do seu serviço para a versão mais recente em cada implantação ou atualização de serviço. Se seu aplicativo exigir uma versão específica de um tempo de execução gerenciado, você poderá especificá-la usando a runtime-version palavra-chave no arquivo de configuração do App Runner. Você pode bloquear qualquer nível de versão, incluindo uma versão principal ou secundária. O App Runner só faz atualizações de nível inferior no tempo de execução do seu serviço.

Sintaxe da versão para tempos de execução do Ruby: major[.minor[.patch]]

Por exemplo: 3.1.2

Os exemplos a seguir demonstram o bloqueio de versões:

  • 3.1— Bloqueie as versões principais e secundárias. O App Runner atualiza somente as versões de patch.

  • 3.1.2— Bloqueie uma versão específica do patch. O App Runner não atualiza sua versão de tempo de execução.

Configuração de tempo de execução do Ruby

Ao escolher um tempo de execução gerenciado, você também deve configurar, no mínimo, comandos de compilação e execução. Você os configura ao criar ou atualizar seu serviço App Runner. Você pode fazer isso usando um dos seguintes métodos:

  • Usando o console do App Runner — Especifique os comandos na seção Configurar compilação do processo de criação ou da guia de configuração.

  • Usando a API App Runner — chame a operação CreateServiceou UpdateServiceda API. Especifique os comandos usando os StartCommand membros BuildCommand e do tipo de CodeConfigurationValuesdados.

  • Usando um arquivo de configuração — especifique um ou mais comandos de compilação em até três fases de compilação e um único comando de execução que serve para iniciar seu aplicativo. Há configurações opcionais adicionais.

Fornecer um arquivo de configuração é opcional. Ao criar um serviço App Runner usando o console ou a API, você especifica se o App Runner obtém suas configurações diretamente quando é criado ou de um arquivo de configuração.

Exemplos de tempo de execução do Ruby

Os exemplos a seguir mostram os arquivos de configuração do App Runner para criar e executar um serviço Ruby.

Este exemplo mostra um arquivo de configuração mínimo que você pode usar com um tempo de execução gerenciado por Ruby. Para as suposições que o App Runner faz com um arquivo de configuração mínimo, consulte. Exemplos de arquivos de configuração

exemplo apprunner.yaml
version: 1.0 runtime: ruby31 build: commands: build: - bundle install run: command: bundle exec rackup --host 0.0.0.0 -p 8080

Este exemplo mostra o uso de todas as chaves de configuração com um tempo de execução gerenciado por Ruby.

nota

A versão de tempo de execução usada nesses exemplos é a 3.1.2. Você pode substituí-lo por uma versão que você deseja usar. Para obter a versão mais recente de tempo de execução do Ruby compatível, consulteInformações sobre a versão do tempo de execução do Ruby.

exemplo apprunner.yaml
version: 1.0 runtime: ruby31 build: commands: pre-build: - scripts/prebuild.sh build: - bundle install post-build: - scripts/postbuild.sh env: - name: MY_VAR_EXAMPLE value: "example" run: runtime-version: 3.1.2 command: bundle exec rackup --host 0.0.0.0 -p 4567 network: port: 4567 env: APP_PORT env: - name: MY_VAR_EXAMPLE value: "example"

Esses exemplos mostram o código-fonte de um aplicativo Ruby completo que você pode implantar em um serviço de tempo de execução do Ruby.

exemplo servidor.rb
# server.rb require 'sinatra' get '/' do 'Hello World!' end
exemplo config.ru
# config.ru require './server' run Sinatra::Application
exemplo Gemfile
# Gemfile source 'https://rubygems.org (https://rubygems.org/)' gem 'sinatra' gem 'puma'
exemplo apprunner.yaml
version: 1.0 runtime: ruby31 build: commands: build: - bundle install run: command: bundle exec rackup --host 0.0.0.0 -p 4567 network: port: 4567 env: APP_PORT