Search
K
Links

Create an application

You can create unlimited applications on Release.
Note: Free accounts are limited to two environments at a time. If you're on a free account and already have two environments, you'll need to delete one before proceeding with this guide. To create more than two environments, upgrade your account.
The application is a top-level Release concept. One application can have multiple environments.
Thus, before we get to create environments, we need to define an application.
To create an application, first log in to your Release account.
On the bottom-right card, click the create new app button.
The create new app button in Release
This will open a six-step form to help you create your application. The steps are as follows:
  1. 1.
    Create your application: Enter a name and select your repository.
  2. 2.
    Analyze your repository: Let Release scan your repository for services, then select which services to add to your application.
  3. 3.
    Generate a template: Based on the services you selected from your repository, Release generates a template for your application.
  4. 4.
    Set environment variables: Set the default environment variables for your new application.
  5. 5.
    Set build arguments: Set arguments to use when Release builds your application's Docker images.
  6. 6.
    Save and deploy: Deploy your new application.
We'll walk through the steps in more detail below.

Step one: Create your application

A screenshot of step one of the new application form on Release
  1. 1.
    In the Name your application field, enter a name for your new application. Keep the name short and use only alphanumerical characters and hyphens. This name will be used in hostnames.
  2. 2.
    From the Pick your repository dropdown, select your application's repository. If you don't see your repository here, make sure you have added a source control integration and that the Release integration has access to your repository.
  3. 3.
    Click Next step.

Step two: Analyze your repository

Release can analyze your repository to detect services based on Docker Compose files, or package.json for static/node services, or a .release.yaml file for an existing Application Template.
Analyzing your repository for services is the simplest way to get started, but this step is optional. If you're using a repo that contains an existing Release template, you can skip this step by clicking on Next step.
A screenshot of step two of the new application form on Release
  1. 1.
    From the Select branch dropdown, select the branch to analyze. This branch is used only to help Release find services. You can select other branches to build on later when you create environments.
  2. 2.
    Click Select files to open a list of files Release can analyze.
  3. 3.
    From the Select files dropdown, select the files Release should analyze.
  4. 4.
    Click Start Analysis.
Release will now read the files you selected and create a list of services found. Each service has a checkbox, a list of dependencies, and a service type.
A screenshot of step two of the new application form on Release, after analysis
  1. 1.
    Select or deselect a service by clicking the checkbox next to the service's name.
  2. 2.
    Select the service type. Release tries to automatically select the correct service type for each service. This field will only be editable when the service type is ambiguous.
  3. 3.
    Under the dependsOn field, you'll see a list of services that a given service depends on. Release tries to deploy services in parallel to save time, but if a service depends on other services, dependencies will be deployed before this service is deployed.
  4. 4.
    Once you've selected your services, click Next step.

Step three: Generate a template

In this step, we'll define an Application Template. The Application Template acts as a blueprint for new environments in this application.
Release creates a template based on the services you selected in step two. You can edit the template or proceed to the next step.
If you're done editing your Application Template, click the Next step button.
A screenshot of step three of the new application form on Release

Optional: Use an existing Release Application Template file

If you are creating an application from a repository that already has a Release application template defined as a .release.yaml file, you have the option to select this existing template instead of the generated one.
A screenshot of step three of the new application form on Release, showing how to select an existing Release Application Template
  1. 1.
    From the Select branch dropdown, select a branch that contains your existing Release Application Template.
  2. 2.
    From the Select release template file dropdown, select the Release Application Template.
  3. 3.
    Click the Next step button.

Step four: Set environment variables

You can set default environment variables that will be available for all environments for your application. These environment variables consist of a key, a value, and an optional secret flag.
Release will try to import your default environment variables from your Docker Compose file (if selected previously), and interpolate values from a .env file (if present in your repository).
A screenshot of step four of the new application form on Release
Edit the environment variables specification and click Next step to proceed.

Optional: Use an existing Release default environment variables file

If you are creating an application from a repository that already has a Release default environment variables file, you have the option to select this existing file instead of the generated one.
A screenshot of step four of the new application form on Release, showing how to select an existing environment variables file
  1. 1.
    From the Select branch dropdown, select a branch that contains your existing Release default environment variables file.
  2. 2.
    From the Select release env template file dropdown, select the Release default environment variables file.
  3. 3.
    Click the Next step button.

Step five: Set build arguments

Build arguments are passed to Release's build process. Typically, these would be arguments used in the Docker build process.
A screenshot of step five of the new application form on Release
To add a new build argument:
  1. 1.
    Click on Add build arg.
  2. 2.
    Enter a Key.
  3. 3.
    Enter a Value.
Repeat this for all build arguments you would like to add, then click on Next step.

Step six: Save and deploy

You've created your application, and it is now time to save and deploy the application.
A screenshot of step six of the new application form on Release
You have the opportunity to go back to any of the preceding steps to edit your application. Once you're ready, click on the Deploy your app! button.
Release will now build and deploy the first environment for your new application.
A screenshot of the Release deployment process
You can follow along with the deployment process and see the output from each step by clicking one of the steps. If any errors appear during the deployment process, edit the Application Template under the application's settings tab.
Once the deployment completes, click on the Go to environment button to visit the environment detail page.
A screenshot of the completed Release deployment process, with the environment button highlighted
From the environment detail page, you can click on the hosted URLs for this environment to use your application.
A screenshot of the Release environment detail page, with hosted URLs highlighted

What's next? Push an update to your repository to see how Release builds and redeploys your application.

If you push updates to your repository, Release will pull your new code, build your application, and redeploy your environment.

Learn by doing: Example applications

You can follow along with one of our many example apps or spin up one of the boilerplate apps found in our example library.
Note: Release creates an initial ephemeral environment from the Create Application process. After your application is created, you can manually create new environments (including permanent environments) from the Environments page.