tencent cloud

CODING Continuous Deployment
サービスクラスターに対して、ソフトウェア製品を制御可能な状態で、継続的かつ自動的にリリースし、継続的デプロイを実施するように支援します
概要

CODING継続的デプロイ(CODING Continuous Deployment、CODING-CD)は、ソフトウェアをビルドした後のリリースとデプロイ納入プロセスを管理します。上流Gitリポジトリ、アーティファクトリポジトリにシームレスにアクセスして全自動化されたデプロイを実現し、同時にWebhookなどの外部アクセス機能に対応できるため、各種の開発ツール、運用保守ツールを統合しやすくなります。適切な技術アーキテクチャ、運用保守ツールを使用し、ブルーグリーンデプロイメントやグレースケールリリース(カナリアリリース)、ロールバックリリース、クイックロールバックなどの機能を簡単に実現します。

特徴
多岐にわたるビルド製品のリリース
Dockerミラーリング、Warパッケージ、Helmパッケージ、またはソフトウェアのソースコードかを問わず、すべてCODING継続的デプロイで近日リリースされるアーティファクトとして構成されるため、CODING継続的インテグレーションとCODINGアーティファクトリポジトリにシームレスにリンクでき、全フローでのCI/CDを実現します。
完全な拡張エコロジー
CODINGデプロイコンソールは、Continuous Delivery Foundation傘下でのオープンソースプロジェクトのSpinnakerを実現し、その国際化したオープンソースのエコパワーによって、より多くのクラウド本来の機能とアジャイル拡張を獲得しました。
フローレイアウトをフレキシブルにリリース
リリースフローでは、継続的デプロイを流れ作業ライン化して、多くのマイクロサービスを簡単にアレンジし、様々なクラスター環境(テスト、プレリリース、生産)間のリリースフロー制御、プロセス予備レイアウト、エラーロールバック等の機能に応用できます。
複数の運用環境をサポート
インフラ整備に対するSpinnakerの抽象的メカニズムによって、CODING継続的デプロイは、よくある運用時における各タイプの運用保守システムとクラウド本来の環境にリンクできます。例えば、CVM(Cloud Virtual Machine)、SCF(Serverless Cloud Function)、TKE(Tencent Kubernetes Engine)、Kubernetesクラスターなどがあります。
強力なレビューシステム
プレレイアウトしたレビューフローは、リリースプロセスをより安定性と信頼性があるものにします。ユーザーはリリースフローのクラス別に異なるレビューフローに自動的に適合させることで、テスト、製品経理、技術主管などのすべてロールを、ニーズに基づいてリリースのレビュープロセスに組み込み、自動化プロセスと通知メカニズムに結合し、リリースプロセスの効率をより高いものにします。
静的サイトサービス
静的なウェブサイトのサービスは、CODING継続的デプロイの特徴的な機能であり、コードリポジトリのコードまたはプロジェクトファイルを1つの静的サイトにデプロイすることで、カスタムドメイン名、SSL/TLS証明書の自動継続をサポートします。個人ブログや企業の公式サイトなどの簡易サイトの構築にも使用できます。
機能

継続的、制御可能、自動化された方法でソフトウェア製品をサービスクラスターにリリースします。ブルーグリーンデプロイメント、グレーリリース(カナリアリリース)など多くのリリースポリシーをサポートします。


多岐にわたるビルド製品のリリース

Dockerミラーリング、Warパッケージ、Helmパッケージ、またはソフトウェアのソースコードかを問わず、すべてCODING継続的デプロイで近日リリースされるアーティファクトとして構成されるため、CODING継続的インテグレーションとCODINGアーティファクトリポジトリにシームレスにリンクでき、全フローでのCI/CDを実現します。


リリースフローのアレンジ

リリースフローでは、継続的デプロイを流れ作業ライン化して、多くのマイクロサービスを簡単にアレンジし、様々なクラスター環境(テスト、プレリリース、生産)間のリリースフロー制御、プロセス予備レイアウト、エラーロールバック等の機能に応用できます。


静的なウェブサイトのデプロイ

静的なウェブサイトのデプロイは、CODING継続的デプロイの特徴的な機能であり、コードリポジトリのコードまたはプロジェクトファイルを1つの静的サイトにデプロイすることで、カスタムドメイン名、SSL/TLS証明書の自動継続をサポートします。個人ブログや企業の公式サイトなどの簡易サイトの構築にも使用できます。


