Automated Deployments
- Be sure that the application has the Mule Maven Deploy plugin
- Check the following how-to Mule Applications Configurations for CI/CD
- Use Jenkins
- Create a Job per application and per environment
- For the Job Name, follow the same naming convention as the application name defined in Mule Development – Best Practices + the name of the environment
- Configure the Scheduler using cron expressions: e.g. 0 17,21 * * 1-6 (runs every day, Mon – Friday, at 17 and 21 hrs), note that these values are in UTC
- Use the Jenkins OOTB Credentials Vault
- Use snake_case as the naming convention for the Vault properties keys, e.g. db_students_user, db_students_password
- Configure the maven goal
- Include the MUnit directive to execute just unit tests -Dmunit.test=”.*unit-test.xml”
- Configure the MAVEN OPTS based on the specific use case properties and bindings from the Vault
Name | Description | Example |
---|---|---|
-Dcloudhub.mule.version | The Mule Runtime Version | 3.9.0 |
-Danypoint.user | Anypoint Platform User | sandbox-jenkins |
-Danypoint.password | Anypoint Platform Password | $jenkins_anypoint_password |
-Dcloudhub.app.name | CloudHub domain name of the application
Follow the same naming convention as the application name defined in Mule Development – Best Practices + the name of the environment |
sustainability-sys-api-sandbox |
-Danypoint.business.group | Business Group Name | “Central IT” |
-Dcloudhub.environment | Environment Name | Sandbox |
-Dcloudhub.worker.type | Size of the worker(s) specified as one of:
Note that the value is case sensitive. |
Micro |
-Dcloudhub.workers | Number of Workers | 1 |
-Dmule.env | Mule Environment | sandbox |
-Danypoint.platform.client_id | Environment ID | a18c3e84711140cba16e87e5db3183e2 |
-Danypoint.platform.client_secret | Environment Secret | 2aAf104066594A7bAD63D8E2c6e4B528 |
-Druntime.key | The AES 128 key for the Mule Vault | 123456789012345 |
-Dsecure.properties | The properties names to be obfuscated in the CloudHub UI | database.user,database.password |
Extra Properties depending on the use case, the following is just an example | ||
-Ddatabase.user | Sustainability Database User | $db_sustainability_user |
-Ddatabase.password | Sustainability Database Password | $db_sustainability_password |