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

Serverless App Engine:SAE の要件に沿ったコードパッケージの作成

最終更新日:Jun 21, 2025

コードパッケージを使用してアプリケーションをデプロイする前に、SAE の要件に沿ったコードパッケージを作成する必要があります。

Java

  1. SAE アプリケーション用の JAR または WAR パッケージの作成は、通常のコードパッケージの作成と同じです。

  2. WAR または JAR パッケージを使用して Java アプリケーションをデプロイする.

PHP

  1. サンプルコードパッケージ hello-sae-php.zip をダウンロードして展開します。ディレクトリ構造は次のとおりです。

    .
    ├── nginx
    │   ├── default.conf
    │   ├── fastcgi_params
    │   └── root.dir
    ├── php # プログラムディレクトリ
    │   ├── index.php # プログラムのエントリファイル
    │   └── phpinfo.php
  2. php/ 内のコードファイルを自分のファイルに置き換えます。

  3. nginx/ 内の構成ファイルを必要に応じて変更します。

    構成項目

    デフォルト値

    変更方法

    ポート

    80

    default.conf ファイルを変更し、server{ } の最初の行に listen <port>;(例: listen 8080;)を追加します。

    プログラムのエントリファイル名

    index.php

    プログラムのエントリファイル名を変更した場合は、次の操作を実行します。

    default.conf で、index index.php index.html index.htm;index <プログラムのエントリファイル名>; に変更し、fastcgi_index index.php;fastcgi_index <プログラムのエントリファイル名>; に変更します。

    プログラムディレクトリ名

    php

    プログラムディレクトリ名を変更した場合は、次の操作を実行します。

    root.dir で、root /home/admin/app/php;root /home/admin/app/<プログラムディレクトリ名>; に変更します。

  4. 現在のディレクトリのコンテンツを ZIP ファイルにパッケージ化します。 nginxphp は ZIP ファイルのルートパスに配置する必要があります。

  5. ZIP パッケージを使用して PHP アプリケーションをデプロイする.

Python

  1. ZIP パッケージ仕様について学習します。

    • コードのルートディレクトリのファイルまたはフォルダをパッケージ化します。外側のディレクトリはパッケージ化しないでください。

    • アプリケーションに requirements.txt がある場合は、ルートディレクトリに配置して一緒にパッケージ化すると、SAE がデプロイ時にソフトウェアの依存関係を自動的にインストールできます。

  2. サンプル hello-sae-python.zip に基づいて、Python アプリケーションを ZIP ファイルとしてパッケージ化します。サンプルのディレクトリ構造は次のとおりです(サンプルコードは Flask、Gunicorn、およびその他のパッケージに依存しています。詳細は requirements.txt を参照してください)。

    .
    ├── app
    │   └── hello.py
    └── requirements.txt (オプション、ルートディレクトリに配置する必要があります)

    次のコマンドを実行します。

    # サンプルを取得する
    wget https://sae-demo-cn-shenzhen.oss-cn-shenzhen.aliyuncs.com/demo/1.0/hello-sae-python.zip
    # サンプルを展開する
    unzip hello-sae-python.zip -d hello-sae-python && rm -rf hello-sae-python.zip && cd hello-sae-python
    # サンプルコードを Python プログラムに置き換える(/path/to/your-python-project/ をプロジェクトパスに置き換える)
    rm -rf app/* requirements.txt
    cp -r /path/to/your-python-project/. app/
    cp -r /path/to/your-python-project/requirements.txt ./
    # ZIP ファイルにパッケージ化する
    zip -r my-python-app.zip app requirements.txt
  3. ZIP パッケージを使用して Python アプリケーションをデプロイする.

.NET Core

  1. ZIP パッケージ仕様について理解します。

    ZIP ディレクトリ

    対応する SAE インスタンスランタイムディレクトリ

    説明

    ./start.sh

    /home/admin/start.sh

    アプリケーションの起動スクリプトを格納します。

    ./your-dotnet-project

    /home/admin/app/nginx/*.conf

    .NET プログラムを格納します。

    • コードのルートディレクトリのファイルまたはフォルダをパッケージ化します。外側のディレクトリはパッケージ化しないでください。

    • アプリケーションに start.sh ファイルなどの起動スクリプトがある場合は、ルートディレクトリに配置して一緒にパッケージ化すると、SAE がデプロイ時に起動スクリプトを自動的に実行できます。

  2. ダウンロード し、インストール します .NET SDK。 SAE でサポートされている .NET Core バージョン を選択し、dotnet --version を実行してインストールを確認します。エラーが発生した場合は、エラーメッセージに表示される対応する依存関係パッケージをインストールします。

  3. 次のコマンドを実行して、プロジェクトをコンパイルおよびビルドします。

    # プロジェクトパスに移動します(/path/to/your-dotnet-project/ をプロジェクトパスに置き換えます)
    cd /path/to/your-dotnet-project/
    # プロジェクトの依存関係を復元する
    dotnet restore
    # ソースコードをコンパイルする
    dotnet build -c Release -o demo
    # -c Release: 実行時のパフォーマンスを向上させるためにコードを最適化し、デバッグ情報を削除します。本番環境へのデプロイに適しています。
    # -o demo: ビルド出力ディレクトリを demo として指定します。
  4. プロジェクトの起動スクリプト(start.sh など)を作成し、chmod +x ./start.sh を使用して実行権限を追加します。

  5. tree コマンドを使用して現在のディレクトリ構造を表示します。

    .
    ├── appsettings.Development.json
    ├── appsettings.json
    ├── appsettings.Production.json
    ├── your-dotnet-project
    ...
    └── start.sh
  6. ZIP ファイルにパッケージ化します。

    zip -r demo.zip *
    # demo.zip: 作成する ZIP ファイルの名前。
    # *: 現在のディレクトリ内のすべてのファイルとフォルダをパッケージ化します。
  7. ZIP パッケージを使用して .NET Core アプリケーションをデプロイする.