Function Compute に関数をデプロイしたことがある場合、各リリースのためにコードと構成を手動で更新するのは、手間がかかり、エラーが発生しやすいプロセスであることをご存知でしょう。デプロイメントエクスペリエンスを向上させ、手動介入のリスクを低減するために、Serverless Application Center を使用して、既存の Function Compute プロジェクト用の継続的デプロイメントパイプラインをセットアップできます。Serverless Application Center は、プログラム可能で自動化されたビルドおよびリリース機能、ならびに手動承認ステップを備えたカスタマイズ可能なパイプラインを提供し、クラウド上でプロジェクトをビルドおよびデプロイするのに役立ちます。
前提条件
このトピックでは、Node.js アプリケーションを例として、Serverless Application Center でのデプロイメント手順を説明します。
関数コードが Git で管理されていること。
このトピックの例では、コードが GitHub リポジトリでホストされている関数を使用します。
ステップ 1:ビルドコマンドの準備とツールバージョンの確認
ビルドコマンドの準備
ローカルマシンで行うのと同様に、関数をビルドしてパッケージ化するための特定のコマンドを提供する必要があります。ビルド方法は、ローカルの Windows 環境とクラウドベースの Linux 環境とで異なる場合があることにご注意ください。関数を正しく開発およびビルドする方法の詳細については、「コード開発の概要」をご参照ください。
以下のサンプルコマンドは、ローカルでのビルドプロセスを示しています。Serverless Application Center でパイプラインを設定する際に必要になるため、ご利用の関数のコードに固有のコマンドを準備してください。
# npm ツールを使用してプロジェクトをビルドします。通常は install コマンドですが、必要に応じてカスタムステップを追加できます。
# コマンドはすべてのビルド要件を満たす必要があります。
npm install ./code --production --registry=https://registry.npmmirror.com
# zip コマンドを使用してコードをパッケージ化します。Serverless Devs ツールは自動 zip もサポートしています。
# パッケージに意図しないファイルが含まれるのを防ぐために、zip コマンドを使用することを推奨します。
# このコマンドはコードをパッケージ化し、圧縮ファイルをルートディレクトリに配置します。別の場所に配置することもできます。
zip code.zip -r ./code/*ビルドツールバージョンの確認
Serverless Application Center は、ビルド環境に複数のバージョンのビルドツールを提供しており、必要に応じて切り替えることができます。このトピックでは Node.js 16 を使用します。パイプラインを設定する際に、このビルドツールバージョンを指定する必要があります。
ステップ 2:s.yaml ファイルの準備
s.yaml 設定ファイルを使用して、関数とそのリソースを定義できます。s.yaml ファイルをコードリポジトリに配置し、Serverless Devs ツールを使用してデプロイします。
すでに Function Compute にデプロイされている関数の場合、次の手順に従って s.yaml ファイルを準備します。
Function Compute コンソールにログインします。左側のナビゲーションウィンドウで、 を選択します。
上部のナビゲーションバーでリージョンを選択します。[関数] ページで、対象の関数をクリックします。
関数の詳細 ページで コード タブをクリックし、 を選択します。[設定のエクスポート] ダイアログボックスで OK をクリックして、s.yaml ファイルをローカルコンピューターにダウンロードします。
s.yaml ファイルを修正し、プロジェクトのルートディレクトリに配置してから、Git リポジトリにコミットします。
次の図は、ダウンロードした s.yaml ファイルの内容を示しています。以下の変更を行う必要があります。
access: '{{ access }}'の行を削除します。codeUriの値を、./code.zipなどのビルドアーティファクトの実際のパスに変更します。ビルドアーティファクトのパスの詳細については、「ビルドコマンドの準備」をご参照ください。

複数の関数を定義する必要がある場合は、各関数の s.yaml ファイルをエクスポートしてからマージする必要があります。s.yaml の仕様と複数の関数の宣言方法の詳細については、「YAML 構文と権限管理」をご参照ください。
ステップ 3:アプリケーションの作成
Function Compute コンソールにログインします。左側のナビゲーションウィンドウで、 を選択します。アプリ ページで、アプリケーションの作成 をクリックします。
アプリケーションの作成 ページで、[リポジトリからアプリケーションをインポート] を選択し、[リポジトリタイプ] を GitHub に設定してから、リポジトリの設定を行います。
まだ Serverless Application Center にアカウントへのアクセスを承認していない場合は、画面の指示に従って GitHub コンソールにログインし、必要な権限を付与してください。
[環境設定] セクションで、この例では次の設定を使用します。
パイプライン設定プラン:カスタム設定。
[アプリケーションのデプロイとトリガーモード]:[指定したブランチへのプッシュトリガー]。
[パイプライン環境の選択]:デフォルト実行環境。
パラメーターを設定した後、[デフォルト環境の作成とデプロイ] をクリックしてアプリケーションを作成します。
ステップ 4:パイプラインの設定
アプリケーションの初回デプロイメントは失敗する可能性があります。プロジェクトが正しくビルドされるように、パイプラインのビルドタスクとデプロイタスクを修正する必要があります。パイプラインとその使用方法の詳細については、「基本概念」と「パイプラインの管理」をご参照ください。
アプリケーション詳細ページで、パイプライン管理 タブをクリックします。パイプラインの詳細 セクションで、YAML ファイルを修正してから 保存 をクリックします。次のリストは、この例で行われた修正について説明しています。
パイプラインプラグインを使用して Serverless Devs ツールを初期化し、コードをプルします。
runtime-setup プラグインを使用してビルドツールバージョンを指定します。ビルドツールバージョンの詳細については、「ビルドツールバージョンの確認」をご参照ください。
OSS キャッシュプラグインを使用してビルドを高速化するには、NPM ビルドプロセスのキャッシュパスを設定します。
準備したビルドコマンドを使用して code.zip パッケージを作成します。詳細については、「ビルドコマンドの準備」をご参照ください。
ビルドプラグインを使用してリソースをデプロイします。

ステップ 5:継続的デプロイメントの検証
コードの変更をリポジトリの master ブランチにプッシュします。この操作によりパイプラインがトリガーされ、変更が自動的に Function Compute にデプロイされます。
パイプライン管理 タブの パイプライン実行履歴 セクションで実行の詳細を表示できます。

Serverless Application Center によってデプロイされた関数リソースでコードの更新を検証できます。
説明オンライン編集をサポートしていない関数では、コードの更新を表示できません。
環境の詳細 タブで、リソース情報 セクションでご利用の関数を見つけてその名前をクリックします。関数の詳細ページで、コード タブをクリックして、Git プッシュによる更新されたコードを表示します。
関連ドキュメント
カナリアリリースと本番リリースにパイプラインプラグインを使用するには、「fc-canary プラグインを使用したカナリアリリース」および「fc-release プラグインを使用した本番バージョンのリリース」をご参照ください。
Serverless Application Center で、管理を容易にするためにそれぞれ独自のパイプラインを持つ個別のテスト、ステージング、本番環境を設定するには、「環境の作成」をご参照ください。