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-31-2021 10:09 PM
Thanks a lot

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-01-2021 10:28 PM
Hi @dmiller ,
Thanks for environment variables JSON file.
Unfortunetly, I’m getting error in pipeline: 2.2 Read Assets Error Message: “REST API service endpoint returned error result: status code = 404”
Attaching the screenshot for your referance
Can someone from SL team provide support on this?
Thanks,
DK
