クイックスタート: Cloud Source Repositories から Cloud Functions へのデプロイ

このトピックでは、Cloud Source Repositories でバージョン管理されているコードを使用して、Cloud Functions をデプロイする方法について説明します。

Cloud Source Repositories に Cloud Functions を統合することで、Cloud Source Repositories を使用して、独自の関数が含まれるコードをバージョン管理できます。時間の経過に伴って関数が変更されても、引き続き以前の commit にアクセスして、関数がいつどのように変更されたのかを知ることができます。

始める前に

  1. リポジトリの作成クイックスタートの手順を完了します。

  2. Cloud Functions API を有効にします。

    API を有効にする

関数をリポジトリに追加する

  1. ローカルマシン上の hello-world リポジトリのルート ディレクトリに移動します。

    cd hello-world/
    
  2. 関数コードで使用するため、ローカル システムにディレクトリを作成します。

    Linux または macOS

    ディレクトリを作成します。

    mkdir ~/gcf_hello_world

    作成したディレクトリに移動します。

    cd ~/gcf_hello_world

    Windows(CMD)

    ディレクトリを作成します。

    mkdir %HOMEDRIVE%%HOMEPATH%\gcf_hello_world

    作成したディレクトリに移動します。

    cd %HOMEDRIVE%%HOMEPATH%\gcf_hello_world
  3. 次の内容を含む gcf_hello_world ディレクトリに index.js ファイルを作成します。これは、helloGET という簡単な関数で、HTTP 経由で、GET リクエストに「Hello from Cloud Functions and Cloud Source Repositories」というテキストで応答します。

    /* HTTP Cloud Function.
    *
    * @param {Object} req Cloud Function request context.
    * @param {Object} res Cloud Function response context.
    */
    exports.helloGET = (req, res) => {
      res.send('Hello from Cloud Functions and Cloud Source Repositories');
    };
    

Cloud Source Repositories に push する

この手順では、作成したファイルを Cloud Source Repositories に push します。

  1. ファイルを追加します。

       git add .
    
  2. ファイルを commit します。

       git commit -m "Add Cloud Function test to Cloud Source Repositories"
    
  3. git push コマンドを使用してローカル Git リポジトリの内容を Cloud Source Repositories に追加します。

       git push origin master
    

関数を作成してデプロイする

この時点で、関数を作成してデプロイできます。これらのタスクは、GCP Console または Cloud SDK を使用して行えます。

GCP Console

  1. Console で Cloud Functions の概要ページに移動します。

    Cloud Functions を有効にしたプロジェクトが選択されていることを確認します。

  2. [関数を作成] をクリックします。

    関数の作成を開始する方法を示すスクリーンショット

  3. 関数に cloud-source-repositories-test という名前を付けます。

  4. [トリガー] フィールドで [HTTP トリガー] を選択します。

  5. [ソースコード] フィールドで、[Cloud Source Respository のリポジトリ] を選択します。

  6. [リポジトリ] フィールドに「hello-world」と入力します。

  7. [ブランチ / タグ] オプションから、[ブランチ] を選択します。

  8. [ブランチ名] フィールドに「master」と入力します。

  9. [ソースコードを含むディレクトリ] フィールドに「/gcf_hello_world」と入力します。

  10. [実行する関数] フィールドに「helloGET」と入力します。

  11. [作成] をクリックします。

関数のデプロイ中に、関数の横に小さいスピナーのアイコンが表示されます。デプロイが完了すると、スピナーが緑のチェックマークに変わります。

Cloud SDK

  1. ターミナル ウィンドウで、プロジェクト ID を含む変数を設定します。このプロジェクトは、リポジトリが含まれるものと同じであるようにしてください。

    export PROJECT_ID=$(gcloud config list --format 'value(core.project)')
    
  2. 次のコマンドを使用して関数をデプロイします。

    gcloud functions deploy helloGET \
    --source https://source.developers.google.com/projects/$PROJECT_ID/repos/hello-world/moveable-aliases/master/paths/gcf_hello_world \
    --trigger-http;
    

Cloud Source Repositories へのデプロイの詳細については、Cloud Functions のドキュメントのソース コントロールからのデプロイをご覧ください。

関数をテストする

GCP Console または Cloud SDK のいずれかを使用して、新しい関数をデプロイできます。

GCP Console

  1. Console で Cloud Functions の概要ページに移動します。

    Cloud Functions を有効にしたプロジェクトが選択されていることを確認します。

  2. helloGET 関数をクリックします。

    [機能の詳細] 画面が開きます。

  3. [テスト] タブをクリックします。

  4. [Test this function] をクリックします。

    1~2 分後、[出力] フィールドが更新され、「Hello from Cloud Functions and Cloud Source Repositories」というメッセージが表示されます。

Cloud SDK

ターミナル ウィンドウで、次のコマンドを入力します。

gcloud functions call helloGET

次のようなレスポンスが返されます。

executionId: owqd9fdh5od2
result: Hello from Cloud Functions and Cloud Source Repositories

クリーンアップ

作成したリポジトリを削除するには:

  1. Cloud Source Repositories の [すべてのリポジトリ] ビューを開きます。

    Cloud Source Repositories を開く

  2. リポジトリにカーソルを合わせて、歯車ボタンをクリックします。

    [全般設定] 画面が開きます。

  3. [このリポジトリを削除] をクリックします。

    リポジトリの削除画面が開きます。

  4. 削除するリポジトリの名前を入力します。

  5. [削除] をクリックします。

次のステップ

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Cloud Source Repositories