CI/CD を使用して、LinuxONE ベースのプライベート・クラウド内にあるブロックチェーンにチェーンコードをデプロイする

概要

このコード・パターンを使用すると、GitHub に保管されているチェーンコードを IBM Cloud Private 内にデプロイして、LinuxONE 上に事前設定されたブロックチェーン・ネットワーク上でテストできます。また、CI/CD オペレーションを実行し、GitHub 内のチェーンコードに対する変更を自動的に追跡して、ネットワーク上のチェーンコードをアップグレードすることもできます。

説明

このコード・パターンを使用すれば、スマート・コントラクト (チェーンコード) の開発者は GitHub に保管されているチェーンコードをブロックチェーンに直接デプロイし、パターンに付属の Web アプリケーションを使って簡単にテストすることができます。このコード・パターンのブロックチェーン・ネットワークは、IBM Blockchain Platform for IBM Cloud Private の LinuxONE 上に LinuxONE Community Cloud を使用して事前設定されています。したがって、ブロックチェーン・ネットワークをセットアップして管理する負担がなくなるため、開発者はチェーンコードの開発だけに専念できます。テスト用のサンプル・チェーンコードも用意していますが、独自のチェーンコードをデプロイしてテストすることもできます。

このコード・チェーンに付属の Web アプリケーションは、ブロックチェーン・ネットワークのポータルとしての役割を果たします。直感的な GUI が組み込まれているので、ユーザーはこれを使用して、GitHub に保管されているチェーンコードをデプロイし、アップグレードしてからトランザクションやエンティティーのクエリーを実行することができます。

さらに、チェーンコードを対象としたシンプルな自動 CI/CD を試すこともできます。単純な構成手順に従って、GitHub リポジトリー内のチェーンコード変更の自動追跡と、ブロックチェーン・ネットワークへの新しいバージョンのチェーンコードの自動デプロイを有効にすることができます。GitHub Webhook ベースのこのシンプルな CI/CD パイプラインの主な目的は、ブロックチェーンでその機能を紹介し、学習、テスト、早期デプロイ用のプラットフォームとなることです。このパイプラインで知識を得た後は、Jenkins などのよく使われているソリューションをベースとした高度な CI/CD パイプラインを環境内にデプロイすることもできます。本番環境内にチェーンコードをデプロイする前に、継続的インテグレーションおよびテストを含む、首尾一貫した開発手法を実践することをお勧めします。

このコード・パターンは要するに、開発者が事前設定されたブロックチェーン・ネットワーク上で、事前に準備されている CI/CD パイプラインを使用してチェーンコードを構築、開発、テストする際の出発点になります。

フロー

フロー

  1. サンプル・チェーンコード (スマート・コントラクト) を入手します。
  2. 入手したチェーンコードを保管するローカル GitHub リポジトリーを作成します。
  3. LinuxONE Community Cloud 上の Web アプリケーション GUI にアクセスして IBM Blockchain Platform for ICP を操作します。
  4. チェーンコードを事前設定されたブロックチェーン・ネットワークにデプロイし、トランザクションとクエリー処理を実行します。
  5. CI/CD 自動化を有効にしてテストします (任意)。

手順

詳細な手順については、README を参照してください。手順の概要は以下のとおりです。

  1. LinuxONE Community Cloud 上で IBM Blockchain Platform for ICP をプロビジョニングします。
  2. チェーンコードのローカル GitHub リポジトリーを作成します。
  3. チェーンコードをデプロイします。
  4. トランザクションとクエリーを実行します。
  5. CI/CD を有効にします (任意)。