ファンクションの呼出し

このステージは、Oracle Cloud Infrastructure (OCI)ファンクションを呼び出します。「ファンクションの呼出し」ステージは、サーバーレスの方法でコードまたはカスタム・ロジックを実行するために使用できます。たとえば、ステージング環境でアプリケーションを検証するファンクションを記述し、成功した場合はアプリケーションを本番環境にデプロイできます。

開始する前に、デプロイメント・パイプラインを定義し、パイプラインの実行時に呼び出されるファンクションを作成する必要があります。

    1. ナビゲーション・メニューを開き、「開発者サービス」をクリックします。「DevOps」で、「プロジェクト」をクリックします。
    2. プロジェクトとそのプロジェクトに関連付けられたパイプラインを選択します。
    3. 「統合」ステージを順次またはパラレルに追加するには、「+」アイコンをクリックし、「ステージの追加」を選択します。
    4. 「統合 - ファンクションの呼出し」を選択して「次」をクリックします。
    5. ステージの名前と説明を入力します。説明の追加はオプションです。
    6. 「環境」で、呼び出す既存のファンクションを選択します。

      読取り専用の「ファンクション名」フィールドに、パイプラインでコールされるファンクションが表示されます。

    7. (オプション)アーティファクトを選択してステージに追加するには、「アーティファクトの選択」をクリックします。

      DevOpsプロジェクトから既存のアーティファクト・リソースを選択します。アーティファクトは、汎用(ユニバーサル)ファイル・タイプである必要があります。アーティファクトのパラメータは、JSON形式である必要があり、プレースホルダを持つことができます。デプロイメント時にプレースホルダを引数値に置換するようにDevOpsアーティファクト・リソースを構成する場合は、「パラメータ化の許可」チェック・ボックスを選択する必要があります。詳細は、パラメータの構成を参照してください。

      次に、2つのユーザー定義パラメータとその値を渡すための汎用アーティファクト・コンテンツの例を示します:
      • パラメータ: test_nameapp_version
      • 値: {"test_name":"verify_production", "app_version":"${app_version}"}
    8. 「ステージ実行モード」で、非同期実行または同期実行を選択します。

      「非同期実行」を選択した場合、サービスはファンクションを呼び出しますが、ファンクションの完了を待機しません。「同期実行」を選択した場合、サービスはファンクションを呼び出し、ファンクションの完了を待機します。

    9. 検証を無効にするか有効にするかを選択します。

      検証が有効な場合、サービスはファンクションの戻り値を検証します。戻り値は、UTF-8文字列リテラルのtrueまたはfalseです。戻り値がtrueの場合、ステージは「成功」としてマークされ、「失敗」としてマークされます。

      検証が無効な場合、サービスは戻り値を検証しません。

      検証は、ステージ実行モードとして「同期実行」オプションを選択した場合にのみ実行されます。

    10. (オプション)パイプラインにタグを追加するには、「タグ付けオプションの表示」をクリックします。タグ付けとは、テナンシ内のリソースを整理およびトラッキングできるメタデータ・システムです。

      リソースを作成する権限がある場合、そのリソースにフリーフォーム・タグを追加する権限もあります。

      定義済タグを追加するには、タグ・ネームスペースを使用する権限が必要です。

      詳細は、リソース・タグを参照してください。

    11. 「統合」ステージをパイプラインに追加するには、「追加」をクリックします。
    ターゲット環境にビルド出力をデプロイするには、デプロイメント・パイプラインを実行します。

    ビルド・パイプラインからデプロイメントを自動的にトリガーするには、ビルド・パイプラインに「デプロイメントのトリガー」ステージを追加します。

  • パイプラインでファンクションを呼び出すには、create-invoke-function-stageコマンドを実行します:

    oci devops deploy-stage create-invoke-function-stage

    create-invoke-function-stageコマンドの必須パラメータ:

    • --function-environment-id
    • --is-async
    • --is-validation-enabled
    • --pipeline-id
    • --stage-predecessor-collection

    deploy-pipelineおよびdeploy-stageのすべてのコマンドを取得するには:

    oci devops deploy-pipeline -h
    oci devops deploy-stage -h

    create-invoke-function-stageコマンドのヘルプを取得するには:

    oci devops deploy-stage create-invoke-function-stage -h
  • パイプラインでファンクションを呼び出すには、CreateDeployStage操作を使用します。deployStageType属性には、INVOKE_FUNCTION値を指定します。