How to Add 3rd Party Library to Provisioned IM
This article explains how to add custom Maven dependencies to your provisioned IM.
Using custom dependencies on provisioned instances grants you enhanced power over your environment's functionality. However, this power comes with a significant responsibility. When incorporating custom dependencies, please be aware of the following:
Responsibility for Compatibility and Upgrades – Introducing custom dependencies means you are responsible for ensuring compatibility with existing systems and any future upgrades. Changes to underlying libraries, frameworks, or software components may necessitate updates to your custom dependencies to maintain optimal performance and security.
Vigilance in Maintenance – Regularly monitor the health and performance of your custom dependencies. Outdated or unmaintained dependencies can lead to vulnerabilities or breakdowns in your system over time.
Testing and Validation – Thoroughly test your custom dependencies in a controlled environment before deploying them to critical systems. Unforeseen interactions or conflicts with existing components can lead to unexpected failures.
Documentation and Communication – Clearly document the usage of custom dependencies, detailing their purpose, version, and any specific integration steps. This documentation helps other team members understand and work with the dependencies effectively.
Security Considerations – Custom dependencies can introduce security vulnerabilities. Ensure that the dependencies you introduce are thoroughly vetted and do not create new attack vectors.
Tracking Upstream Changes – If your custom dependencies rely on open-source projects or external APIs, stay informed about updates and changes in those projects. This helps you stay ahead of potential compatibility issues.
Scalability – Consider how your custom dependencies might affect system scalability. Poorly optimized dependencies can impact the performance and responsiveness of your applications.
By using custom dependencies, you hold the responsibility for maintaining a reliable, secure, and efficient environment. Failing to keep up with updates and compatibility could lead to system instability, performance degradation, or even security breaches. Approach this power with diligence, follow best practices, and remain committed to the ongoing health of your provisioned instances.
Remember, with great power comes great responsibility.
This is what a standard provisioned repository looks like:
How to Add Custom Dependencies
Open pom.xml.
You should see something similar to this:Add the required dependency: edit the file, add the dependency and save it (alternatively, when working locally, commit and push the file).
Wait for the change to be automatically detected and processed, which will result in running several pipelines in the repository. The process can take several minutes. Once done, the instance is automatically restarted and your dependency is working.
Questions & Answers
Q: I don't want to restart the instance every time I add a dependency.
A: Prepare everything locally, develop your integrations, routes, etc. and push everything at once.
Q: Why does it take so long?
A: It builds a special image just for this repository.
Q: What if the pipelines didn’t run after I added a dependency?
A: Create a ticket.
IntegrationManager version 5.8.0