Generating your project and build pipeline
The easiest way to create a new application is using the project bootstrapper. This will create everything you need to get your skeleton project into production.
Bootstrapping the project
The Project Bootstrap process is intended to be a straightforward method by which a standard Github repository can be created by entering a few pertinent details into a form on the Developer Portal.
In time, this will include the Cloud Platforms namespace piece (please see here for details) but for now, a new repository can be created as follows.
This will require a number of parameters to be entered (much like those in projects.json
) - most of which are mandatory (as indicated by an asterisk)
Component Request Form fields
*Github Repository Name**
*Github Repository Description**
The repository must start with hmpps-
, and the name (and description) should follow the Naming Things guide
*Github template repository**
This will select whether the repo is set up as Kotlin or Typescript boilerplate project, or with no template at all.
*Github project visibility**
Most projects should be public, unless there is a specific reason not to do so
*Product (by code number)**
This is so that the project can be related to its product and team.
*Jira product key**
This is the prefix to development projects on Jira, so that commits and PRs can be linked to tickets
*Github Repository Admin Teams**
Github Repository Teams with write permissions
Github Project Teams Branch protection restricted teams
These are comma separated lists that define the teams who can administer, write to and approve PRs on the repository.
*Slack channel for Production release notifications**
*Slack channel for Non-Production release notifications**
*Slack channel for pipeline security notifications**
These are the slack channel names (or preferably IDs) for notifying teams when releases and security scans have completed.
*Non-prod k8s alerts**
*Production k8s alerts**
These are severity labels that are configured within Cloud Platforms Alert Manager to map applications to Slack channels.
Once the form is submitted, it will automatically generate a PR within the hmpps-project-bootstrap repository, and the SRE team will be notified. The PR will be reviewed, and if any changes are required they will get in touch to fix them.
When the PR has been approved and merged, the repository will be automatically created, and the team will let you know it’s ready to go.
- Find the project on GitHub. (Don’t worry about the instructions in the README - we’ll do that next).
- Find the project on Developer Portal to make sure the service catalog entries added.