tencent cloud

CODING Continuous Deployment
A continuous, controllable, and automated deployment of artifacts
Overview

CODING-CD is used to control the release, deployment, and delivery processes of software builds. It can seamlessly connect with upstream Git and artifact repositories to realize fully automated deployment. It can also connect to external triggers such as webhooks and conveniently integrate various development and Ops tools. With stable technical architecture and Ops tools, it can easily implement features such as blue/green deployment, grayscale release (canary release), rolling release, and fast rollback.

Benefits
Diverse Artifacts
Docker images, WAR packages, Helm packages, and software source code can be configured as to-be-released artifacts in CODING-CD and then seamlessly connected to CODING-CI and CODING-AR to implement the full process of CI/CD.
Perfect Extension Ecosystem
The CODING-CD console is implemented based on Spinnaker, an open-source project under the Continuous Delivery Foundation. Backed by the global open-source ecosystem, it has gained more cloud native capabilities and convenient extensions.
Flexible Release Process Orchestration
The release process of CODING-CD streamlines continuous deployment. It can easily organize the release process control, process pre-orchestration, and rollback capabilities of multi-microservice applications in multiple different cluster environments (testing, pre-release, and production).
Support for Multiple Operating Environments
With Spinnaker's impeccable abstraction mechanism for infrastructure, CODING-CD can be connected with various common runtime Ops systems and cloud native environments such as CVM, SCF, TKE, and Kubernetes.
Powerful Approval System
The predefined approval process of CODING-CD can make the release process more stable and reliable. You can automatically adapt different approval procedures according to their hierarchical differences. Roles such as tester, product manager, and technical director can be added to the release approval process as needed. Together with the automated procedures and notification mechanism, this feature greatly improves the release process efficiency.
Static Website Service
Static website service is a special feature of CODING-CD. It can deploy the code or project files in your code repository as a static website that supports binding custom domain names and automatically renewing SSL/TLS certificates. This feature can be used to build simple websites such as personal blogs and corporate websites.
Features

CODING-CD can release software artifacts into service clusters continuously, controllably, and automatically and supports multiple release strategies such as blue/green deployment and grayscale release (canary release).


Diverse Artifacts

Docker images, WAR packages, Helm packages, and software source code can be configured as to-be-released artifacts in CODING-CD and then seamlessly connected to CODING-CI and CODING-AR to implement the full process of CI/CD.


Release Process Orchestration

The release process of CODING-CD streamlines continuous deployment. It can easily organize the release process control, process pre-orchestration, and rollback capabilities of multi-microservice applications in multiple different cluster environments (testing, pre-release, and production).


Static Website Deployment

Static website deployment is a special feature of CODING-CD. It can deploy the code or project files in your code repository as a static website that supports binding custom domain names and automatically renewing SSL/TLS certificates. This feature can be used to build simple websites such as personal blogs and corporate websites.


Upstream-Downstream Integration

As an important part of CODING DevOps, CODING-CD deeply integrates the application, release process, posting order, and approval process with CODING-PM, CODING-CR, CODING-CI, and CODING-AR to deliver a better user experience.

On the basis of Spinnaker, CODING-CD also integrates with downstream Ops systems (such as logging, monitoring, and CMDB) to implement a closed DevOps loop.


Relevant Concepts

- Application: a basic release unit that often corresponds to a microservice in the microservice framework. A release process usually upgrades the software version of an application.

- Artifact: a concept subordinate to an application that represents the corresponding software program and its version during the release process. Common artifacts include WAR packages and Docker images.

- Cluster: the operating environment of an application. Usually, an application has several clusters for testing, preproduction, production, etc. A cluster contains application instances, load balancers, and firewalls required for the application to run.

- Release strategy: specifies how the software version changes in large-scale clusters are controlled during the release process. Common strategies include grayscale strategy (canary strategy), rolling strategy, and blue/green strategy.

- Release process: a series of preset process templates for release operations that are often used to control the dependency sequence of different application versions in one release, parallel logic, and serial logic.

- Posting order: the execution process of a release process. The corresponding process is preset by an Ops role in the CODING-CD console and is raised by a development role in the project. The combination of the posting order and the approval process greatly facilitates manual review, audit, and risk management.

- Approval process: a series of preset approval operation templates before the execution of a release process. It can be flexibly associated with different release processes based on time, version, type, etc.

Scenarios
Continuous deployment is the core process of implementing the closed loop of DevOps. CODING-CD makes it easier to manage and control the whole process of DevOps by integrating the upstream and the downstream.
CODING-CD can work together with appropriate technical architectures and Ops tools to achieve blue/green deployment, grayscale release, fast rollback, and other capabilities.
CODING-CD supports human and automated release approval in multiple application scenarios before the release process starts.
Success Stories
Fudan University
Foxconn
Dida Chuxing
ZEGO
MOCKINGBOT
CMGE
C-life
Gengmei
BOCOM Schroders
Mininglamp Technology
BestSign
Lakala
FAQs

What is continuous deployment?

Continuous deployment (CD) refers to the frequent and continuous deployment of software products to production environments in an automated manner during the software development process, so that they can be quickly delivered for use.


What artifact types does CODING-CD support?

It currently supports Docker images and Generic files and will support more types of artifacts such as Helm and WAR packages in the future.


What cluster types does CODING-CD support?

It currently supports Kubernetes, Tencent Cloud CVM, Tencent Cloud TKE, and Tencent Cloud SCF and will support more types of application clusters in the future based on the extension mechanism of Spinnaker.


How do I release source code?

Many common dynamic programming languages have no compilation and build processes. You can configure the Git code repository in the application's pipeline artifact settings to specify the file path and release the source code.