Over a million developers have joined DZone.

How to Use CI/CD to Capture Your API Delivery Process

Continuous Integration, Continuous Delivery, and Continuous Deployment provide a very powerful set of solutions for integration of software changes.

· DevOps Zone

Discover how to optimize your DevOps workflows with our cloud-based automated testing infrastructure, brought to you in partnership with Sauce Labs

Continuous Integration, Continuous Delivery, and Continuous Deployment provide a very powerful set of solutions for integration of software changes.

While the automation of software integration and delivery to development, staging, or production is the primary purpose of CI/CD, these efforts also empower teams to capture knowledge on how to properly build, package, and test an organization’s solutions.

CI/CD for Knowledge Management

In manufacturing or traditional engineering, expert systems have been leveraged in capturing knowledge/best practices for the manufacture of automobiles, airplanes, and other complex assemblies.

In today’s software organizations, delivery of software can have a high degree of complexity as well. For example, in a single Spring-Boot microservice, an organization could be using the following set of technologies to automate delivery:

  • Source Code Management: Git
  • Dependency Management: Apache Maven
  • Language: Spring-Boot
  • Artifact Management: JFrog Artifactory
  • Test Automation: JUnit, Smartbear Ready!API
  • CI / CD Server: Atlassian Bamboo
  • Agile Lifecycle: Atlassian JIRA
  • Infrastructure Automation: Docker / DockerHub
  • Cloud Solutions: AWS EC2 Container Services, AWS RDS, AWS VPC

Each solution provides a part of the “manufacturing” of a Spring-Boot API in AWS. At its core, the CI/CD Server leverages a plan or pipeline to coordinate the activities of monitoring the Source Code Management solution and executing a sequence of steps to eventually deliver the API.

If we dig into each stage within the plan or pipeline, we will see dependency management, artifact management, test automation, and infrastructure automation in action. Explicit definitions or configuration are used to capture rules, policies, and dependencies.

How Do These Tools Help?

In the past, many organizations documented this in a build and run book and had a Release team that executed these steps. Now the artifacts and tools demonstrate this process and thus capture the knowledge necessary to build complex systems.

In addition, the use of Agile tooling provides an audit trail of activities performed to create software and link back to the Source Code Management solution.

What Does This Look Like in Action?

I recently had the opportunity to partner with SmartBear Software on a new educational resource: The Beginner’s Guide to Agile API Development: A Look at DevOps, CI, and CD in API Delivery. In addition to providing an introduction to Agile software delivery methods, I also look at how selecting and implementing the right tools can transform your API delivery strategy.

We look at:

  • Shifts in the API development landscape and the challenges and opportunities they present to organizations seeking to evolve.
  • What is DevOps? How are API teams structured in DevOps organizations?
  • What are Continuous Integration/Continuous Delivery in the context of DevOps? How can you determine which methodology is most suitable for your API team?
  • Best practices for modern software delivery, and a thorough explanation of the tooling that goes along with it.

Interested in learning more? You can download the resource today for free.

Download “The DevOps Journey - From Waterfall to Continuous Delivery” to learn learn about the importance of integrating automated testing into the DevOps workflow, brought to you in partnership with Sauce Labs.

Topics:
continuous integration ,continuous deployment ,continuous delivery ,API

Published at DZone with permission of Chris Riley, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

SEE AN EXAMPLE
Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.
Subscribe

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}