Documentation
The key components of FlashPipe are
- Go binary executable - a Unix-based CLI which provides commands to interact with an SAP Integration Suite tenant
- Docker image - fully contained image that can be used to execute FlashPipe commands in a CI/CD pipeline
- Companion GitHub Action engswee/flashpipe-action - custom action to simplify usage in GitHub Actions workflows
FlashPipe uses the public APIs of the SAP Integration Suite (Cloud Integration & API Management) to automate the Build-To-Deploy cycle. The components are implemented in Go and compiled as Unix executables.
Architecture
FlashPipe can be used on a CI/CD Platform or using the CLI on a local computer (via Docker). Following are the architectural diagrams displaying the interactions between FlashPipe and other components.
Usage | Diagram |
---|---|
CI/CD Platform | |
Local CLI |
Prerequisite
To use FlashPipe, you will need the following
- Access to Cloud Integration on an SAP Integration Suite tenant - typically an Integration Developer permissions are required
- Access to API Management on an SAP Integration Suite tenant - API access only using OAuth
- Access to a CI/CD platform, e.g. Azure Pipelines, GitHub Actions
- Git-based repository to host the contents of the SAP Integration Suite artifacts
Technically, it should be possible to use FlashPipe on any CI/CD platform that supports container-based pipeline execution.
Docker image tags
With major release 3.0.0
, FlashPipe returns to the simpler approach of having a single tag for each version release. Separate full and lite tags are no longer available.
The latest Docker image for FlashPipe is
engswee/flashpipe:3.4.0
For a list of all available images tags, check here.
Rolling tags
Starting from version 3.0.0
, rolling tag latest
is introduced to make it easier to get the latest version. This rolling tag is dynamic and will point to the latest version of the image.
Usage recommendation
- When using FlashPipe in productive pipelines, use an immutable tag (e.g.
3.4.0
) to ensure stability so that the pipeline will not be affected negatively by new version releases. - When using FlashPipe in development pipelines, use rolling tag
latest
to always get the latest version.
Authentication
FlashPipe supports the following methods of authentication when accessing the SAP Integration Suite APIs.
- Basic authentication (only for Cloud Integration)
- OAuth authentication
It is recommended to use OAuth so that the access is not linked to an individual’s credential (which may be revoked or the password might change). For details on setting up an OAuth client for use with FlashPipe, visit the OAuth client setup page.
Usage of CLI
For details on usage of the CLI commands in pipeline steps, visit the Flashpipe CLI page.
Usage examples
Following are different usage examples of FlashPipe on different CI/CD platforms.
- Upload/Deploy designtime artifacts using Azure Pipelines
- Upload/Deploy designtime artifacts using GitHub Actions
- Sync designtime artifacts from Tenant to GitHub using GitHub Actions
- Sync designtime artifacts from GitHub to Tenant using GitHub Actions
- Snapshot Tenant Content to GitHub using GitHub Actions
- Sync APIM artifacts between Tenant and GitHub using GitHub Actions
Archive
For older versions of FlashPipe that are implemented in Java/Groovy, refer to the archive branch of this repository.
Reference
The following repository on GitHub provides sample usage of FlashPipe.