Os buildpacks do Google Cloud são um projeto de código aberto que usa o código-fonte do seu aplicativo para transformá-lo em imagens de contêiner prontas para produção. Os buildpacks publicados pelo Google Cloud implementam a especificação de buildpack nativo da nuvem e são projetados para ajudar você a criar e configurar contêineres que podem ser implantados no Google Cloud.
Um buildpack geralmente é responsável por um componente
da linguagem, do conjunto de ferramentas ou do componente do app, como Python, pip
ou um servidor da Web.
Os buildpacks são agrupados em coleções chamadas de builders, que podem analisar o código-fonte do projeto, criar um plano de build e gerar uma imagem de contêiner pronta para implantação.
Conteinerização com buildpacks
Ao implantar e exibir o aplicativo (serviço) ou a função nos produtos Google Cloud sem servidor, o código é empacotado em um contêiner executável usando buildpacks. No Cloud Run, você tem a opção de implantar um contêiner pré-criado ou implantar seu código-fonte para permitir que o Cloud Run gerencie o build do contêiner. Nas funções do Cloud Run e no App Engine, o processo de conteinerização é totalmente gerenciado, o que significa que, quando você implanta o código-fonte, todo o empacotamento e a conversão da imagem do contêiner são feitos para você.
Cada imagem de contêiner é criada com todos os componentes necessários para executar a implantação, incluindo código-fonte, dependências de sistema e biblioteca, dados de configuração e recursos estáticos. Por padrão, os produtos sem servidor do Google Cloud usam os mesmos serviços, incluindo Cloud Build para o pipeline de implantação e Container Registry ou Artifact Registry para armazenamento e gerenciamento de imagens de contêiner.
Ao usar os buildpacks do Google Cloud:
- Os builders e buildpacks são pré-configurados para processar o processo de build e criar uma imagem de contêiner executável para você.
- Os Buildpacks oferecem suporte a várias linguagens de programação e detectam automaticamente o idioma usado no código-fonte.
- Você pode personalizar e estender pacotes de build para instalar outras dependências do sistema. No entanto, o builder padrão pode processar as tarefas comuns exigidas pela linguagem de programação, incluindo a instalação de dependências do repositório de pacotes e o uso do arquivo de dependências comum da linguagem.
Usar buildpacks para conteinerizar seu código
Os Buildpacks podem ser usados local ou remotamente para:
Para linguagens de programação que excluem uma maneira padrão de iniciar um aplicativo,
é possível usar um Procfile
para definir o processo a ser invocado quando um contêiner é iniciado.
Um Procfile
pode ser usado para substituir o processo de início padrão de qualquer
tipo de buildpack, mas é obrigatório para alguns, incluindo
Python.
A seguir
- Builders
- Desenvolver um aplicativo
- Criar uma função
- Saiba mais sobre Buildpacks nativos da nuvem.