Function Compute の既存の関数のコードと構成を手動で更新するのは、面倒でエラーが発生しやすい作業です。リリースプロセスを改善し、手動操作によるリスクを軽減するために、アプリケーションセンターを使用して既存の Function Compute プロジェクトをデプロイできます。これにより、継続的デプロイメント機能が有効になります。アプリケーションセンターは、プログラム可能で自動化されたビルおよびリリース機能と手動承認を備えたカスタマイズ可能なパイプラインを提供し、クラウド上でプロジェクトをビルドおよびデプロイするのに役立ちます。
前提条件
既存の関数が必要です。詳細については、「関数を作成する」をご参照ください。
このトピックでは、Node.js アプリケーションを例に、アプリケーションセンターを使用してアプリケーションをデプロイする方法を説明します。
関数コードは Git を使用して管理する必要があります。
アプリケーションセンターは、GitHub、Gitee、Codeup、セルフマネージド GitLab などのさまざまな一般的なシナリオをサポートしています。この例の関数コードは GitHub を使用して管理されます。
ステップ 1: ビルドコマンドを準備し、ビルドツールバージョンを確認する
ビルドコマンドの準備
アプリケーションセンターは、関数のビルドに必要な実行環境を提供します。ただし、適応的なビルドおよびパッケージング機能は提供しません。ローカルで行うのと同じビルドおよびパッケージングコマンドをクラウドで実行する必要があります。クラウド環境ではローカルの Windows 環境とは異なる Linux を使用するため、ビルド方法が異なることに注意してください。関数を正しく開発およびビルドする方法の詳細については、さまざまなランタイム用に提供されているデプロイメントパッケージをご参照ください。詳細については、「コード開発の概要」をご参照ください。
このトピックでは Node.js を例として使用します。次のコードは、ローカルで実行するビルドコマンドを示しています。関数コードに基づいて、対応するビルドコマンドを準備する必要があります。これらのコマンドは、アプリケーションセンターでパイプラインを構成するときに使用します。
# npm を使用してビルドします。install コマンドは一般的です。カスタム機能を追加することもできます。
# ビルド要件を満たしていれば、これで十分です。
npm install ./code --production --registry=https://registry.npmmirror.com
# パッケージングには zip コマンドを使用します。s ツールは自動 zip もサポートしています。
# 意図しないコンテンツがパッケージングされるのを避けるため、zip コマンドの使用を推奨します。
# このコマンドはコードをパッケージ化します。圧縮ファイルはルートディレクトリにありますが、他の場所に配置することもできます。
zip code.zip -r ./code/*ビルドツールバージョンの確認
アプリケーションセンターは、ビルド環境に複数のバージョンのビルドツールを統合しています。必要に応じてバージョンを切り替えることができます。このトピックでは Node.js 16 を使用します。このビルドツールバージョンは、アプリケーションセンターでパイプラインを構成するときに使用します。
ステップ 2: s.yaml ファイルを準備する
s.yaml 構成ファイルを使用して、関数のすべての側面を定義できます。s.yaml ファイルをコードリポジトリに配置し、Serverless Devs をデプロイに使用することをお勧めします。
Function Compute の既存の関数については、次のように s.yaml ファイルを準備します。
Function Compute コンソールにログインします。左側のナビゲーションウィンドウで、 を選択します。
上部のナビゲーションバーでリージョンを選択します。[関数] ページで、対象の関数をクリックします。
[関数詳細] ページで [コード] タブを選択し、 をクリックします。[関数設定のエクスポート] ダイアログボックスで [OK] をクリックして、s.yaml ファイルをローカルコンピューターにダウンロードします。
s.yaml ファイルを修正します。修正した s.yaml ファイルをルートディレクトリに配置し、関数コードの Git リポジトリにコミットします。
次の図は、コンピューターにダウンロードされた s.yaml ファイルの内容を示しています。ファイルを次のように修正します:
access: '{{ access }}'行を削除します。codeUriをビルドアーティファクトの実際のパス (例:./code.zip) に変更します。ビルドアーティファクトのパスの詳細については、「ビルドコマンドの準備」をご参照ください。

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

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

アプリケーションセンターによってデプロイされた関数リソースをクリックして、関数コードの更新を表示します。
説明オンライン編集をサポートしていないコードのコード更新は表示できません。
[環境詳細] タブの [リソース情報] セクションで、対応する関数をクリックして関数詳細ページに移動します。[コード] タブを選択して、Git を使用してプッシュされた更新済みのコードを表示します。
関連ドキュメント
パイプラインプラグインを使用して段階的リリースを実装し、公式バージョンを公開する場合は、「fc-canary プラグインを使用して段階的リリースを行う」および「fc-release プラグインを使用して公式バージョンを公開する」をご参照ください。
アプリケーションセンターでテスト、プレリリース、本番環境を作成し、管理を簡素化するために各環境にパイプラインを構成する場合は、「環境を作成する」をご参照ください。