Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Info

Refer to the page about location of deployed artifacts for environment information.

...

Guidance on branching strategy presents a typical pattern that we can apply to our work. In a nutshell, the feature branches are for work in progress, the non-versioned branches map to a specific deployment environment and the numbered branches for release and hotfix relate to work in progress on shippable and shipped code respectively. Once code is released, the master branch is tagged with the same release number of the corresponding branch.

2.

...

Environment Creation Steps

  1. Use the infrastructure pipeline to create and publish all Azure services to the correct resource group

  2. Create/update application settings in the app service

    Image RemovedImage Added

  3. Create/update all dashboard key vault values

    Image Added

  4. Create/update the database schema

    Image Added

  5. Create/update all application settings (ie appsettings.<environment>.json) in the solution

  6. Ask cloud group to grant Ensure all API permissions needed by the application in the Azure AD app registration

    Image Removed

  7. Ensure an application role is created so that we can later assign Azure AD user groups to that role

    Image Removed

  8. Navigate have been added

    Image Added

  9. Expose scopes so that other applications can subscribe to them through API permissions. These are the same scopes that are referenced in a client application's app settings for making requests to the service.

    Image Added

  10. Add the application roles so that Azure AD users and groups can be assigned to them. The roles map 1-to-1 with the API scopes that we just exposed.

    Image Added

  11. From the app registration’s Overview settings, navigate to the enterprise application settings and assign Azure AD user groups to a role in the application. Since this is a shared API, there are obviously many more groups to be added. Also notice that 1 entry must be made on a per application role basis.

    Image Added

  12. Deploy the application to the app service using appropriate pipeline

    Image Added

  13. Depending on environment, the app service may need to be set to load the new build of the application by selecting the latest container. In example below, prod is shown and continuous integration is turned off.

    Image Added

3. Release Steps for TEST

  1. Set version of application in appsettings.json and commit to develop branch

  2. Break off your release branch from develop ensuring you are pointing at the correct commit, name it according to version and place it in release directory

  3. Publish the release branch to TEST environment by running the corresponding CI pipeline. You will need to edit the pipeline and set the correct branch to deploy.

    Image Added

4. Release Steps for PROD

  1. Merge the release branch into master branch by submitting a pull request

  2. Once the pull request is complete, tag the master branch with the version of application

    Image Removed

  3. Publish the master branch by running the corresponding CI pipeline. You should not have to edit the pipeline since it should already point to master branch. Simply launch a manual publish of the pipeline.

  4. Log on to App Service and set the image tag to corresponding version that was just built from the pipeline

    Image Added