ビルドおよびテストアクション YAML - Amazon CodeCatalyst

ビルドおよびテストアクション YAML

以下は、ビルドアクションとテストアクションの YAML 定義です。YAML プロパティはとても似通っているため、2 つのアクションには 1 つのリファレンスがあります。

このアクション定義は、より広範なワークフロー定義ファイル内のセクションとして存在します。ファイルの詳細については、「ワークフロー YAML 定義」を参照してください。

次のコードで YAML プロパティを選択すると、説明が表示されます。

注記

後続の YAML プロパティのほとんどには、対応する UI 要素がビジュアルエディタにあります。UI 要素を検索するには、[Ctrl+F] を使用します。要素は、関連付けられた YAML プロパティとともに一覧表示されます。

# The workflow definition starts here. # See 最上位プロパティ for details. Name: MyWorkflow SchemaVersion: 1.0 Actions: # The action definition starts here. action-name: Identifier: aws/build@v1 | aws/managed-test@v1 DependsOn: - dependent-action-name-1 Compute: Type: EC2 | Lambda Fleet: fleet-name Timeout: timeout-minutes Environment: Name: environment-name Connections: - Name: account-connection-name Role: iam-role-name Caching: FileCaching: key-name-1: Path: file1.txt RestoreKeys: - restore-key-1 Inputs: Sources: - source-name-1 - source-name-2 Artifacts: - artifact-name Variables: - Name: variable-name-1 Value: variable-value-1 - Name: variable-name-2 Value: variable-value-2 Outputs: Artifacts: - Name: output-artifact-1 Files: - build-output/artifact-1.jar - "build-output/build*" - Name: output-artifact-2 Files: - build-output/artifact-2.1.jar - build-output/artifact-2.2.jar Variables: - variable-name-1 - variable-name-2 AutoDiscoverReports: Enabled: true | false ReportNamePrefix: AutoDiscovered IncludePaths: - "**/*" ExcludePaths: - node_modules/cdk/junit.xml SuccessCriteria: PassRate: percent LineCoverage: percent BranchCoverage: percent Vulnerabilities: Severity: CRITICAL | HIGH | MEDIUM | LOW | INFORMATIONAL Number: whole-number StaticAnalysisBug: Severity: CRITICAL | HIGH | MEDIUM | LOW | INFORMATIONAL Number: whole-number StaticAnalysisSecurity: Severity: CRITICAL | HIGH | MEDIUM | LOW | INFORMATIONAL Number: whole-number StaticAnalysisQuality: Severity: CRITICAL | HIGH | MEDIUM | LOW | INFORMATIONAL Number: whole-number StaticAnalysisFinding: Severity: CRITICAL | HIGH | MEDIUM | LOW | INFORMATIONAL Number: whole-number Reports: report-name-1: Format: format IncludePaths: - "*.xml" ExcludePaths: - report2.xml - report3.xml SuccessCriteria: PassRate: percent LineCoverage: percent BranchCoverage: percent Vulnerabilities: Severity: CRITICAL | HIGH | MEDIUM | LOW | INFORMATIONAL Number: whole-number StaticAnalysisBug: Severity: CRITICAL | HIGH | MEDIUM | LOW | INFORMATIONAL Number: whole-number StaticAnalysisSecurity: Severity: CRITICAL | HIGH | MEDIUM | LOW | INFORMATIONAL Number: whole-number StaticAnalysisQuality: Severity: CRITICAL | HIGH | MEDIUM | LOW | INFORMATIONAL Number: whole-number StaticAnalysisFinding: Severity: CRITICAL | HIGH | MEDIUM | LOW | INFORMATIONAL Number: whole-number Configuration: Container: Registry: registry Image: image Steps: - Run: "step 1" - Run: "step 2" Packages: NpmConfiguration: PackageRegistries: - PackagesRepository: package-repository Scopes: - "@scope" ExportAuthorizationToken: true | false

action-name

(必須)

アクションの名前を指定します。すべてのアクション名は、ワークフロー内で一意である必要があります。アクション名で使用できるのは、英数字 (a~z、A~Z、0~9)、ハイフン (-)、アンダースコア (_) のみです。スペースは使用できません。引用符を使用して、アクション名の特殊文字とスペースを有効にすることはできません。

対応する UI: [設定] タブ/[アクション名]

Identifier

(action-name/Identifier)

アクションを識別します。バージョンを変更したい場合でない限り、このプロパティを変更しないでください。詳細については、「使用するアクションバージョンの指定」を参照してください。

ビルドアクションに aws/build@v1 を使用します。

テストアクションに aws/managed-test@v1 を使用します。

対応する UI: ワークフロー図/Action-name/aws/build@v1|aws/managed-test@v1 ラベル

DependsOn

(action-name/DependsOn)

(オプション)

このアクションを実行するために正常に実行する必要があるアクション、アクショングループ、またはゲートを指定します。

「DependsOn」機能の詳細については、「アクションの順序付け」を参照してください。

対応する UI: [入力] タブ/[依存 - オプション]

Compute

(action-name/Compute)

(オプション)

ワークフローアクションの実行に使用されるコンピューティングエンジンです。コンピューティングはワークフローレベルまたはアクションレベルで指定できますが、両方を指定することはできません。ワークフローレベルで指定すると、コンピューティング設定はワークフローで定義されたすべてのアクションに適用されます。ワークフローレベルでは、同じインスタンスで複数のアクションを実行することもできます。詳細については、「アクション間でのコンピューティングの共有する」を参照してください。

