Add an Application

Connect a git repository to this environment so Devopness can build and deploy it.

Goal

Add the application before you add configuration files, deploy, or expose it on a public URL.

Prerequisites

  • You can create applications in this environment (application:create)
  • The target project and environment are already selected
  • A credential that can read the repository on your git host

What you need

Source provider

The git host where the repository lives, such as GitHub, GitLab, or Bitbucket. It must match the host used by the credential.

Credential

The OAuth token or access token Devopness uses to clone and read the repository. If the list is empty, create a credential first.

Repository

The repository name in owner/name format, for example acme/api. If the code lives inside a monorepo, set Root directory to the folder you want Devopness to build.

Name

The short name for this application in the environment. This is the name shown in lists and deploy logs.

Programming language, framework, and engine version

The stack Devopness uses to choose default pipeline steps and runtime settings. Examples: Laravel, Django, FastAPI, Spring Boot, Rails, ASP.NET, Express.

Root directory

The folder inside the repository that contains the package manager file for this application, such as package.json, composer.json, Gemfile, pom.xml, or pyproject.toml. Use the subfolder where that file lives. Use / only when the file is at the repository root.

Default branch

The branch Devopness uses when a deploy does not specify another ref (usually main or master).

Install dependencies command / Build command

Optional overrides for how Devopness installs packages and builds artifacts during deploy. Leave the defaults unless your stack needs custom commands.

Using Devopness MCP

Try these prompts in Devopness MCP:

  • "In project acme-platform, Production environment, add an application from GitHub repo acme/api using my acme-github credential."
  • "List applications in Staging, then add the worker repo acme/worker with root directory /apps/worker and default branch main."
  • "Add a Laravel app from acme/billing to Production with the suggested PHP framework settings."

After you save

  1. Add configuration files, for example a .env with database URLs, API keys, and other environment variables
  2. Deploy the application. Devopness links a server on first deploy when needed
  3. Then:
  4. Optional: customize the deploy pipeline or set up deploy on git push

Verify

  • The application appears in the environment list with the expected name and repository
  • The repository and credential match the git host you selected
  • The root directory points to the folder that contains your package manager file

What to consider

Multiple applications in the same environment

Add one application per service when that matches how you release code. This works when your API, frontend, worker, docs site, or SDK share the same environment but need different deploy settings.

Create a new environment when you need separate infrastructure, data, access rules, or release cadence.

Public vs private applications

  • Public (API, web app, marketing site): deploy, then add a virtual host
  • Private (queue worker, internal processor): deploy, then add a daemon or cron job. No virtual host required

Redeploy after configuration changes

If you change configuration files such as .env, deploy again so servers pick up the update.

Common issues

  • No credential in the list: create one for the same source provider
  • Repository not listed: confirm the credential has access to that repo on the git host
  • Deploy fails later at clone step: check Root directory points to the folder with your package manager file
  • You do not see Add Application: confirm you have application:create for this environment

What to do next

Required permissions

To follow this guide, you need the following permissions in the target environment.

Resource TypeRequired Permission
ApplicationAdd

For instructions on how to grant user permissions to an environment, please follow the guide Add a team to an environment.

Edit on GitHub

On this page