In this blog let us explore how we can seemlessly share Integration Projects across multiple developer environments using Git and WSO2 Integration Studio.
One commonly raising requirement in large scale Integration Projects is the need to share the partial/complete Project artifacts with other developers. So that the other developers can continue the work from where it was left Or work on another part of the project in parallel.
WSO2 Integration Studio is a tool to design, develop, debug, test and deploy your integration flows. It is a drag-and-drop graphical development environment for WSO2 Enterprise Integrator. It aids efficient integration artifact development and accelerates development lifecycles.
The latest version of WSO2 Integration Studio can be downloaded from the link below.
By default the Integration Studion creates the Integration Project files in its workspace. So the natural tendency is to sync the entire workspace into the Git repository, so that the other developer can clone the entire workspace and continue to work on the Project.
We don’t recommend to commit the entire workspace to Git as it contains .metadata file and other files.
The .metadata file contains user-specific (user preferences, dark/light theme etc), OS-specific settings associated with a particular workspace. It will not be compatible Or usable in a different developer’s environment. It is similar to the .idea, .iml and .DS_Store files which we don’t commit to Git by adding them to the .gitignore file.
The recommended way of sharing the Integration Project across developers is through the following steps,
- Add Git plugin to the Integratio Studio (Eclipse Git Plugin)
- Clone the Remote Git repository (Empty repo to which the Integration Project will be pushed) to the local machine (local Git repository) using the Integration Studio Git plugin.
- Export the Project to the local Git repository (Initially the Project is developed in the workspace).
- Commit and Push the Project to the Remote Git repository using the Integration Studio Git plugin.
- Add Git plugin to the Integratio Studion (Eclipse Git Plugin).
- Clone the shared Project from the Remote Git repository to his local machine (local Git repository).
- Import the Project from the local Git repository (without copying the files to the workspace).
- Make changes to the Project, view the Git Diff,Commit and Push changes using the Integration Studio Git plugin.
Following the above steps, now the First Developer has shared the Project with the other developer. But if the first developer continues the development in the workspace (as he/she did earlier) then again he/she need to export the project to local Git repository and follow the steps above.
To avoid this, first developer can Import the Project from the local Git repository directly to the Integration Studio (same as the shared developer did) without copying to the workspace. He/She can then continue working on the Project and Commit each step (without the need for exporting) to the Remote Git repository.
Let’s see this in action blow,
Add Git plugin to the Integratio Studio
Navigate to Window -> Perspective -> Open Perspective -> Other section as show below,
Once the Git plugin is successfully added to the Integration Studion the following icon will be displayed in,
Clone the Remote Git repository
Click on the Git icon in tab and the following window will be opened where we Clone the Remote Git repository,
Export the Integration Project from the workspace to the Local Git repository
Navigate to the File ->Export section.
In the Export window navigate to WSO2 -> Projects Export as File System section as below,
Export the Integration Project to the local Git repository cloned as below,
Commit and Push the Project to the Remote Git repository using the Integration Studio Git plugin.
Now that we have exported the project to the local git location, we need to add the project files to the index to be tracked by Git as below,
Once the files are indexed the projects files will be added to the Git staging area where we can Commit the files.
After commiting all the files we push the files to the Remote Git repository as below,
Import the Project from the local Git repository (without copying the files to the workspace)
Assume that in the new developer environment we have already cloned the Project files from the Git to the local Git repository.
Now, we need to import the local Git repository to the Integration Studio as below,
Navigate to File -> Import section.
In the Import window navigate to WSO2 -> Existing WSO2 Projects into workspace section as below,
Browse the local Git repository location of the Project as the root directory. Make sure to untick the “Copy projects into workspace” section as below,
Make changes to the Project, view the Git Diff, Commit and Push changes
Make some changes to the Project files.
Changed files will be listed under the “Unstaged changes” section of the Git.
We can stage the changes and view the Git Diff and Commit/Revert the changes.
In summary, by following the above mentioned steps developers can seemlessly share the integration project artifacts thorugh Git and continuously develop and push changes to Git.
Thank you for reading.