対応する UI: なし

Type

(action-name/Compute/Type)

(Compute が含まれている場合は必須)

コンピューティングエンジンのタイプです。次のいずれかの値を使用できます。

  • EC2 (ビジュアルエディタ) または EC2 (YAML エディタ)

    アクション実行時の柔軟性を目的として最適化されています。

  • Lambda (ビジュアルエディタ)または Lambda (YAML エディタ)

    アクションの起動速度を最適化しました。

コンピューティングタイプの詳細については、「コンピューティングタイプ」を参照してください。

対応する UI: [設定] タブ/[コンピューティングタイプ]

Fleet

(action-name/Compute/Fleet)

(オプション)

ワークフローまたはワークフローアクションを実行するマシンまたはフリートを指定します。オンデマンドフリートでは、アクションが開始すると、ワークフローは必要なリソースをプロビジョニングし、アクションが完了するとマシンは破棄されます。オンデマンドフリートの例: Linux.x86-64.LargeLinux.x86-64.XLarge。オンデマンドフリートの詳細については、「オンデマンドフリートのプロパティ」を参照してください。

プロビジョニングされたフリートでは、ワークフローアクションを実行するように専用マシンのセットを設定します。これらのマシンはアイドル状態のままで、アクションをすぐに処理できます。プロビジョニングされたフリートの詳細については、「プロビジョニングされたフリートのプロパティ」を参照してください。

Fleet を省略した場合、デフォルトは Linux.x86-64.Large です。

対応する UI: [設定] タブ/[コンピューティングフリート]

Timeout

(action-name/Timeout)

(オプション)

CodeCatalyst がアクションを終了するまでにアクションを実行できる時間を分単位 (YAML エディタ) または時間分単位 (ビジュアルエディタ) で指定します。最小値は 5 分で、最大値は CodeCatalyst のワークフローのクォータ で記述されています。デフォルトのタイムアウトは、最大タイムアウトと同じです。

対応する UI: [設定] タブ/[タイムアウト - オプション]

Environment

(action-name/Environment)

(オプション)

アクションで使用する CodeCatalyst 環境を指定します。アクションは、選択した環境で指定された AWS アカウント および任意の Amazon VPC に接続します。このアクションは、 環境で指定されたデフォルトの IAM ロールを使用して AWS アカウント に接続し、[Amazon VPC 接続] で指定された IAM ロールを使用して Amazon VPC に接続します。

注記

デフォルトの IAM ロールにアクションに必要なアクセス許可がない場合は、別のロールを使用するようにアクションを設定できます。詳細については、「アクションの IAM ロールの変更」を参照してください。

環境タグ付けの詳細については、「AWS アカウント と VPC へのデプロイ」と「環境を作成する」を参照してください。

対応する UI: [設定] タブ/[環境]

Name

(action-name/Environment/Name)

(オプション)

アクションに関連付ける既存の環境の名前を指定します。

対応する UI: [設定] タブ/[環境]

Connections

(action-name/Environment/Connections)

(オプション)

アクションに関連付けるアカウント接続を指定します。Environment で最大 1 つのアカウント接続を指定できます。

アカウント接続を指定しない場合:

  • このアクションは、CodeCatalyst コンソールの 環境で指定された AWS アカウント 接続とデフォルトの IAM ロールを使用します。アカウント接続とデフォルトの IAM ロールを環境に追加する方法については、「環境を作成する」を参照してください。

  • デフォルトの IAM ロールには、 アクションに必要なポリシーとアクセス許可が含まれている必要があります。これらのポリシーとアクセス許可を確認するには、アクションの YAML 定義ドキュメントの [ロール] プロパティの説明を参照してください。

アカウント接続の詳細については、「接続された AWS アカウントでの AWS リソースへのアクセスを許可する」を参照してください。アカウント接続を環境に追加する方法については、「環境を作成する」を参照してください。

対応する UI: [設定] タブ/[環境]/[my-environment の内容]/3 つのドットメニュー/[ロールを切り替える]

Name

(action-name/Environment/Connections/Name)

(Connections が含まれている場合は必須)

アカウント接続の名前を指定します。

対応する UI: [設定] タブ/[環境]/[my-environment の内容]/3 つのドットメニュー/[ロールを切り替える]

Role

(action-name/Environment/Connections/Role)

(Connections が含まれている場合は必須)

Amazon S3 や Amazon ECR などの AWS サービスにアクセスして操作するには、このアクションが使用する IAM ロールの名前を指定します。このロールがスペースの AWS アカウント 接続に追加されていることを確認します。アカウント接続に IAM ロールを追加するには、「IAM ロールをアカウント接続に追加する」を参照してください。

IAM ロールを指定しない場合、アクションは CodeCatalyst コンソールの [環境] に記載されているデフォルトの IAM ロールを使用します。環境でデフォルトのロールを使用する場合は、次のポリシーがあることを確認してください。

注記

このアクションで CodeCatalystWorkflowDevelopmentRole-spaceName ロールを使用できます。このロールの詳細については、「アカウントとスペース用の CodeCatalystWorkflowDevelopmentRole-spaceName ロールを作成する」を参照してください。CodeCatalystWorkflowDevelopmentRole-spaceName ロールにはフルアクセス許可があり、セキュリティ上のリスクをもたらす可能性があることを理解してください。このロールは、セキュリティが懸念されないチュートリアルやシナリオでのみ使用することをお勧めします。

警告

