Buildpacks do Google Cloud

Os buildpacks do Google Cloud são um projeto de código aberto que usa o código-fonte da sua aplicação e o transforma em imagens de contentores prontas para produção. Os buildpacks publicados pela Google Cloud implementam a especificação de buildpack nativo da nuvem e foram concebidos para ajudar a criar e configurar contentores que pode implementar no Google Cloud.

Normalmente, um buildpack é responsável por um componente de linguagem, um conjunto de ferramentas ou um componente de app, como Python, pip ou um servidor Web. Os buildpacks são agrupados em coleções denominadas criadores que podem analisar o código-fonte do projeto, criar um plano de compilação e gerar uma imagem de contentor pronta para implementação.

Contentorização com buildpacks

Quando implementa e publica a sua aplicação (serviço) ou função nos produtos Google Cloud sem servidor, o seu código é incluído num contentor executável através de buildpacks. No Cloud Run, tem a opção de implementar um contentor pré-criado ou implementar o seu código fonte para permitir que o Cloud Run faça a gestão da compilação do contentor. Nas funções do Cloud Run e no App Engine, o processo de contentorização é totalmente gerido, o que significa que, quando implementa o seu código fonte, todo o processo de criação de pacotes e conversão de imagens de contentores é feito por si.

Cada imagem do contentor é criada com todos os componentes necessários para executar a sua implementação, incluindo código fonte, dependências do sistema e da biblioteca, dados de configuração e recursos estáticos. Por predefinição, os Google Cloud produtos sem servidor usam os mesmos serviços subjacentes, incluindo o Cloud Build para o pipeline de implementação, e o Container Registry ou o Artifact Registry para o armazenamento e a gestão de imagens de contentores.

Quando usar os buildpacks do Google Cloud:

  • Os criadores e os buildpacks estão pré-configurados para processar o processo de criação e criar uma imagem de contentor executável para si.
  • Os buildpacks suportam várias linguagens de programação e detetam automaticamente o idioma usado no seu código-fonte.
  • Pode personalizar e expandir os buildpacks para instalar dependências adicionais do sistema. No entanto, o criador predefinido pode processar as tarefas comuns necessárias para a sua linguagem de programação, incluindo a instalação de dependências do repositório de pacotes da linguagem e a utilização do ficheiro de dependências comum da linguagem.

Use buildpacks para colocar o seu código em contentores

Os buildpacks podem ser usados local ou remotamente para:

Para linguagens de programação que excluem formas padrão de iniciar uma aplicação, pode usar um Procfile para definir o processo a invocar quando um contentor é iniciado. Pode usar um Procfile para substituir o processo de início predefinido para qualquer tipo de buildpacks, mas é obrigatório para alguns, incluindo o Python.

O que se segue?