The automation of build, test and deployment automation has continued to be an important cornerstone of modern software engineering. Continuous integration as well as continuous delivery support development teams to become DevOps teams by sharing responsibility for all aspects of the product lifecycle.
The concepts of CI/CD have a rapidly increasing effect on the operations of software components. Infrastructure-as-code enables the management of infrastructure components in the same way as software components.
At the same time, CI/CD products have evolved to bring the concept of everything-as-code to the world of pipelines. Many products support pipelines to be expressed in code and have adopted YAML to be the language of choice. The advantages of pipeline-as-code include:
Over the last years, containers have revolutionized the way software is developed and deployed. This also applies to CI/CD where container native builds isolate the steps of a pipeline in individual containers. This has enabled CI/CD to profit from the advantages promised by containers:
In former times the release cycle for new features in software applications was months. Planning, Conception, Implementation, Integration, Testing, Deployment were sequential tasks. Most of them were done manually. Integration tests are time consuming and brittle. Deployment was done by specialists with a lot of knowledge buried in their head.
Continuous Integration(CI) and Continuous Deployment(CD) targets improving that situation dramatically.
Continuous Integration (CI) is the practice of testing each change done to your code base automatically and as early as possible.
Continuous Deployment (CD) follows the testing that happens during Continuous Integration and pushes changes to a staging or production system. This makes sure a version of your code is accessible at all times.
Automation is a cornerstone of a great development workflow. Every task that can be done by a machine should be. Automation gives you the time to focus on new features. But the implementation of automated test, integrations and deployments does not come for free.
We use a lot of different tools for the purposes of automated testing, automated integration and deployment. This is only a subset of our toolset.
This is also only a small representation of teams that have automated processes.
Best contact point is the Release Deployment (RD) team _HL_PT_RE@haufe-lexware.com. RD Team provides central services regarding CI/CD for development teams.