アクセス許可は、ビルドアクションとテストアクションに必要なアクセス許可に制限します。より広範なアクセス許可を持つロールを使用すると、セキュリティリスクが発生する可能性があります。

対応する UI: [設定] タブ/[環境]/[my-environment の内容]/3 つのドットメニュー/[ロールを切り替える]

Caching

(action-name/Caching)

(オプション)

キャッシュを指定してディスク上のファイルを保存し、後続のワークフロー実行でそのキャッシュから復元できるセクションです。

ファイルキャッシングの詳細については、「ワークフロー実行間のファイルのキャッシュ」を参照してください。

対応する UI: [設定] タブ/[ファイルキャッシュ - オプション]

FileCaching

(action-name/Caching/FileCaching)

(オプション)

一連のキャッシュの設定を指定するセクションです。

対応する UI: [設定] タブ/[ファイルキャッシュ - オプション]/[キャッシュを追加]

key-name-1

(action-name/Caching/FileCaching/key-name-1)

(オプション)

プライマリキャッシュプロパティ名の名前を指定します。キャッシュプロパティ名は、ワークフロー内で一意である必要があります。各アクションには、FileCaching に最大 5 つのエントリを含めることができます。

対応する UI: [設定] タブ/[ファイルキャッシュ - オプション]/[キャッシュを追加]/[キー]

Path

(action-name/Caching/FileCaching/key-name-1/Path)

(オプション)

キャッシュの関連するパスを指定します。

対応する UI: [設定] タブ/[ファイルキャッシュ - オプション]/[キャッシュを追加]/[パス]

RestoreKeys

(action-name/Caching/FileCaching/key-name-1/RestoreKeys)

(オプション)

プライマリキャッシュプロパティが見つからない場合にフォールバックとして使用する復元キーを指定します。復元キー名は、ワークフロー内で一意である必要があります。各キャッシュには、RestoreKeys に最大 5 つのエントリを含めることができます。

対応する UI: [設定] タブ/[ファイルキャッシュ - オプション]/[キャッシュを追加]/[キーの復元 - オプション]

Inputs

(action-name/Inputs)

(オプション)

Inputs セクションでは、ワークフローの実行中にアクションに必要なデータ定義します。

注記

ビルドアクションまたはテストアクションごとに最大 4 つの入力 (1 つのソースと 3 つのアーティファクト) が許可されます。変数はこの合計にはカウントされません。

異なる入力 (ソースとアーティファクトなど) にあるファイルを参照する必要がある場合、ソース入力はプライマリ入力で、アーティファクトはセカンダリ入力です。セカンダリ入力内のファイルへの参照には、プライマリからファイルを区別するための特別なプレフィックスが付きます。詳細については、「例: 複数のアーティファクトでのファイルの参照」を参照してください。

対応する UI: [入力] タブ

Sources

(action-name/Inputs/Sources)

(オプション)

アクションに必要なソースリポジトリを表すラベルを指定します。現在、サポートされているラベルは WorkflowSource のみです。これは、ワークフロー定義ファイルが保存されているソースリポジトリを表します。

ソースを省略する場合は、action-name/Inputs/Artifacts で少なくとも 1 つの入力アーティファクトを指定する必要があります。

sources の詳細については、「ワークフローへのソースリポジトリの接続」を参照してください。

対応する UI: なし

Artifacts - input

(action-name/Inputs/Artifacts)

(オプション)

このアクションへの入力として提供する以前のアクションのアーティファクトを指定します。これらのアーティファクトは、前のアクションで出力アーティファクトとして既に定義されている必要があります。

入力アーティファクトを指定しない場合は、action-name/Inputs/Sources で少なくとも 1 つのソースリポジトリを指定する必要があります。

アーティファクトの詳細 (例を含む) については、「アクション間でのアーティファクトとファイルの共有」を参照してください。

注記

アーティファクト - 任意のドロップダウンリストが使用できない場合 (ビジュアルエディタ)、または YAML (YAML エディタ) の検証時にエラーが発生した場合、アクションが 1 つの入力しかサポートしていないことが原因である可能性があります。この場合、ソース入力を削除してみてください。

対応する UI: 入力タブ/アーティファクト - オプション

Variables - input

(action-name/Inputs/Variables)

(オプション)

アクションで使用できるようにしたい入力変数を定義する名前と値のペアのシーケンスを指定します。変数名に使用できるのは、英数字 (a~z、A~Z、0~9)、ハイフン (-)、アンダースコア (_) のみです。スペースは使用できません。引用符を使用して、変数名の特殊文字とスペースを有効にすることはできません。

変数の詳細 (例を含む) については、「ワークフローでの変数の使用」を参照してください。

対応する UI: 入力タブ/変数 - オプション

Outputs

(action-name/Outputs)

(オプション)

ワークフローの実行中にアクションによって出力されるデータを定義します。

対応する UI: [出力] タブ

Artifacts - output

(action-name/Outputs/Artifacts)

(オプション)

アクションによって生成されたアーティファクトの名前を指定します。アーティファクト名はワークフロー内で一意でなければならず、英数字 (a~z、A~Z、0~9) とアンダースコア (_) に制限されます。スペース、ハイフン (-)、その他の特殊文字は使用できません。引用符を使用して、出力アーティファクト名でスペース、ハイフン、その他の特殊文字を有効にすることはできません。

アーティファクトの詳細 (例を含む) については、「アクション間でのアーティファクトとファイルの共有」を参照してください。

対応する UI: [出力] タブ/[アーティファクト]

Name

(action-name/Outputs/Artifacts/Name)

