Skip to main content

BYU CI/CD

The CI/CD module for all BYU Mendix Apps

Steps Before Implementing The Module

Prior to using this in your Mendix App you will need to set up 2 things outside of your app:

  1. Create a Standard Change template for your app. This module will open a change request for you when you deploy to production, and will need then name of the template in order to be able to open the request.
  2. Create a Pipeline in ACR. To do this, go to digitalfactory.mendixcloud.com and create a new Pipeline in CI/CD Pipelines. For most intents and purposes, you should be okay to use the default pipelines that it generates for Acceptance and Production. You will generally need one pipeline for acceptance deployments and one for production deployments.

Implementing the module

After you download the module you will notice 2 snippets in the 'useme' folder.

  1. Snip_CICD_Configure
    1. This snippet should be used on your admin configuration page. There are 4 fields you will need to fill out on this snippet to have the module function:
      1. Pipeline Guid: This can be obtained from the pipeline you created in ACR under the API tab
      2. API Key: This is obtained from the app settings on ACR, and is an app wide key. Note that this will only be given to you on the initial creation, and if you lose it you will need to create a new one
      3. Project Id: This is obtained from sprintr.home.mendix.com, and is called "App ID" there. It can be found in General Settings.
      4. TemplateId: This is the internal Id for the standard change template that you made in service now.
  2. Snip_DeployButtons
    1. This snippet should be added to an admin page, it will show a button based on your environment, which will trigger a deploy to acceptance from a local instance of your site, and a deploy to production from the acceptance environment.

Important Notes:

  • Your configuration will not be the same in local and acceptance. because you are deploying to different environments, you will have a different Pipeline GUID for each.
  • The default pipeline is fairly barebones, and you can expand what it does with limitations on what type of warnings ACR can have, and ATS tests as well.