Create custom application

Learn how to create a custom application in Release

This guide provides step-by-step instructions for creating a custom application in Release.

Step 1: Create an application

Log in to your Release account and navigate to Applications. Click Create Application and select Create Custom from the dropdown to start the setup process.

Provide a name for your application. This name will be used in hostnames and for identification purposes in Release.

Next, select the repository and branch that contains your application code. Release will use this repository to analyze and create the initial setup for the application. It’s important to pick the correct branch that holds the latest version of your code.

Select the execution type for the application. If the application needs to run continuously, choose Server. If it only runs on demand, completing tasks as required, select Runnable. Learn more about servers and runnables.

Step 2: Analyze the 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.

Select the branch of the repository and the specific files you want Release to analyze. For example, you might choose the master branch and select files like Dockerfile and docker-compose.yml. These files provide Release with information about your application’s services and dependencies.

Click Start Analysis to have Release scan your repository.

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.

  1. Select or deselect a service by clicking the checkbox next to the service's name.

  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. 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. Once you've selected your services, click Next step.

Step 3: Generate a template

After analyzing your repository, you’ll need to generate an Application template. Release will automatically create a template based on the services and dependencies identified in your repository. You can customize this template to match your application’s requirements.

Alternatively, you can create a custom template from scratch, or use one of Release’s preset templates. For instance, if you’re working with a Node.js application, choose the Node.js preset template.

Customize the default settings for resources such as CPU, memory, and replicas based on the application's requirements to ensure it runs efficiently. For example, you might allocate 1000m CPU and 1Gi of memory.

You can also define any workflows needed for your application here. Workflows may include setup tasks, deployment processes, or other automation steps.

If you're done editing your Application Template, click the Next step button.

Step 4: Set environment variables

Environment variables provide information the application needs, like database connection strings, API keys, and other configuration settings.

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).

For example, you might add the following environment variables:

  • DB_HOST: mysql.example.com

  • DB_USER: root

  • DB_PASS: password123

Edit the environment variables specification and click Next step to proceed.

Learn more about environment variables in Release.

Step 5: Set build arguments

Build arguments are passed to the Release build process. Typically, these would be arguments used in the Docker build process.

To add a new build argument:

  • Click on Add build arg.

  • Enter a Key.

  • Enter a Value.

Repeat these steps for all build arguments you need to add, then click Next Step.

Step 6: Save and deploy

Now you can save and deploy the application.

You have the opportunity to go back to any of the preceding steps to edit your application.

You can return to any of the preceding steps to edit the application. When you're ready, click on the Finish Setup button.

Release will now save your new application template.

Create an environment

You can now create an environment for your application. Click on the Create Environment button to create an environment for your application.

Go to the Create an Environment guide to learn more on how to create an environment for your application.

From the environment detail page, you can click on the hosted URLs for this environment to use your application.

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.

Last updated