Build Methods
Zeet makes it incredibly simple to containerize your application by generating a Dockerfile for your Project, offering support for various Build Methods and Runtimes.
Supported Build Methods and Runtimes
In particular, Zeet provides support for the following Build Methods and Runtimes:
- Node JS
- Next JS
- Node JS Static Site (React, JAMStack)
- Python
- Django
- GoLang
- Elixir
- Dockerfile
- Buildpacks (heroku)
- Custom Builds (Ubuntu)
You can specify the Build Method for your Project during your Project Creation and if you want to modify it afterwards, you can do so in the Build & Run section of your Project Settings.
Heroku Procfile
A Heroku Procfile is a configuration file that specifies the processes or commands to run within a Heroku application dyno. Zeet uses Herokuish to emulate Heroku's build and runtime tasks in containers.
If you are migrating from Heroku to a self-hosted cloud, you can use your Heroku Procfile to build and run your project in Zeet by specifying the Heroku Buildpacks Build Method.
Dockerfile
A Dockerfile is a script that defines how to build a Docker container, specifying the base image, environment, and application setup. If you're not already familiar with Dockerfiles, check out the Dockerfile reference.
You can provide your own Dockerfile by selecting the Dockerfile Build Method. If you don't have one, Zeet will generate a Dockerfile for your Project, which you can view next to your Build Logs in the Overview tab of your project.
Alternative Tag Templates
Zeet enables the use of environment variables from the build step for dynamic image tagging through its Alternative Tag Templates feature. This allows for the customization of image tags, enhancing the management and identification of build images.
Usage
Within the Advanced Settings tab of your project settings on Zeet, you can enter a custom tag template using
environment variables. For instance, by using a template like {PROJECT_NAME}-{GIT_COMMIT_SHA}
, Zeet dynamically
generates tags reflecting your project's name and the specific commit SHA from the build environment. If "MyApp" is your
project's name and "abc123" is the commit SHA, the resulting tag would be "MyApp-abc123".
Variables and Additional Tags
The template can include any environment variables provided during the build, offering flexibility to tailor tags to your project's needs. It's essential to note that alongside any custom tag you specify, Zeet will also assign a default, automatically generated unique tag to each image. This ensures that, in addition to the custom tag which offers readability and context, there's always a unique identifier for every build, providing an additional layer of traceability.