basysKom Toolbox

02 – Continuous Delivery

Continuous Delivery makes your work visible early

Goals

Regular delivery into production systems. Reduce the cost, time, and risk of delivering changes.

Description

Continuous Delivery and Continuous Integration are related disciplines. Continuous Delivery is the ability to get changes to the users, safely and quickly in a sustainable way . A Continuous Delivery process achieves this by ensuring that code is always in a deployable state even when making changes on a daily basis. Continuous Delivery completely eliminates traditional integration, testing and hardening phases as well as code freezes.

Wikipedia states that it is an approach, in which you deliver software in short cycles. It is about ensuring that the software can be reliably released at any time. It aims at building, testing, and releasing software with greater speed and frequency. Continuous Delivery helps to reduce the cost, time, and risk of delivering changes by allowing for more incremental updates to applications in production. A straightforward and repeatable deployment process is important for continuous delivery.

In contrast to Continuous Integration / Continuous Deployment a Continuous Delivery Process is a manual triggered process.

Environment

Projects with web capabilities

Platform

Web, Embedded, Desktop

Implementation effort

Depends on the size of the project. On web projects it comes usualy with your pipelines – on embedded or desktop projects the primary effort will be the update capabilities on your client software.

Applicability

New Projects, Web Projects.

Caveats

See also

Implementation hints

  • If “on-premise” is a must have a look into Jenkins or gitlab-ci. If the cloud is an option look into Travis or AppVeyor (for Windows) or Circle CI.
  • Traditionally the CI configuration of a project was kept separated from the project itself (often even outside of version control). Placing the CI configuration alongside the actual project nowadays supported by a lot of systems and is adding a lot of control and flexibility. Examples are Jenkins pipelines or Travis yaml files.
About the Toolbox

The basysKom Toolbox is a state-of-the-art collection of best practices in agile management and software development and a valuable tool for every kickoff meeting.

These cards can be used during a project kickoff in order to select best fitting good practices from the very start of your project, but also as a reminder during the course of a project implementation. Every card holds a QR code with additional information related to the specific tool, the tools’ applicability, known constraints and additional tips on how to implement it in a project setup.

You can provide us feedback on GitHub.

Toolbox

basysKom Newsletter

We collect only the data you enter in this form (no IP address or information that can be derived from it). The collected data is only used in order to send you our regular newsletters, from which you can unsubscribe at any point using the link at the bottom of each newsletter. We will retain this information until you ask us to delete it permanently. For more information about our privacy policy, read Privacy Policy