MATRIXX Deployment CI/CD Pipeline

MATRIXX provides a continuous integration and continuous delivery (CI/CD) pipeline that updates the parameters used to perform installation and upgrade tasks. This pipeline is split into the following repositories:

  • pipeline-deploy-matrixx-dcp — Use this pipeline to update the repository used to perform the following tasks:
    • Deploy MATRIXX on a new cluster.
    • Upgrade a MATRIXX deployment.
    • Upgrade pricing and configuration.
    • Deploy and upgrade RS Gateway Extensions.
    • Uninstall MATRIXX and clean up the cluster if required.
  • pipeline-deploy-edgw — Use this pipeline to update the repository used to deploy, upgrade, and uninstall an External Diameter Gateway (EDGW). For more information, see the discussion about the EDGW CI/CD pipeline in MATRIXX Diameter Integration.
  • pipeline-test-gateway-edgw — Use this pipeline to update the repository used to run Seagull-based Diameter test for testing your EDGW deployment. This additional reference pipeline is created for anyone who is familiar with Seagull-based load testing.
The steps in the CI/CD process are:
  1. The deployment administrator makes changes to a Helm value file and then performs a Git commit and push to the deployment repository.
  2. Jenkins detects the changes and performs a dry run, which updates the Jenkinsfile with the new parameters from the repository.
  3. When a deployment needs to be installed or updated, the administrator manually kicks off the installation or upgrade. This deployment uses the most recently updated Jenkinsfile.
  4. A Jenkins agent runs the run_install.sh script, which installs or upgrades the deployment using the helm upgrade command. The agent deploys gateways, engines, operators, TRAs, monitoring in stages, and validates the pricing and version of the deployment.
Before you begin, you must have the following:
  • A source code repository for storing pipeline scripts and the Jenkinsfile.
  • A pre-configured EKS Cluster available for the deployment. This pipeline takes the cluster name as an input for deployment with the MATRIXX version to be deployed.
  • A pre-configured NFS drive available for the deployment.
  • MATRIXX images in the image repository. These include:
    • Official base repository images.
    • Sideloader images (RsGatewayExtension, Pricing, or other configuration).
    • Custom EDGW repository images (if you are using EDGW).
  • A Jenkins setup configured and available for running the pipeline. It can be set up on an EC2 node or on an EKS cluster. The Jenkins Agent must be able to connect to the target EKS cluster.