(Artifacts - output が含まれている場合は必須)

アクションによって生成されたアーティファクトの名前を指定します。アーティファクト名はワークフロー内で一意でなければならず、英数字 (a~z、A~Z、0~9) とアンダースコア (_) に制限されます。スペース、ハイフン (-)、その他の特殊文字は使用できません。引用符を使用して、出力アーティファクト名でスペース、ハイフン、その他の特殊文字を有効にすることはできません。

アーティファクトの詳細 (例を含む) については、「アクション間でのアーティファクトとファイルの共有」を参照してください。

対応する UI: [出力] タブ/[アーティファクト]/[新しい出力]/[ビルドアーティファクト名]

Files

(action-name/Outputs/Artifacts/Files)

(Artifacts - output が含まれている場合は必須)

CodeCatalyst がアクションによって出力されるアーティファクトに含めるファイルを指定します。これらのファイルは、実行時にワークフローアクションによって生成され、ソースリポジトリでも使用できます。ファイルパスは、ソースリポジトリまたは前のアクションからのアーティファクトに設定でき、ソースリポジトリまたはアーティファクトルートを基準とすることができます。glob パターンを使用してパスを指定できます。例:

  • ビルドまたはソースリポジトリの場所のルートにある 1 つのファイルを指定するには、my-file.jar を使用します。

  • サブディレクトリ内の 1 つのファイルを指定するには、directory/my-file.jar または directory/subdirectory/my-file.jar を使用します。

  • すべてのファイルを指定するには、"**/*" を使用します。glob パターン ** は、任意の数のサブディレクトリにマッチすることを示します。

  • directory という名前のディレクトリ内のすべてのファイルとディレクトリを指定するには、"directory/**/*" を使用します。glob パターン ** は、任意の数のサブディレクトリにマッチすることを示します。

  • directory という名前のディレクトリ内のすべてのファイルを指定するが、そのサブディレクトリを含めないようにするには、"directory/*" を使用します。

注記

ファイルパスに 1 つ以上のアスタリスク (*) またはその他の特殊文字が含まれている場合は、パスを二重引用符 ("") で囲みます。特殊文字の詳細については、「構文ガイドラインと規則」を参照してください。

アーティファクトの詳細 (例を含む) については、「アクション間でのアーティファクトとファイルの共有」を参照してください。

注記

ファイルパスにプレフィックスを追加して、見つけるアーティファクトまたはソースを示す必要がある場合があります。詳細については、「ソースリポジトリファイルの参照」と「アーティファクト内のファイルの参照」を参照してください。

対応する UI: [出力] タブ/[アーティファクト]/[新しい出力]/[ビルドで生成されるファイル]

Variables - output

(action-name/Outputs/Variables)

(オプション)

後続のアクションで使用できるように、アクションがエクスポートする変数を指定します。

変数の詳細 (例を含む) については、「ワークフローでの変数の使用」を参照してください。

対応する UI: [出力] タブ/[変数]/[変数を追加]

variable-name-1

(action-name/Outputs/Variables/variable-name-1)

(オプション)

アクションをエクスポートする変数の名前を指定します。この変数は、同じアクションの Inputs または Steps セクションで既に定義されている必要があります。

変数の詳細 (例を含む) については、「ワークフローでの変数の使用」を参照してください。

対応する UI: [出力] タブ/[変数]/[変数を追加]/[名前]

AutoDiscoverReports

(action-name/Outputs/AutoDiscoverReports)

(オプション)

自動検出機能の設定を定義します。

自動検出を有効にすると、CodeCatalyst はアクションに渡されたすべての Inputs と、アクション自体によって生成されたすべてのファイルを検索し、テスト、コードカバレッジ、ソフトウェアコンポジション分析 (SCA) レポートを探します。見つかったレポートごとに、CodeCatalyst はそれを CodeCatalyst レポートに変換します。[CodeCatalyst レポート] は、CodeCatalyst サービスに完全に統合され、CodeCatalyst コンソールを介して表示および操作できるレポートです。

注記

デフォルトでは、自動検出機能はすべてのファイルを検査します。IncludePaths または ExcludePaths プロパティを使用して、検査するファイルを制限できます。

対応する UI: [出力] タブ/[レポート]/[自動検出レポート]

Enabled

(action-name/Outputs/AutoDiscoverReports/Enabled)

(オプション)

自動検出機能を有効または無効にします。

有効な値は true または false です。

Enabled を省略した場合、デフォルトは true です。

対応する UI: [出力] タブ/[レポート]/[自動検出レポート]

ReportNamePrefix

(action-name/Outputs/AutoDiscoverReports/ReportNamePrefix)

(AutoDiscoverReports が含まれ、有効になっている場合は必須)

関連する CodeCatalyst レポートに名前を付けるために、CodeCatalyst が検出したすべてのレポートに付加するプレフィックスを指定します。例えば、プレフィックスを AutoDiscovered に指定し、CodeCatalyst が 2 つのテストレポート、TestSuiteOne.xmlTestSuiteTwo.xml を自動的に検出する場合、関連する CodeCatalyst レポートには AutoDiscoveredTestSuiteOneAutoDiscoveredTestSuiteTwo という名前が付けられます。

対応する UI: [出力] タブ/[レポート]/[プレフィックス名]

IncludePaths

(action-name/Outputs/AutoDiscoverReports/IncludePaths)

または

(action-name/Outputs/Reports/report-name-1/IncludePaths)

(AutoDiscoverReports が含まれ、有効になっている場合、または Reports が含まれている場合は必須)

