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.