Builder
Docker
Description: Uses a Dockerfile to build the application.
Details:
Usage: Select Docker if your project includes a Dockerfile that specifies how to build your application.
Configuration: Ensure that the Dockerfile is located in the specified Root Directory or adjust the Root Directory accordingly.
Example:
A typical Dockerfile might include:
FROM node:14 WORKDIR /app COPY . . RUN npm install CMD ["npm", "start"]
Additional Information: Docker is a popular containerization tool that allows you to package your application and its dependencies into a container. This container can be run consistently on different environments.
Nixpacks
Description: Automatically detects and builds the application based on source code and configuration files.
Details:
Usage: Select Nixpacks if you prefer an automated build configuration that detects your application's language and dependencies.
Configuration: Ensure that your project includes the necessary configuration files (e.g., package.json for Node.js, requirements.txt for Python).
Example: No specific configuration required in the Root Directory, as Nixpacks automatically detects the environment.
Additional Information: Nixpacks provides a convenient way to build applications without needing a Dockerfile. It supports various languages and frameworks by detecting the appropriate build environment.
Pack
Description: Uses Cloud Native Buildpacks to build your application into a container image.
Details:
Usage: Select Pack if you want to use Cloud Native Buildpacks, which provide a higher-level abstraction over Dockerfiles for building applications.
Configuration:
Ensure your project structure and configuration files are compatible with Buildpacks.
After selecting Pack, choose a provider (Heroku, Paketo, Google Cloud Platform) that best suits your application's needs.
Example:
A typical command to build an image using Pack:
pack build myapp --builder paketobuildpacks/builder:base
Additional Information: Pack is a CLI tool that leverages Buildpacks to transform your application source code into container images. It's designed to simplify the containerization process and provide a consistent build environment.
Provider for Pack
Heroku
Description: Uses Heroku Buildpacks to build the application.
Details:
Usage: Select Heroku if your project is designed to be compatible with Heroku Buildpacks.
Additional Information: Heroku Buildpacks are a collection of scripts for compiling apps on the Heroku platform. They support multiple languages and frameworks.
Paketo
Description: Uses Paketo Buildpacks to build the application.
Details:
Usage: Select Paketo for an open-source implementation of Buildpacks that can be used in various environments.
Additional Information: Paketo Buildpacks provide a set of extensible, modular buildpacks for building applications.
Google Cloud Platform
Description: Uses Google Cloud Buildpacks to build the application.
Details:
Usage: Select Google Cloud Platform if you are building applications for deployment on Google Cloud services.
Additional Information: Google Cloud Buildpacks are designed to support applications running on Google Cloud services, ensuring compatibility and optimized performance.