CI/CDはソフトウェア開発における手作業のプロセスを自動化することで、エラーを減らし品質を向上させる手法です。本文では、Apidogという使いやすいAPI管理ツールを使って、CI/CDパイプラインを構築する方法を皆さんに紹介します。
CI/CDパイプラインとは
CI/CDパイプラインとは、ソフトウェア開発プロセスを自動化するための方法論です。CIはContinuous Integration(継続的インテグレーション)、CDはContinuous Delivery/Continuous Deployment(継続的デリバリー/継続的デプロイメント)の略称です。CI/CDパイプラインを実装することで、ソースコードの変更があるたびに、自動的にビルド、テスト、リリースプロセスを実行できます。これにより品質を維持しつつ、開発スピードを上げることができるのでしょう。
APIとCI/CD
APIは開発者同士のインターフェースとなるため、頻繁に改善され続ける必要があります。CI/CDは、その作業の繰り返し実行を支えるものになります。APIとCI/CDの関係について以下のように説明できます。
- APIを利用したサービス開発では、APIの定期的な更新が必要不可欠となります。CI/CDはAPIの頻繁な改善と迅速なデプロイを可能にします。
- APIに対する機能テストや負荷テストは、CI/CDツールを使って自動化できます。これによりAPIの品質と安定性が保証されます。
- OpenAPIなどの仕様ファイルからAPIコードを自動生成する場合、CI/CDパイプラインに組み込むことが多いです。仕様変更があればコードも同期して更新できます。
- Kubernetesなどのコンテナオーケストレーションと連携することで、APIを含むマイクロサービスアーキテクチャをCI/CDできます。
- API Gatewayと組み合わせることで、特定のAPIのみを本番環境に反映させるような柔軟なデプロイが実現できます。
- APIのモニタリングとCI/CDを連携させることで、APIの問題点を迅速に把握し、自動的に改善することができます。
このように、高品質なAPIを効率的に提供、更新していくには、CI/CDの活用が欠かせません。Apidogは、一番効果的なAPIライフサイクル管理ツールとして、APIとCI/CDが強力なシナジー効果を発揮できる最高なツールといえます。
Apidog CLIについて
CLI(Command Line Interface)はコマンドラインインターフェースのことで、テキストベースのユーザーインターフェースの一種です。CLIはCI/CDの自動化に欠かせないインターフェースとなっています。
CI/CDのツールやプロセスはしばしばCLIを使って設定および操作されます。例えば、JenkinsやCircleCIなどのCIツールはCLIで管理ができます。また、CI/CDのパイプライン自体もCLIベースで構築することが多いです。シェルスクリプトを使ってビルド、テスト、デプロイの手順を自動化します。
そこで、CI/CDパイプラインを構築するために、Apidog CLIを利用するのが非常に便利です。
CI/CDのため、Apdiog CLIをセットアップ
Apidog CLIをセットアップするための大前提として、Node.jsをパソコンにインストールする必要があります。
- Node.jsのダウンロードとインストール:Node.js の公式サイトにアクセスし、OSに推奨されるバージョン (12 以降)をダウンロードしてインストールします。
- インストールの確認:ターミナルかコマンドプロンプトで
node -v
を利用して、node.js の既存のバージョンを確認し、Node.js がインストールされているかどうかを確認します。
Node.jsをインストールした後、次のステップを参照して、Apidog CLIをインストールすることができます。
ステップ⒈コマンドプロンプトを管理者として実行(Macならターミナル)して、次のコマンドラインを用いてインストールします。
npm install -g apidog- cli
ステップ⒉インストール後、apidog --version
を利用して、インストールが成功されるかどうかを確認します。成功にインストールした場合、数のようにバージョン号が返されます。
そして、Apidog CLIを使って、CI/CDプロセスに組み込むことが可能になります。Apidog CLIを利用することで、開発者はコマンドライン経由でApidogを駆使することができるので、簡単にテストなどの作業を行うことができます。
Apidog CLIで自動テストを行う
それでは、Apidog CLIでシナリオテストを行うには、どうしたらいいですか?次は、そのやり方を詳しく紹介します。
ステップ⒈Apidogを開き、左側メニューから「自動テスト」をクリックして、「+」ボタン→「テストのシナリオを新規作成」の順にクリックすることで、テストシナリオを作成して、テストステップを配置します。
ステップ⒉シナリオテストを作成すると、上部のメニューから「CI/CD」をクリックして「+新規」ボタンをクリックします。
ステップ⒊実行環境などの情報を設定した上、「Apidog CLI」タブに切り替え、「エクスポート」ボタンをクリックして、自動テスト(シナリオテスト)をJSONとしてエクスポートします。
ステップ⒋Macでターミナル、Windowsでコマンドプロンプトを開き、次のようなコマンドラインを使用してシナリオテストを行うことができます。
apidog run examples/sample.apidog-cli.json -r cli,html
ApidogをJenkinsに連携してApidogでCI/CDをより簡単に実現
現在、APIは開発者同士のインターフェースとなるため、アプリ開発の基盤にもなっています。アプリを開発するときに、各APIを利用しなければなりません。そこで、APIの仕様などを頻繁的に変更する場合、CI /CDパイプラインを利用すると、サービスの品質を保証することもできますし、サービスのリリースサイクルを非常に短縮することもできます。
ApidogをJenkinsに連携してCI/CDを実現
ApidogのCI/CD機能を使って、Jenkinsに連携することで、CI/CDをより一層行うことも可能です。
ステップ⒈Apidogを開き、左側メニューから自動テスト→テストシナリオを新規作成の順にクリックして、テストシナリオを手動で配置します。
ステップ⒉上部のメニューからCI /CDをクリックして、「新規」ボタンをクリックすると、Jenkinsでの実行コマンドが表示されます。
このように、ApidogのCI/CD機能を使って、Jenkinsに連携すると、自動テストが簡単に実行されます。
WebhookでAPIに変更がある度に継続的インテグレーションを実現
継続インテグレーションを実現するために、APIの仕様などに変更が生じる度に、自動的にテストを実行する必要があります。特に大規模のプロジェクトは数多くのAPIを保有する場合、どのAPIに何らかの変更があっても、サービス品質を確保するために、自動テストを行う必要があると思います。
Apidogできちんと管理されているAPIに何らかの変更がある場合、Webhook機能を通じてJenkinsに伝えることができますので、一旦APIに変更があると、Jenkins側は変更の通知が受けられ、自動テストを行うことができるようになります。
左側メニューから「共有」→「通知設定」→「サードパーティ連携」の順にWebhookのトリガーイベントを設定してJenkinsに連携できます。
まとめ
この記事では、CI/CDの概要とAPI開発における重要性について説明しました。
CI/CDはソフトウェア開発プロセスを自動化する手法で、品質向上と開発効率化を実現します。APIは頻繁に改善が必要なため、CI/CDは特に重要な役割を果たします。Apidogを利用することで、CLIやWebhook連携によって簡単にCI/CDパイプラインを構築できます。Jenkinsとの連携により継続的インテグレーションも実現可能です。
APIとCI/CDは強力な相性を持ち合わせており、品質とスピードを両立した開発には欠かせない存在です。CI/CDの導入によって、API開発がよりスムーズに進められることをご理解いただけたのではないでしょうか。