海外からのアクセス:www.kdjingpai.com
Ctrl + D このサイトをブックマークする

CNB(Cloud Native Build)はテンセントが立ち上げたクラウドネイティブ開発者向けプラットフォームで、「すべてはコードである」というコアコンセプトを中心に、開発者がよりシンプルで強力な方法でソフトウェアを構築できるようにすることを目的としている。このプラットフォームは、開発からビルド、テストまでのプロセス全体を、宣言型のYAML設定ファイルによって定義・管理する。CNBはDockerエコシステムと深く統合し、コンテナ技術を使用して開発環境、テスト環境、本番環境の一貫性を確保することで、環境の違いによって引き起こされる問題を根本的に解決します。さらに、このプラットフォームは「read-second cloning」技術に基づくリモート開発ソリューションも提供しており、数秒で、十分に設定されたクラウド開発環境を開始することができ、開発効率を大幅に向上させる。

機能一覧

  • コードとしてのパイプラインシンプルで分かりやすいYAML設定ファイルを使って、ビルド・パイプライン全体を定義し、バージョン管理のためにGitに組み込む。
  • 宣言的ビルド環境ビルドに必要なDockerイメージをコンフィギュレーションファイルで明示的に宣言することで、各ビルドが原始的で一貫性のある環境で実行されるようになります。
  • 宣言的ビルド・キャッシュ: 同時ビルドシナリオにおいて、コピーオンライトモードのキャッシュ宣言をサポートし、キャッシュの読み書きの競合を効果的に回避し、ビルド効率を向上させます。
  • 実行環境としてのDocker全てのビルドタスクは指定されたDockerコンテナ内で実行され、Dockerのサンドボックス機構を活用してタスク実行の分離と信頼性を確保します。
  • Dockerベースのプラグイン・エコシステム汎用的な機能をDockerプラグインに抽象化し、Dockerイメージリポジトリを通じて配布することで、開発者は様々なビルド機能を簡単に共有・再利用することができます。
  • コンピューティング・リソースへのオンデマンド・アクセス開発者がコンフィギュレーションファイルで必要なCPUリソースを宣言すると、プラットフォームはその宣言に基づいて最大64コアを動的に割り当てます。
  • リモート・ワークスペースボタンをクリックするだけで、数秒でリモートワークスペースを準備し、リモートアクセスによるコーディングをサポートするクラウドベースの開発環境ソリューションを提供。
  • リード・セカンド・クローニング技術OverlayFSの実装に基づき、100GBを超える大規模なコード・リポジトリも数秒でクローンできるため、開発者は迅速にコーディングに取り掛かることができます。

ヘルプの使用

CNBプラットフォームの中心にあるのは、「すべてがコードである」という設計思想である。ユーザーが行うほとんどすべてのことは、YAML形式の設定ファイルを編集することによって行われる。このファイルは通常、コードリポジトリのルートディレクトリに置かれ、「何をするか」「どのような状況で行うか」を記述します。

コアコンセプト:プロファイル

最も基本的なコンフィギュレーション・ファイルの構造は以下の通り。Node.js 20環境で実行されるシンプルなパイプラインは、バージョンの印刷、依存関係のインストール、テストの実行という3つのステップで構成される。

main:
push:
- docker:
image: node:20
stages:
- node -v
- npm install
- npm test

このファイルをGitリポジトリにコミットすると、CNBは自動的にこのパイプラインを実行します。

主な機能構成の詳細

1.宣言的ビルド環境

タスクごとに異なるDocker環境を指定することができます。cnbは自動的に対応するDockerイメージを取得し、そのステップに達するとコマンドを実行するためのコンテナを作成します。これにより、各ビルドにおいて純粋で一貫性のある環境が保証されます。

たとえば、同じパイプラインで異なるNode.jsバージョンのプロジェクトの互換性をテストできます:

main:
push:
- stages:
- name: "在Node 20环境下运行"
image: node:20
script:
- node -v
- name: "在Node 21环境下运行"
image: node:21
script:
- node -v
  • nameステップの読みやすい名前を設定する。
  • imageこのステップの実行に必要なDockerイメージを指定します。
  • script実行するコマンドのリストを含む。

2.キャッシュの宣言的構築

ビルド・プロセスをスピードアップするために、特に次のようなビルド・プロセスを使用する。npm installこのような時間のかかる依存関係のインストール・ステップでは、キャッシュを設定することが非常に重要である。copy-on-writeモードは、同時実行シナリオに非常に適しており、キャッシュの読み取りと書き込みの競合を効果的に回避できる。

