CI/CD Solution with Bitbucket

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎04-14-2021 12:00 AM
Submitted by @Linus and @uchohan
The pipelines in this solution are for a proposed CI/CD process.
The implementation and documentation will enable the following capabilities
- Ability to source control any SnapLogic Pipeline, Task and Account
- Commit entire project
- Commit individual asset
- Specify commit message
- Specify branch name
- Automatic Bitbucket project, repository and branch creation
- Automatic Bitbucket CI/CD file upload and Pipeline enablement
- Automatic SnapLogic project space, project and asset creation
- Ability to pull assets from Bitbucket to a SnapLogic project
- Revert changes based on specific branch
- Revert entire project or specific asset
- SnapLogic Compare Pipeline review
- Bitbucket Pull Request creation, approval and merge
- Automatic promotion of assets from development to production
Terminology
- A SnapLogic project space (belongs to a SnapLogic organization) will be mapped to a Bitbucket repository
- A SnapLogic project (belongs to a SnapLogic project space) will be mapped to a Bitbucket repository (belongs to a Bitbucket project)
- Each repository will have 1 or more Bitbucket branches. By default, the master branch will reflect the state of assets in the SnapLogic production organization. Additional branches (feature branches) inherits the master branch and will reflect various new development efforts in the SnapLogic development organization
Developer assets
Each SnapLogic user that should be involved in committing or pulling assets to the Bitbucket space could have its unique and individual assets.
It is recommended that each user duplicates the User_Bitbucket project and replaces User with its unique name.
Although covered in greater detail in the attached PDF, the User_Bitbucket project holds
these four Pipelines, each containing a single Snap:
- Commit Project - Commits any Pipelines, Accounts and Tasks within the specified
SnapLogic project, to the specified branch in Bitbucket - Commit Asset - Commits the specified asset within the specified SnapLogic project, to
the specified branch in Bitbucket - Pull Project - Reads any Pipelines, Accounts and Tasks from the specified branch in the
specified Bitbucket, to the specified project and organization of SnapLogic - Pull Asset - Reads the specified asset from the specified branch in the specified
Bitbucket, to the specified project and organization of SnapLogic
For each Pipeline, each user needs to update the bitbucket_account Pipeline Parameter in the respective Snaps, matching the path to their own Bitbucket Account.
Downloads
Documentation
CI_CD Documentation.pdf (1.3 MB)
For User_Bitbucket project:
Commit Asset.slp (3.5 KB)
Commit Project.slp (3.4 KB)
Pull Asset.slp (3.6 KB)
Pull Project.slp (3.6 KB)
Note: These pipelines all rely on shared pipelines located in a CICD-BitBucket project. Make sure to update the mappings to the pipelines within the CICd-BitBucket project to your location.
For CICD-BitBucket project:
1.0 Main - SL Project to Bitbucket.slp (17.5 KB)
1.1 Create Project and Repo.slp (19.2 KB)
1.2 SL Asset to Bitbucket.slp (14.8 KB)
2.0 Main - Migrate Assets To SL.slp (23.1 KB)
2.1 Upsert Space And Project.slp (16.4 KB)
2.2 Read Assets.slp (29.3 KB)
2.2.1 Upsert Pipeline To SL.slp (12.8 KB)
2.2.2 Upsert Account To SL.slp (17.9 KB)
2.2.3 Upsert Task To SL.slp (21.2 KB)
PromotionRequest.slp (26.0 KB)

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎08-18-2021 07:44 PM
Thanks, @Linus, it was a very much useful post. Can you please please add automation of unit testing here. Thanks, Deepak.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎08-18-2021 07:47 PM
Linus is no longer in this Community, but we will add your suggestion to the list of patterns to create.
Diane Miller

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎08-30-2021 04:19 AM
Hi @dmiller,
In the attached assets, missing a configuration file, named 'cicd_environment_variables.json", Can you please provide that file, I’m very close to rebuild this demo again.
Thanks,
DK
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎08-30-2021 10:23 AM
I compressed the file as this platform won’t let me upload JSON files. Hope this helps.
cicd_environment_variables.json.zip (1.2 KB)
Diane Miller
