Chapter 4. Red Hat Process Automation Manager supported repositories
Chapter 4. Red Hat Process Automation Manager supported repositories You can use Git repositories and Apache Maven with Red Hat Process Automation Manager. 4.1. Git repositories Git repositories are used internally within Business Central to store all processes, rules, and other artifacts that are created in the authoring environment. Git is a distributed version control system. It implements revisions as commit objects. When you commit your changes into a repository, a new commit object in the Git repository is created. When you create a project in Business Central, it is added to the Git repository that is connected to Business Central. If you have projects in other Git repositories, you can import them into Business Central spaces. You can use Git hooks to synchronize the internal Git repositories with external repositories. 4.2. Apache Maven Apache Maven is a distributed build automation tool used in Java application development to build and manage software projects. You can use Maven to build, publish, and deploy your Red Hat Process Automation Manager projects. Maven provides the following benefits: The build process is easy and a uniform build system is implemented across projects. All of the required JAR files for a project are made available at compile time. A proper project structure is configured. Dependencies and versions are well managed. There is no need for additional build processing because Maven builds output into a number of predefined types, such as JAR and WAR. Maven uses repositories to store Java libraries, plug-ins, and other build artifacts. These repositories can be local or remote. Red Hat Process Automation Manager maintains local and remote maven repositories that you can add to your project for accessing the rules, processes, events, and other project dependencies. When building projects and archetypes, Maven dynamically retrieves Java libraries and Maven plug-ins from local or remote repositories. Doing this promotes sharing and reuse of dependencies across projects.