How to configure BRMS 6 server to use remote git repository to store assets ?
Environment
- Red Hat JBoss BPM Suite (BPMS)
- 6.0.x
- 6.2
- Red Hat JBoss BRMS (BRMS)
- 6.0.x
- 6.2
Issue
- How to configure BRMS server to use remote git repository to store assets ?
- How to configure BRMS to connect to my own GIT Server?
- I get an error when I try to clone from github.
Can't clone repository. java.lang.RuntimeException: java.lang.RuntimeException: ssh://git@github.com:22: org.eclipse.jgit.transport.CredentialItem$YesNoType:The authenticity of host 'github.com' can't be established. RSA key fingerprint is xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx. Are you sure you want to continue connecting?
Resolution
BRMS/BPM Suiteuses a localgitrepository calledKnowledge storeto store each project created through business central console. It connects with theGitrepository that allows users to store different kinds of knowledge assets and artifacts at a single location.BRMS/BPM Suiteuses a localMaven repositoryto store thekjarsgenerated when users click overBuild/Deploybutton. So, there are two kinds of repository .Git repositorywhich is used to store the sources,Maven repositoryto storekjars.
Configuring remote for a local repository
- The
BRMS/BPM SuiteGit repositorydoes not have such feature to automatically send a content to another remoteGit repositorywhenBuild/Deploybutton is clicked from the UI. Users have to pushBRMS/BPM Suiteserver repository assets (i.e. rules , process definitions etc.) to remoteGit repositoryusinggitcommand, like it is shown below.
1) go to .niogit/repository1 folder in the BRMS/BPM Suite installation:
$JBOSS_HOME/bin/.niogit/repository1.git
2) add the Github repo as a remote to that local BRMS Git repository:
git remote add origin git@valid.address/remote_repo.git
3) check if it was added correctly
git remote -v
origin git@valid.address/remote_repo.git (fetch)
origin git@valid.address/remote_repo.git (push)
4) push the content of your local repository to the remote one
git push origin master
Cloning remote repository
1) [Authoring]->[Administration]
2) [Repositories]->[Clone repository]
3) Provide information then click OK
Repository Name: <as you like>
Organization Unit: <as you like>
Git URL: <your-https-url> for example, https://github.com/<username>/<repo-name>.git
User Name: <your-git-username>
Password: <your-git-password>
Using ssh in business-central [Clone repository] has some problems (business-central doesn't support scp style ssh URL. https://bugzilla.redhat.com/show_bug.cgi?id=1299619 also passphrase would cause some problem when you use a basic ssh URL). So use https or git protocol here.
4) Go to the created repository
$ cd $JBOSS_HOME/bin/.niogit/<repo-name>.git
5) Change the remote URL
$ git remote set-url origin git@github.com:<username>/<repo-name>.git
6) Check if it was added correctly
$ git remote -v
origin git@github.com:<username>/<repo-name>.git (fetch)
origin git@github.com:<username>/<repo-name>.git (push)
7) push the content of your local repository to the remote one
git push origin master
Post-Commit Git Hook
Since BRMS 6.2.0, you can add your custom post-commit git hook for further automation. Please refer How to configure git hooks in B*MS 6.2 for more details.
This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.
Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.
