すべてのプロダクト
Search
ドキュメントセンター

Function Compute:Deploy a code package

最終更新日:Aug 30, 2024

このトピックでは、サードパーティの依存関係Nette\Utilsを例として使用して、PHPコードの依存関係をインストールし、コードをパッケージ化し、Function Computeにデプロイする方法を説明します。

準備

  1. テスト用のコードディレクトリを作成し、ディレクトリの名前を指定します。 この例では、mycodeが使用されています。

    • LinuxまたはmacOS

      mkdir -p /tmp/mycodeコマンドを実行し、ディレクトリを作成します。

    • Windows

      Create a folder and name it mycode.

  2. mycodeディレクトリでファイルを作成し、index.phpという名前を付けます。

    次のコードは、ファイルの内容を説明しています。

    <?php
    
    require_once __DIR__ . '/vendor/autoload.php';
    
    use Nette\Utils\Arrays;
    
    function handler($event, $context) {
        return Arrays::contains([1, 2, 3], 1);
    }

Composerを使用して依存関係をインストールし、コードパッケージをデプロイする

前提条件

手順

  1. mycodeディレクトリにcomposer.jsonファイルを作成します。

    次のコードは、ファイルの内容を示しています。

    {
      "require": {
        "nette/utils": "v3.2.5"
      }
    }
  2. mycodeディレクトリでcomposer installコマンドを実行し、依存関係をインストールします。

    実行が完了すると、このディレクトリにcomposer.lockファイルとvendorディレクトリが生成されます。 ダウンロードされた依存関係はvendorディレクトリに保存されます。

  3. mycodeディレクトリ内のすべてのファイルを圧縮します。

    • LinuxまたはmacOS

      mycodeディレクトリに移動し、zip code.zip -r ./* コマンドを実行します。

      説明

      ディレクトリの読み取りおよび書き込み権限があることを確認してください。

    • Windows

      mycodeディレクトリに移動し、すべてのファイルを選択し、ファイルを右クリックして、ファイルをZIPパッケージに圧縮します。

    説明

    作成したindex.phpファイルがパッケージのルートディレクトリにあることを確認します。

  4. Function Computeコンソールで、目的の関数を見つけます。 機能の詳細ページの右上隅にあるコードのアップロードをクリックして、前の手順で取得したZIPパッケージをアップロードします。

    Function Computeコンソールで関数を作成するときに、ZIPパッケージをアップロードすることもできます。 詳細については、「関数を作成します。Creates a function」をご参照ください。

  5. [コード] タブで、[テスト機能] をクリックします。

Serverless Devsを使用して依存関係をインストールし、コードをデプロイする

前提条件

Serverless DevsとDockerのインストール

手順

  1. mycodeディレクトリにs.yamlファイルを作成します。

    ファイルには次の内容が含まれています。

    edition: 1.0.0          #  The version of the YAML syntax. The version complies with the semantic versioning specification.
    name: fcDeployApp       #  The name of the project.
    access: "default"  #  The alias of the key.
    
    services:
      fc-deploy-test: #  The name of the service.
        component: fc  # The name of the component.
        props: # The property value of the component.
          region: cn-shanghai
          service:
            name: fctest
            description: 'test'
            internetAccess: true
          function:
            name: testphp
            description: this is a test
            runtime: php7.2
            codeUri: ./
            handler: index.handler
            memorySize: 128
            timeout: 6
  2. s build -- use-dockerコマンドを実行して、依存関係をインストールします。

    コマンドを実行した後、。sディレクトリはmycodeディレクトリに生成されます。 依存関係と関連コードがにデプロイされます。s/build/artifacts/fctest/testphp/vendorのディレクトリ。

  3. s deployコマンドを実行して、プロジェクトをデプロイします。

    コマンドを実行した後、関数をFunction Computeにデプロイできます。

追加情報

Function Compute のレイヤー機能を使用して依存関係をインストールすることもできます。 詳細については、「レイヤー管理」をご参照ください。