Cisco Switzerland Technology Blog

Cloud Agnostic CI/CD Pipeline for DevOps – #3 Process Steps

Friday, 9 June 2017

Get the insides of CI\CD blueprint process steps.

The last blog gave you an overview about the building blocks of the blueprint. The CI/CD process is managed by a single horizontal layer to trigger the four building blocks {1:Code, 2:Build, 3:Deploy, 4:Consume}. The beauty of this approach is the architecture, as replacing the building blocks with different products is easy. This Blueprint we are showing here is just an example how you can implement the CI/CD process. You have different choices regarding the management layer, source code management, building service engine, deployment service and, of course, the application.

We use Cisco Managed Openstack named Metacloud for the backend provisioning. It is especially helpful  in reducing the complexity of the public cloud integration with CloudCenter products and  enables cloud agnostic deployments in an easy way.

We need to build up several processes and test our applications continuously. The user is able to replace the building blocks of the lab with their own tool chain and/or integrations. We are using AWS CodePipeline as the overall management trigger of the CI/CD processes. It provides visibility and is easy to maintain as a horizontal layer. Here’s how the process works:

  1. The Developer changes code and does the commitment in the Github environment.
  2. The code gets sourced by the Code Pipeline and is available inside of the CI/CD Pipeline.
  3. The application created is a chat client and chat server. The next step builds the application by Jenkins with included Junit tests. The built file is placed in an online storage. If the building procedure is completed without any building or test errors, the pipeline proceeds to the next step.
  4. The created web application archive (.war) is placed on AWS S3 and has a static link. The Web Archive file is installed by CloudCenter automatically into an apache server thru a defined application profile. The application profile holds the link information.
  5. We demonstrate in point eight also how to integrate a chat-server with AVI load balancing solution. This step is used to deploy the chat server from CloudCenter application profile.
  6. The user can freely choose between different deployment targets enabled by CloudCenter. In our lab are AWS and MetaCloud(Cisco Openstack) integrated.
  7. Application development environments have Human Acceptance Tests implemented. Normally they use test-scripts to make sure everything and every time is tested what should be. It’s a simple sheet with test description and checkboxes. The lab user needs to do Q&A testing on the application itself and to integrate the chat-server via AVI Load Balancing service.
  8. The AVI integration enables the possibility of chatting to each other via a load balanced chat server. The chat server stays in the background. The deployed chat client is the endpoint for the user.

Please contact us if you have any questions how to extend this blueprint or integrate a new service. The next blog shows you how to integrate the first building block.

Continue reading


Leave a comment