未加工レポートを検索するときに CodeCatalyst に含めるファイルとファイルパスを指定します。例えば、"/test/report/*" を指定すると、CodeCatalyst は /test/report/* ディレクトリを検索するアクションで使用される [ビルドイメージ] 全体を検索します。そのディレクトリが見つかると、CodeCatalyst はそのディレクトリ内のレポートを検索します。

注記

ファイルパスに 1 つ以上のアスタリスク (*) またはその他の特殊文字が含まれている場合は、パスを二重引用符 ("") で囲みます。特殊文字の詳細については、「構文ガイドラインと規則」を参照してください。

このプロパティを省略した場合、デフォルトは "**/*" です。つまり、検索にはすべてのパスのすべてのファイルが含まれます。

注記

手動で設定するレポートの場合、IncludePaths は単一のファイルに一致する glob パターンである必要があります。

対応する UI:

  • [出力] タブ/[レポート]/[レポートを自動的に検出]/[パスを含める/除外する]/[パスを含める]

  • [出力] タブ/[レポート]/[レポートを手動で設定]/report-name-1/[パスを含める/除外する]/[パスを含める]

ExcludePaths

(action-name/Outputs/AutoDiscoverReports/ExcludePaths)

または

(action-name/Outputs/Reports/report-name-1/ExcludePaths)

(オプション)

