Deploying from the Deployment Manager interface
The Deployment Manager user interface enables users to efficiently deploy the latest configurations from a source code repository. It provides tools to seamlessly compare, test, and deploy configurations into the specified Zuora tenant.
All deployments, whether performed with Github actions or the deployment manager user interface, will be displayed in the Deployment Manager List View page in Zuora Tenant. The logs will also be available for verifying the deployment.
You can deploy the latest version of templates from the source control repository using the Current Configuration Template functionality. This workflow supports both recently created templates and existing ones stored in the repository. Through the Deployment Manager interface, users can select templates from the desired repository, ensuring alignment with source control systems. The Compare and Deploy workflow ensures seamless integration and validation during the deployment process, simplifying configuration management.
This functionality is applicable whether managing new configurations or updating existing ones. It ensures an efficient, user-friendly experience for maintaining and deploying metadata templates.
- The Deployment Manager team recommends writing Commit Messages to document the purpose of each change. This helps in understanding the history of modifications.
- In this scenario, the compare and deploy workflow can be executed through the deployment manager's user interface.
Deploying metadata from Github Repository
- Navigate to Deployment Manager on the left navigation menu in the Zuora Tenant.
- Click the +New icon to initiate a deployment.
- Select Upload Template.
- In the Type dropdown, select the upload from repository option and enter the following details:
Parameter Value Type Upload the template from the repository or upload from local. Select Token Key The Unique identifier provided at the time of mapping Deployment Manager to Github. Select repository and branch Each repository in Github is tagged to a branch, select the applicable branch File path File path is copied from the Github repo. It is the path of the json file that is stored repo>file name>click on copy path
Commit Message A brief description should be given for maintaining a record in Github, this can be the user story no or any description that will assist in tagging the file versioning and changes The Retrieve button will automatically upload the template from the repository.
An example for copying the file path from Github.
To copy the path of a file named example.py located in the src directory of the main branch of a repository named sample-repo under the username username. Follow the steps given below:
- Navigate to https://github.com/username/sample-repo.
- Find and click on the src directory.
- Click on example.py to open the file.
- The breadcrumb navigation will show: sample-repo / src / example.py.
- The full file path URL will be:
https://github.com/username/sample-r...src/example.py.You can now copy this URL and use it as the file path. If you want to copy the relative path within the repository, you can use the breadcrumb path directly: src/example.py.
Deploying from Github Actions
You can programmatically deploy the latest version of configurations from a source code repository to a target Zuora tenant using GitHub Actions. This approach enables seamless deployment once configurations are tested and verified.
- Github Actions workflow is available and customisable at the user level and not at the organization level.
- Integrate automated testing to validate changes before they are merged. This helps catch issues early and ensures stability. Configuring a workflow in Github Actions may also achieve this framework.
- Product Catalog Deployments are currently not available with Github Actions.
Deploying to Target Tenant with Github Actions
- When a file is stored in the Github repository, the Deployment Manager creates a .github/workflows folder. This folder contains a .yml file designed for triggering deployments to target tenants using GitHub Actions.
- Navigate to the Actions tab in the repository and click on Migrate.
- Select the Run Workflow option, which will display the required parameters.
- Provide the Deployment Name and Template File Path for each deployment. Other parameters (e.g., Tenant ID, Environment, etc.) are auto-populated based on the migrate.yml file configuration.
Customizing the Migrate.yml File for Zuora Landscape
The migrate.yml file is editable, allowing users to tailor it for specific Zuora tenants. Key customizable fields include:
- Client ID and Secret Key: Credentials for authentication.
- Environment: Specifies the target environment (e.g., production or sandbox).
- Tenant ID and Entity ID: Identifiers for the deployment target.
- Template File Path: Path to the configuration file in the repository.
You can duplicate and modify this file for workflows targeting multiple tenants. When duplicating, ensure the file name is updated for clarity and distinction.
Example Parameters for Deployment
Parameter | Value |
Use Workflow from | Select the Branch associated with the repository. |
Deployment Name | Provide a name for the deployment starting with “-”. |
Target Tenant Client id | Capture them from user details. |
Target Tenant Secret Key | Capture them from user details. |
Target Tenant Environment | Capture information from Tenant Details for Github Actions in Deployment Manager. |
Target Tenant id | Capture information from Tenant Details for Github Actions in Deployment Manager. |
Target Tenant Entity id | Capture information from Tenant Details for Github Actions in Deployment Manager. |
Target Tenant User id | Capture information from Tenant Details for Github Actions in Deployment Manager. |
Template File Path | File path is copied from the Github repo. It is the path of the json file that is stored repo>folder>file name>click on copy path. |
When modifying the Migrate.yml file, it is essential to implement syntax validation to check for errors before applying changes. Ensure that all necessary fields are populated and correctly formatted.
To generate a Client ID and Secret Key, navigate to Administration > Manage User in Zuora. Click on your username, provide a name for the Client Name field, and then click Create. This will generate the required credentials for authentication.