How-To Build Cloud Agnostic CI/CD Pipeline – #2 Building Blocks
Develop any application and deploy it into any Cloud with the CI/CD Pipeline Blueprint.
The last blog give you a prospect view of the blueprint project. Let’s jump into the Cloud agnostic CI/CD Pipeline. It can consist out of different products. We are using for the process management AWS CodePipeline as trigger of the building blocks. Every building block performs a specific task throughout the process . We decided to build a process that is open and support a wide variation of tools. The blueprint building blocks can be replaced with your preferred tool or already used product. The process management could also be replaced by Jenkins. the next infographics shows the idea and context of the building blocks.
Building Block 1: The first building block is the Source-Code-Management (SCM) system. It will be in our example the public github.com provider. You can also use products like Gitlab for on-prem installation, AWS CodeCommit or similar SCM products from service providers.
Building Block 2: The second building block actually builds our application and performs application internal junit testing via surefire with the maven plugin. In our example, we are using the common tool Jenkins with CodePipeline and S3 integration. The CodePipeline initiates the building process with the AWS sourced code from Github and places the completed application into a S3 bucket.
Building Block 3: The third building block gives you cloud agnostic deployment abilities with the Cisco CloudCenter. The application is deployed into AWS or Metacloud, a Cisco Managed Openstack environment. We are integrating AVI into the whole process to balance the server-client connection that we are using in our example.
Building Block 4: The fourth building block is about manual AVI integration in our client-server architecture. This step is done manually so people can have the chance to see how easy AVI can be configured. The human acceptance test is performed afterwards.
Please watch how the whole process works: