Continuous Integration and Continuous Delivery (CI/CD) is a practice of software development that aims to deliver high-quality code to production frequently and automatically. This practice has become essential for modern software development teams to increase efficiency, reduce errors, and accelerate the release cycle. However, it seems like there is no full CI/CD solution that automatically keeps your technical documentation up to date.
As a developer, creating documentation and keeping it up to date is a boring process that takes time and effort, but it is critical for smooth project management, communication, onboarding, and team collaboration. This is where the ⋮IWConnect Documentation Generator (IWDG) tool comes in. In this blog post, we will show you the benefits of using IWDG within your CI/CD flow.
SnapLogic Code Versioning
The picture below shows how we usually version SnapLogic code using GitHub. We prefer having master, develop, and test branches.
Master is the branch that will hold the version of the code once it is QA approved and ready to be migrated to production. Develop will be used for regular development or in case there are any new features we want to add to the process. The test branch will keep the code that is ready to be tested on the QA environment.
For the production environment, we prefer to use release tags to have a rollback strategy in case something is wrong with the new code deployed to production.
CI/CD and IWDG
In the following diagram, we can see the full CI/CD process including the automated documentation using IWDG.
In this case, we have two GitHub automated flows that are triggered on a pull request.
- Pull from feature to develop will trigger the first flow which is deploying the code to the SnapLogic Test environment and running some test pipelines.
- Pull from develop to the master branch will trigger the second flow which is more complex and involve the following steps:
1. Create a release tag from the master branch.
2. Push the release tag to the SnapLogic prod environment.
3. Execute smoke test pipelines.
4. Execute the IWDG process that will automatically create/update the documentation for the project in Confluence.
Benefits of SnapLogic CI/CD
The benefits of CI/CD are numerous and significant. Some of the most notable ones include:
- Improved code quality: CI/CD enables developers to catch and fix bugs and issues quickly and easily before they become more significant problems.
- Faster time to market: CI/CD allows teams to release software faster and more frequently, reducing time to market and increasing customer satisfaction.
- Increased productivity: By automating many of the processes involved in software development, CI/CD frees up developers’ time to focus on more critical tasks, such as writing new code.
- Lower risk: CI/CD helps teams identify and mitigate risks early in the development process, reducing the likelihood of costly mistakes and downtime.
Using ⋮IWConnect Documentation Generator (IWDG) with Github and SnapLogic pipelines is a great way to streamline your project documentation creation and deployment process. The benefits of using IWDG include automated documentation generation and publishing, reduced manual work, and improved project communication and management. Integrating IWDG with Github and SnapLogic pipelines can save you time and effort, ensure that documentation is always up-to-date and accurate, and improve the success of your SnapLogic project.
Authors: Petar Rajchinoski, Aleksandar Angelevski