Skip to main content

Starting a new component

When you create a new component (application, data store, or shared infrastructure), follow this workflow in order, from an empty repository through to a working deployment in a non-production environment.

Before you start

Make sure you have the required access and local setup in place before you begin the numbered flow below:

  • GitHub repo access and team ownership for the product or component, as described in Create a GitHub Repository
  • Jenkins access and the repository topic needed for the organisation scan, as described in Jenkins setup
  • Azure access, VPN access, and the relevant developer tools listed in Onboarding
  • The repo for any shared infrastructure or central configuration that your component depends on
  • A clear target environment for the first deployment, usually preview or AAT

Step 1: Create a new GitHub repository

Create a new GitHub repository.

After completing runtime-specific setup, return to this page and continue with the common steps below.

If you are creating infrastructure-only components, create the repository, skip the runtime-specific setup, and continue with Step 2: Set up Jenkins.

Runtime-specific guidance:

Step 2: Set up Jenkins, including deployment controls

Add the repository to Jenkins, including the GitHub topic that gets it picked up by the organisation scan and the CMP deployment-controls.yml entry that turns on build and deploy stages.

Step 3: Configure GitOps with Flux

We use Flux to deploy applications to AKS. Follow this guidance to configure GitOps with Flux and deploy your app.

Step 4: Set up infrastructure

If your component needs infrastructure such as databases or storage accounts, add infrastructure as code.

Step 5: Set up secrets management

If your component needs secrets, set up secrets management.

Step 6: Configure TLS certificates

If your component is exposed publicly, configure TLS certificates.

Step 7: Configure Public DNS

Configure Public DNS.

Step 8: Configure load balancer

Configure load balancer for backend services.

Step 9: Configure Front Door

Configure Front Door for frontend services.

Step 10: Deploy to a non-production environment and validate

Deploy and validate your first build before moving on to Path to Live for production readiness (environment approvals, OAT, shuttering and health probes).

Optional components

Not every component needs these — add them if your component needs the capability:

Supporting guidance


This page was last reviewed on 29 July 2026. It needs to be reviewed again on 29 January 2027 by the page owner platops-build-notices .