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.
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).
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.
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 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.
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.
- 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.
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.
It currently supports Docker images and Generic files and will support more types of artifacts such as Helm and WAR packages in the future.
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.
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.