上流・下流の統合

CODING継続的デプロイは、Tencent CloudのCODING DevOps製品の重要な部分です。将来的にはアプリ、リリースフロー、リリースリスト、審査フローなどのコンテンツと、CODINGのアジャイルなプロジェクト管理、コード管理、継続的インテグレーション、アーティファクトリポジトリを高度に統合して、よりスムーズな使用体験を実現します。

Spinnakerに基づき、CODING継続的デプロイは、下流の運用保守システム(ログシステム、監視システム、CMDBなど)とも統合してDevOpsクローズドループを実現します。


関連コンセプト

- アプリ:基礎になるリリースユニットです。多くの場合、マイクロサービスのフレームワークのマイクロサービスに対応します。1度のリリースプロセスで、1つのアプリのソフトウェアバージョンをアップグレードします。

- アーティファクト:アーティファクトとは、アプリに属する1つのコンセプトであり、リリースプロセスで対応するソフトウェアやそのバージョンを意味します。よくあるアーティファクトにはwarパッケージ、Dockerミラーリングなどがあります。

- クラスター:クラスターとは、アプリを運用する環境のことです。通常1つのアプリにはテストクラスター、プリ生産クラスター、生産クラスターなどいくつかのクラスターがあります。クラスターには、アプリの運用に必要なアプリインスタンス、Cloud Load Balance、ファイアウォールなどのコンテンツがあります。

- リリースポリシー:アプリがリリースプロセスにおいて、何らかのポリシーによって大規模クラスターのソフトウェアのバージョン変更を制御することを意味します。よくあるものに、グレーポリシー(カナリアポリシー)、ロールバックポリシー、ブルー、グリーンポリシーなどがあります。

- リリースフロー:予め設定した一連のリリース操作のフローテンプレートを指します。1度のリリースで様々なアプリのリリースバージョンの前後のリクエスト順やパラレル、シリアルなどのロジックをコントロールするのによく使用されます。

- リリースリスト:リリースフローの実施プロセスを指し、対応するフローは運用保守タイプのロールによってデプロイコンソールでプリセットされます。開発タイプのロールはプロジェクトで提起されます。リリースリストは審査フローと組み合わされており、手動によるレビュー、監査、リスク制御を簡単に行えます。

- 審査フロー:事前に設定した一連のリリースフローを実行する前の審査操作テンプレートを指します。審査フローは、時間、バージョン、タイプなどの状況を基に、様々なリリースフローと関連付けがフレキシブルに行われます。

ユースケース
継続的デプロイはDevOpsのクローズドループを実現するためのコアとなるフローであり、CODING継続的デプロイは上流・下流を統合することによって、DevOpsの全フローの管理制御を実現します。
CODING継続的デプロイは、適切な技術アーキテクチャと運用保守ツールを用いてブルーグリーンデプロイメント、グレーリリース、クイックロールバックといった機能を実現できます。
CODING継続的デプロイは、リリースフローの開始前に複数のシーンでの手動審査と自動審査の実施をサポートします。
お客様事例
Fudan University
Foxconn
Dida Chuxing
ZEGO
MOCKINGBOT
CMGE
C-life
Gengmei
BOCOM Schroders
Mininglamp Technology
BestSign
Lakala
FAQs

継続的デプロイとは何ですか。

継続的デプロイ(Continuous Deployment、略称はCD)とは、ソフトウェア開発プロセスにおいて自動化方式によりソフトウェアを本番環境(production environment)に頻繁かつ継続的にデプロイし、ソフトウェア製品を迅速に納入し使用することです。


CODING継続的デプロイは、どのアーティファクトのタイプをサポートしていますか。

現在、Dockerミラーリング、Genericファイルをサポートしており、将来的には例えば、Helmパッケージ、Warパッケージといったより多くのその他のタイプをサポートできるように拡張していきます。


CODING継続的デプロイはどのクラスタータイプをサポートしていますか。

現在はKubernetes、Tencent Cloud CVM、Tencent Cloud TKE、SCF (Serverless Cloud Function)をサポートしており、将来的にはSpinnakerの拡張メカニズムをベースに、より多くのタイプのアプリクラスターをサポートしていきます。


ソースコードはどのようにリリースされますか。

よく使用される動的言語の多くは、コンパイルとビルドのプロセスがないため、アプリのデプロイフローアーティファクト設定で、Gitコードリポジトリを設定できることは、ファイルパス後にリリースすることを意味します。