main:
push:
- docker:
image: node:20
volumes:
- node_modules:copy-on-write
stages:
- node -v
- npm install
- npm test
  • volumesキャッシュするディレクトリやファイルをここで宣言します。
  • node_modules:copy-on-write:: への変更を示す。node_modulesディレクトリが有効なコピーオンライト・キャッシング。キャッシュが存在しない場合は通常通り書き込みを行い、キャッシュがすでに存在する場合はキャッシュへのリンクを作成し、実際のコピー操作はファイルが変更されたときにのみ行われる。

3.オンデマンドでの高性能リソースの割り当て

ビルドやテストタスクに高い計算性能が必要な場合(コンパイル、コード解析など)、オンデマンドでより多くのCPUリソースを要求できる。

main:
push:
- runner:
cpus: 64
docker:
image: node:20
stages:
- node -v
- npm install
- npm test
  • runner.cpus最大64コアまで、割り当てたいCPUコア数をここで宣言します。プラットフォームはリソースに基づいて動的に要求を満たします。

4.リモート開発ワークスペースの設定

これはCNBの特別な機能である。設定ファイルでリモート開発環境を定義できます。必要なときに、CNBは「read-second cloning」技術を使って、完全なコードと依存関係を持つクラウド開発環境を数秒で起動します。

$:
vscode:
- runner:
cpus: 64
services:
- vscode
docker:
image: node:20
volumes:
- node_modules:copy-on-write
stages:
- npm install
  • $シンボルは、リモート・ワークスペースの特定の識別子である。
  • 設定が完了したら、CNBプラットフォーム上の対応するリポジトリのCloud Native Developmentボタンをクリックして起動します。プラットフォームがstagesコマンドnpm install)、リモートからアクセスすると、すべての依存関係が準備されていて、すぐにコーディングを始めることができる。

アプリケーションシナリオ

  1. 自動化されたCI/CDアセンブリーライン
    プロジェクトの自動ビルド、テスト、デプロイメントプロセスを設定します。開発者はコードをGitリポジトリにプッシュするだけで、CNBがその後のすべてのプロセスを自動化し、コードの品質と迅速なデリバリーを保証します。
  2. 統一チーム開発環境
    リモートワークスペース機能により、チームメンバー全員が同じ開発環境を使用できるため、「自分のコンピュータで作業している」という典型的な問題を回避し、プロジェクトに新たに参加するメンバーの環境設定にかかるコストを削減できます。
  3. 大規模なコードリポジトリの迅速な開発とレビュー
    大規模なコードベースを持つプロジェクトでは、従来のgit clone数十分以上かかることもあります。CNBのread-second cloningテクノロジーを使えば、開発者やレビュアーは数秒でコードを取得し、完全な環境を立ち上げることができるため、コードレビューやブランチ開発の効率が劇的に向上します。
  4. 高性能コンピューティングを必要とするタスクの構築
    C++のコンパイル、大規模なデータ処理、複雑なエンドツーエンドのテストなど、大量のコンピューティング・リソースを必要とするプロジェクトでは、CNBを通じてオンデマンドでHPCノードを申請し、コストを節約して利用することができる。

品質保証

  1. CNBはどのようなプラットフォームですか?
    CNB(クラウド・ネイティブ・ビルド)は、テンセント・クラウドが発表した開発者向けのクラウド・ネイティブ・ビルド・プラットフォームである。開発者がソフトウェア開発の全プロセスを自動化できるよう支援し、「すべてがコード」というアプローチを通じて効率的なリモート開発環境を提供する。
  2. すべてがコード」の利点とは?
    ビルドとデプロイのプロセスを透明化し、追跡可能にし、管理しやすくする。プロセス全体は、バージョン管理システム(Gitなど)によってコードのように管理され、変更はすべて文書化され、チームメンバーはレビューや修正で協力でき、再利用や移行も簡単にできる。
  3. CNBのリモート・ワークスペースはどのようにして数秒でスタートするのか?
    というプログラムに依存している。git-clone-yydsこの技術はOverlayFSファイルシステムに基づいており、100GBのリポジトリでもオンデマンドで読み込むことができる。コード・リポジトリ全体をダウンロードする代わりに、リモート・リポジトリへのビューを作成し、オンデマンドの読み込みを可能にすることで、100GBのリポジトリであっても数秒で「クローン化」し、ワークスペース用に準備することができる。
  4. CNBは従来のCI/CDツールとどう違うのですか?
    CI/CD機能の提供に加え、CNBは環境の宣言的管理と一貫性を重視し、クラウドネイティブな開発環境を深く統合する。CNBは、開発環境とビルドパイプラインを一連の宣言的な定義構文で統一し、開発からビルドまでの完全なチェーンを開放する。
0ブックマークに登録
0表彰される

AIツールが見つからない?こちらをお試しください!

キーワードを入力する アクセシビリティこのサイトのAIツールセクションは、このサイトにあるすべてのAIツールを素早く簡単に見つける方法です。

トップに戻る

ja日本語