未加工レポートを検索するときに CodeCatalyst が除外するファイルとファイルパスを指定します。例えば、"/test/my-reports/**/*" を指定した場合、CodeCatalyst は /test/my-reports/ ディレクトリ内のファイルを検索しません。ディレクトリ内のすべてのファイルを無視するには、**/* glob パターンを使用します。

注記

ファイルパスに 1 つ以上のアスタリスク (*) またはその他の特殊文字が含まれている場合は、パスを二重引用符 ("") で囲みます。特殊文字の詳細については、「構文ガイドラインと規則」を参照してください。

対応する UI:

  • [出力] タブ/[レポート]/[レポートを自動的に検出]/[パスを含める/除外する]/[パスを除外する]

  • [出力] タブ/[レポート]/[レポートを手動で設定]/report-name-1/[パスを含める/除外する]/[パスを除外する]

SuccessCriteria

(action-name/Outputs/AutoDiscoverReports/SuccessCriteria)

または

(action-name/Outputs/Reports/report-name-1/SuccessCriteria)

(オプション)

テスト、コードカバレッジ、ソフトウェアコンポジション分析 (SCA)、静的分析 (SA) レポートの成功基準を指定します。

詳細については、「レポートの成功基準の設定」を参照してください。

対応する UI: 出力タブ/レポート/[成功基準]

PassRate

(action-name/Outputs/AutoDiscoverReports/SuccessCriteria/PassRate)

または

(action-name/Outputs/Reports/report-name-1/SuccessCriteria/PassRate)

(オプション)

関連する CodeCatalyst レポートが合格としてマークされるために、合格する必要があるテストレポート内のテストの割合を指定します。有効な値には 10 進数が含まれます。例: 5060.5。合格率基準は、テストレポートにのみ適用されます。テストレポートの詳細については、「テストレポート」を参照してください。

対応する UI: 出力タブ/レポート/成功基準/[合格率]

LineCoverage

(action-name/Outputs/AutoDiscoverReports/SuccessCriteria/LineCoverage)

または

(action-name/Outputs/Reports/report-name-1/SuccessCriteria/LineCoverage)

(オプション)

関連する CodeCatalyst レポートが合格としてマークされるために、コードカバレッジレポート内でカバーする必要がある行の割合を指定します。有効な値には 10 進数が含まれます。例: 5060.5。ラインカバレッジ基準は、コードカバレッジレポートにのみ適用されます。コードカバレッジレポートの詳細については、「コードカバレッジレポート」を参照してください。

対応する UI: 出力タブ/レポート/成功基準/[ラインカバレッジ]

BranchCoverage

(action-name/Outputs/AutoDiscoverReports/SuccessCriteria/BranchCoverage)

または

(action-name/Outputs/Reports/report-name-1/SuccessCriteria/BranchCoverage)

(オプション)

関連する CodeCatalyst レポートが合格としてマークされるために、カバーする必要があるコードカバレッジレポート内のブランチの割合を指定します。有効な値には 10 進数が含まれます。例: 5060.5。ブランチカバレッジ基準は、コードカバレッジレポートにのみ適用されます。コードカバレッジレポートの詳細については、「コードカバレッジレポート」を参照してください。

対応する UI: 出力タブ/レポート/成功基準/[ブランチカバレッジ]

Vulnerabilities

(action-name/Outputs/AutoDiscoverReports/SuccessCriteria/Vulnerabilities)

または

(action-name/Outputs/Reports/report-name-1/SuccessCriteria/Vulnerabilities)

(オプション)

関連する CodeCatalyst レポートが合格としてマークされるように、SCA レポートで許可される脆弱性の最大数と重要度を指定します。脆弱性を指定するには、以下を指定する必要があります。

  • カウントに含める脆弱性の最小重要度。有効な値は、重要度が高い順に、CRITICALHIGHMEDIUMLOWINFORMATIONAL です。

    例えば、HIGH を選択すると、 HIGHCRITICAL の脆弱性が集計されます。

  • 許可する指定された重要度の脆弱性の最大数。この数を超えると、CodeCatalyst レポートは失敗としてマークされます。有効な値は整数です。

脆弱性基準は SCA レポートにのみ適用されます。SCA レポートの詳細については、「ソフトウェア構成分析レポート」を参照してください。

最小重要度を指定するには、Severity プロパティを使用します。脆弱性の最大数を指定するには、Number プロパティを使用します。

対応する UI: 出力タブ/レポート/成功基準/[脆弱性]

StaticAnalysisBug

(action-name/Outputs/AutoDiscoverReports/SuccessCriteria/StaticAnalysisBug)

または

(action-name/Outputs/Reports/report-name-1/SuccessCriteria/StaticAnalysisBug)

(オプション)

関連する CodeCatalyst レポートが合格としてマークされるように、SA レポート内で許容されるバグの最大数と重要度を指定します。バグを指定するには、以下を指定する必要があります。

  • カウントに含めるバグの最小重要度。有効な値は、重要度が高い順に、CRITICALHIGHMEDIUMLOWINFORMATIONAL です。

    例えば、HIGH を選択すると、HIGHCRITICAL のバグが集計されます。

  • 許可する指定された重要度のバグの最大数。この数を超えると、CodeCatalyst レポートは失敗としてマークされます。有効な値は整数です。

バグ基準は、PyLint および ESLint SA レポートにのみ適用されます。SA レポートの詳細については、「静的分析レポート」を参照してください。

最小重要度を指定するには、Severity プロパティを使用します。脆弱性の最大数を指定するには、Number プロパティを使用します。

対応する UI: [出力] タブ/[レポート]/[成功基準]/[バグ]

StaticAnalysisSecurity

(action-name/Outputs/AutoDiscoverReports/SuccessCriteria/StaticAnalysisSecurity)

または

(action-name/Outputs/Reports/report-name-1/SuccessCriteria/StaticAnalysisSecurity)

(オプション)

関連する CodeCatalyst レポートが合格としてマークされるように、SA レポート内で許容されるセキュリティ脆弱性の最大数と重要度を指定します。セキュリティの脆弱性を指定するには、以下を指定する必要があります。

  • カウントに含めるセキュリティの脆弱性の最小重要度。有効な値は、重要度が高い順に、CRITICALHIGHMEDIUMLOWINFORMATIONAL です。

    例えば、HIGH を選択すると、HIGHCRITICAL セキュリティの脆弱性が集計されます。

  • 許可する指定された重要度のセキュリティ脆弱性の最大数。この数を超えると、CodeCatalyst レポートは失敗としてマークされます。有効な値は整数です。

セキュリティの脆弱性の基準は、PyLint および ESLint SA レポートにのみ適用されます。SA レポートの詳細については、「静的分析レポート」を参照してください。

最小重要度を指定するには、Severity プロパティを使用します。脆弱性の最大数を指定するには、Number プロパティを使用します。

対応する UI: 出力タブ/レポート/成功基準/[セキュリティの脆弱性]

StaticAnalysisQuality

(action-name/Outputs/AutoDiscoverReports/SuccessCriteria/StaticAnalysisQuality)

または

(action-name/Outputs/Reports/report-name-1/SuccessCriteria/StaticAnalysisQuality)

(オプション)

関連する CodeCatalyst レポートが合格としてマークされるように、SA レポート内で許容される品質問題の最大数と重要度を指定します。品質問題を指定するには、以下を指定する必要があります。

  • カウントに含める品質問題の最小重要度。有効な値は、重要度が高い順に、CRITICALHIGHMEDIUMLOWINFORMATIONAL です。

    例えば、HIGH を選択すると、HIGHCRITICAL の品質問題が集計されます。

  • 許可する指定された重要度の品質問題の最大数。この数を超えると、CodeCatalyst レポートは失敗としてマークされます。有効な値は整数です。

品質問題の基準は、PyLint および ESLint SA レポートにのみ適用されます。SA レポートの詳細については、「静的分析レポート」を参照してください。

最小重要度を指定するには、Severity プロパティを使用します。脆弱性の最大数を指定するには、Number プロパティを使用します。

対応する UI: 出力タブ/レポート/成功基準/[品質問題]

StaticAnalysisFinding

(action-name/Outputs/AutoDiscoverReports/SuccessCriteria/StaticAnalysisFinding)

または

(action-name/Outputs/Reports/report-name-1/SuccessCriteria/StaticAnalysisFinding)

(オプション)

関連する CodeCatalyst レポートが合格としてマークされるように、SA レポートで許可される検出結果の最大数と重要度を指定します。検出結果を指定するには、以下を指定する必要があります。

  • カウントに含める検出結果の最小重要度。有効な値は、重要度が高い順に、CRITICALHIGHMEDIUMLOWINFORMATIONAL です。

    例えば、HIGH を選択すると、HIGHCRITICAL の結果が集計されます。

  • 許可する指定された重要度の検出結果の最大数。この数を超えると、CodeCatalyst レポートは失敗としてマークされます。有効な値は整数です。

検出結果は SARIF SA レポートにのみ適用されます。SA レポートの詳細については、「静的分析レポート」を参照してください。

最小重要度を指定するには、Severity プロパティを使用します。脆弱性の最大数を指定するには、Number プロパティを使用します。

対応する UI: 出力タブ/レポート/成功基準/[検出結果]

Reports

(action-name/Outputs/Reports )

(オプション)

テストレポートの設定を指定するセクション。

対応する UI: [出力] タブ/[レポート]

report-name-1

(action-name/Outputs/Reports/report-name-1)

(Reports が含まれている場合は必須)

未加工のレポートから生成される CodeCatalyst レポートに付ける名前。

対応する UI: [出力] タブ/[レポート]/[レポートを手動で設定]/[レポート名]

Format

(action-name/Outputs/Reports/report-name-1/Format)

(Reports が含まれている場合は必須)

レポートに使用するファイル形式を指定します。指定できる値は以下のとおりです。

  • テストレポートの場合:

    • Cucumber JSON には、[Cucumber ] (ビジュアルエディタ) または [CUCUMBERJSON] (YAML エディタ) を指定します。

    • JUnit XML の場合は、[JUnit] (ビジュアルエディタ) または [JUNITXML] (YAML エディタ) を指定します。

    • NUnit XML の場合は、[NUnit] (ビジュアルエディタ) または [NUNITXML] (YAML エディタ) を指定します。

    • NUnit 3 XML の場合は、[NUnit3] (ビジュアルエディタ) または [NUNIT3XML] (YAML エディタ) を指定します。

    • Visual Studio TRX の場合は、[Visual Studio TRX] (ビジュアルエディタ) または [VISUALSTUDIOTRX] (YAML エディタ) を指定します。

    • TestNG XML の場合は、[TestNG] (ビジュアルエディタ) または [TESTNGXML] (YAML エディタ) を指定します。

  • コードカバレッジレポートの場合:

    • Clover XML の場合は、[Clover] (ビジュアルエディタ) または [CLOVERXML] (YAML エディタ) を指定します。

    • Cobertura XML の場合は、[Cobertura] (ビジュアルエディタ) または [COBERTURAXML] (YAML エディタ) を指定します。

    • JaCoCo XML では、[JaCoCo] (ビジュアルエディタ) または [JACOCOXML] (YAML エディタ) を指定します。

    • [simplecov-json] ではなく [simplecov] によって生成された SimpleCov JSON には、[Simplecov] (ビジュアルエディタ) または [SIMPLECOV] (YAML エディタ) を指定します。

  • ソフトウェアコンポジション分析 (SCA) レポートの場合:

    • SARIF には、[SARIF] (ビジュアルエディタ) または [SARIFSCA] (YAML エディタ) を指定します。

対応する UI: [出力] タブ/[レポート]/[レポートを手動で設定]/[レポートを追加]/[設定]/report-name-1/[レポートタイプ][レポート形式]

Configuration

(action-name/Configuration)

(必須) アクションの設定プロパティを定義できるセクション。

対応する UI: [設定] タブ

Container

(action-name/Configuration/Container)

(オプション)

アクションが処理を完了するために使用する Docker イメージまたは [コンテナ] を指定します。CodeCatalyst に付属する [アクティブなイメージ] のいずれかを指定するか、独自のイメージを使用できます。独自のイメージを使用する場合は、Amazon ECR、Docker Hub、または別のレジストリに存在できます。Docker イメージを指定しない場合、アクションはその処理にアクティブなイメージの 1 つを使用します。デフォルトではどのアクティブなイメージが使用されているかについては、「アクティブなイメージ」を参照してください。

独自の Docker イメージの指定の詳細については、「カスタムランタイム環境の Docker イメージをアクションに割り当てる」を参照してください。

対応する UI: ランタイム環境 Docker イメージ - オプション

Registry

(action-name/Configuration/Container/Registry)

(Container が含まれている場合は必須)

イメージが保存されているレジストリを指定します。有効な値を次に示します。

  • CODECATALYST (YAML エディタ)

    イメージは CodeCatalyst レジストリに保存されます。

  • [Docker Hub] (ビジュアルエディタ) または [DockerHub] (YAML エディタ)

    イメージは Docker Hub イメージレジストリに保存されます。

  • [その他のレジストリ] (ビジュアルエディタ) または [Other] (YAML エディタ)

    イメージはカスタムイメージレジストリに保存されます。公開されているレジストリを使用できます。

  • [Amazon Elastic Container Registry] (ビジュアルエディタ) または [ECR] (YAML エディタ)

    イメージは Amazon Elastic Container Registry イメージリポジトリに保存されます。Amazon ECR リポジトリでイメージを使用するには、このアクションで Amazon ECR にアクセスする必要があります。このアクセスを有効にするには、次のアクセス許可とカスタム信頼ポリシーを含む [IAM ロール] を作成する必要があります。(既存のロールを変更して、必要に応じてアクセス許可とポリシーを含めることができます。)

    IAM ロールのロールポリシーには、次のアクセス許可を含める必要があります。

    • ecr:BatchCheckLayerAvailability

    • ecr:BatchGetImage

    • ecr:GetAuthorizationToken

    • ecr:GetDownloadUrlForLayer

    IAM ロールには、次のカスタム信頼ポリシーを含める必要があります。

    { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "codecatalyst-runner.amazonaws.com", "codecatalyst.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }

    IAM ロールの作成に関する詳細については、「IAM ユーザーガイド」の「ロールの作成とポリシーのアタッチ (コンソール)」を参照してください。

    ロールを作成したら、 環境を介してアクションに割り当てる必要があります。詳細については、「環境とアクションの関連付け」を参照してください。

対応する UI: [Amazon Elastic Container Registry][Docker Hub][その他のレジストリ] オプション

Image

(action-name/Configuration/Container/Image)

(Container が含まれている場合は必須)

次のいずれかを指定します。

  • CODECATALYST レジストリを使用している場合は、イメージを次のいずれかの [アクティブなイメージ] に設定します。

    • CodeCatalystLinux_x86_64:2024_03

    • CodeCatalystLinux_x86_64:2022_11

    • CodeCatalystLinux_Arm64:2024_03

    • CodeCatalystLinux_Arm64:2022_11

    • CodeCatalystLinuxLambda_x86_64:2024_03

    • CodeCatalystLinuxLambda_x86_64:2022_11

    • CodeCatalystLinuxLambda_Arm64:2024_03

    • CodeCatalystLinuxLambda_Arm64:2022_11

    • CodeCatalystWindows_x86_64:2022_11

  • Docker Hub レジストリを使用している場合は、イメージを Docker Hub イメージ名とオプションのタグに設定します。

    例: postgres:latest

  • Amazon ECR レジストリを使用している場合は、イメージを Amazon ECR レジストリ URI に設定します。

    例: 111122223333.dkr.ecr.us-west-2.amazonaws.com/codecatalyst-ecs-image-repo

  • カスタムレジストリを使用している場合は、イメージをカスタムレジストリで期待される値に設定します。

対応する UI: [ランタイム環境の Docker イメージ] (レジストリが CODECATALYST の場合)、[Docker Hub イメージ] (レジストリが [Docker Hub] の場合)、[ECR イメージ URL] (レジストリが [Amazon Elastic Container Registry] の場合)、および [イメージ URL] (レジストリが[その他のレジストリ] の場合)。

Steps

(action-name/Configuration/Steps)

(必須)

ビルドツールをインストール、設定、実行するアクション中に実行するシェルコマンドを指定します。

npm プロジェクトをビルドする方法の例を次に示します。

Steps: - Run: npm install - Run: npm run build

ファイルパスを指定する方法の例を次に示します。

Steps: - Run: cd $ACTION_BUILD_SOURCE_PATH_WorkflowSource/app && cat file2.txt - Run: cd $ACTION_BUILD_SOURCE_PATH_MyBuildArtifact/build-output/ && cat file.txt

出力ファイル名とパスの詳細については、「ソースリポジトリファイルの参照」と「アーティファクト内のファイルの参照」を参照してください。

対応する UI: [設定] タブ/[シェルコマンド]

Packages

(action-name/Configuration/Packages)

(オプション)

アクションが依存関係を解決するために使用するパッケージリポジトリを指定できるセクション。パッケージを使用すると、アプリケーション開発に使用されるソフトウェアパッケージを安全に保存および共有できます。

パッケージの詳細については、「CodeCatalyst でソフトウェアパッケージを公開および共有する」を参照してください。

対応する UI: [設定] タブ/[パッケージ]

NpmConfiguration

(action-name/Configuration/Packages/NpmConfiguration)

(Packages が含まれている場合は必須)

npm パッケージ形式の設定を定義するセクション。この設定は、ワークフローの実行中に アクションによって使用されます。

npm パッケージ設定の詳細については、「npmを使う」を参照してください。

対応する UI: [設定] タブ/[パッケージ]/[設定の追加]/[npm]

PackageRegistries

(action-name/Configuration/Packages/NpmConfiguration/PackageRegistries)

(Packages が含まれている場合は必須)

一連のパッケージリポジトリの設定プロパティを定義できるセクション。

対応する UI: [設定] タブ/[パッケージ]/[設定の追加]/[npm]/[パッケージリポジトリの追加]

PackagesRepository

(action-name/Configuration/Packages/NpmConfiguration/PackageRegistries/PackagesRepository)

(Packages が含まれている場合は必須)

アクションで使用する CodeCatalyst [パッケージリポジトリ] の名前を指定します。

複数のデフォルトリポジトリを指定すると、最後のリポジトリが優先されます。

パッケージリポジトリの作成方法については、「パッケージリポジトリ」を参照してください。

対応する UI: [設定] タブ/[パッケージ]/[設定の追加]/[npm]/[パッケージリポジトリの追加]/[パッケージリポジトリ]

Scopes

(action-name/Configuration/Packages/NpmConfiguration/PackageRegistries/Scopes)

(オプション)

パッケージレジストリで定義する [スコープ] のシーケンスを指定します。スコープを定義する場合、指定されたパッケージリポジトリは、一覧表示されているすべてのスコープのレジストリとして設定されます。スコープを持つパッケージが npm クライアントを介してリクエストされた場合、デフォルトの代わりにそのリポジトリが使用されます。各スコープ名には、「@」というプレフィックスを付ける必要があります。

上書きスコープを含めると、最後のリポジトリが優先されます。

Scopes を省略すると、指定されたパッケージリポジトリは、アクションで使用されるすべてのパッケージのデフォルトレジストリとして構成されます。

スコープの詳細については、「パッケージの名前空間」および「スコープパッケージ」を参照してください。

対応する UI: [設定] タブ/[パッケージ]/[設定の追加]/[npm]/[パッケージリポジトリを追加]/[スコープ - オプション]

ExportAuthorizationToken

(action-name/Configuration/Packages/ExportAuthorizationToken)

(オプション)

エクスポート認証トークン機能を有効または無効にします。有効にすると、エクスポートされた認証トークンを使用して、CodeCatalyst パッケージリポジトリで認証するようにパッケージマネージャーを手動で設定できます。トークンは、アクションで参照できる環境変数として使用できます。

有効な値は true または false です。

ExportAuthorizationToken を省略した場合、デフォルトは false です。

エクスポート認証トークンの詳細については、「ワークフローアクションでの認証トークンの使用」を参照してください。

対応する UI: [設定] タブ/[パッケージ]/[エクスポート認証トークン]