Ações de criação e de teste YAML - Amazon CodeCatalyst

Ações de criação e de teste YAML

Veja a seguir a definição YAML das ações de criação e de teste. Há uma referência para duas ações porque as propriedades YAML de cada uma são muito semelhantes.

Essa definição de ação existe como uma seção dentro de um arquivo de definição de fluxo de trabalho mais amplo. Para obter mais informações sobre esse arquivo, consulte Definição do YAML do fluxo de trabalho.

Escolha uma propriedade YAML no código a seguir para ver uma descrição dela.

nota

A maioria das propriedades YAML a seguir tem elementos de interface de usuário correspondentes no editor visual. Para pesquisar um elemento de interface, use Ctrl+F. O elemento será listado com a propriedade YAML associada.

# The workflow definition starts here. # See Propriedades de nível superior 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

(Obrigatório)

Especifique o nome da ação. Todos os nomes de ação devem ser exclusivos no fluxo de trabalho. Os nomes de ação são limitados a caracteres alfanuméricos (a-z, A-Z, 0-9), hifens (-) e sublinhados (_). Não são permitidos espaços. Não é possível usar aspas para habilitar caracteres especiais e espaços nos nomes de ação.

Interface de usuário correspondente: guia Configuração/Nome da ação

Identifier

(action-name/Identifier)

Identifica a ação. Não altere essa propriedade, a menos que você queira alterar a versão. Para ter mais informações, consulte Especificação da versão da ação a ser usada.

Use aws/build@v1 para ações de criação.

Use aws/managed-test@v1 para ações de teste.

Interface de usuário correspondente: rótulo do diagrama de fluxo de trabalho/Action-name/aws/build@v1|aws/managed-test@v1

DependsOn

(action-name/DependsOn)

(Opcional)

Especifique uma ação, um grupo de ação ou um portão que deve ser executado com êxito para que essa ação seja executada.

Para ter mais informações sobre a funcionalidade “Depende de”, consulte Sequenciar ações.

Interface de usuário correspondente: guia Entradas/Depende de - opcional

Compute

(action-name/Compute)

(Opcional)

O mecanismo de computação usado para executar as ações de fluxo de trabalho. É possível especificar a computação em nível de fluxo de trabalho ou em nível de ação, mas não em ambos. Quando especificada em nível de fluxo de trabalho, a configuração de computação se aplica a todas as ações definidas no fluxo de trabalho. Em nível de fluxo de trabalho, também é possível realizar várias ações na mesma instância. Para ter mais informações, consulte Compartilhamento de computação entre ações.

Interface de usuário correspondente: nenhuma

Type

(action-name/Compute/Type)

(Obrigatório se Compute for incluído)

O tipo do mecanismo de computação. É possível usar um dos seguintes valores:

  • EC2 (editor visual) ou EC2 (editor YAML)

    Otimizado para flexibilidade durante as execuções de ação.

  • Lambda (editor visual) ou Lambda (editor YAML)

    Velocidades otimizadas de inicialização da ação.

Para obter informações sobre tipos de dados, consulte Tipos de computação.

Interface de usuário correspondente: guia Configuração/Tipo de computação

Fleet

(action-name/Compute/Fleet)

(Opcional)

Especifique a máquina ou a frota que executará o fluxo de trabalho ou as ações de fluxo de trabalho. Com frotas sob demanda, quando uma ação é iniciada, o fluxo de trabalho provisiona os recursos necessários e as máquinas são destruídas quando a ação termina. Exemplos de frota sob demanda: Linux.x86-64.Large, Linux.x86-64.XLarge. Para ter mais informações sobre frotas sob demanda, consulte Propriedades da frota sob demanda.

Com frotas provisionadas, você configura um conjunto de máquinas dedicadas para realizar as ações do fluxo de trabalho. Essas máquinas permanecem ociosas, prontas para processar ações imediatamente. Para ter mais informações sobre frotas provisionadas, consulte Propriedades da frota provisionada.

Se Fleet for omitido, o padrão será Linux.x86-64.Large.

Interface de usuário correspondente: guia Configuração/Frota de computação

Timeout

(action-name/Timeout)

(Opcional)

Especifique a quantidade de tempo em minutos (editor YAML) ou horas e minutos (editor visual) que a ação pode ser realizada antes que o CodeCatalyst termine a ação. O mínimo é de cinco minutos e o máximo está descrito em Cotas para fluxos de trabalho no CodeCatalyst. O tempo limite padrão é igual ao tempo limite máximo.

Interface de usuário correspondente: guia Configuração/Tempo limite - opcional

Environment

(action-name/Environment)

(Opcional)

Especifique o ambiente do CodeCatalyst a ser usado com a ação. A ação se conecta à Conta da AWS e à Amazon VPC opcional especificada no ambiente escolhido. A ação usa o perfil do IAM padrão especificado no ambiente para se conectar à Conta da AWS e usa o perfil do IAM especificado na conexão da Amazon VPC para se conectar à Amazon VPC.

nota

Se o perfil do IAM padrão não tiver as permissões exigidas pela ação, você poderá configurar a ação para usar um perfil diferente. Para ter mais informações, consulte Alteração do perfil do IAM de uma ação.

Para ter mais informações sobre ambientes, consulte Implantação em Contas da AWS e VPCs e Criar um ambiente.

Interface de usuário correspondente: guia Configuração/Ambiente

Name

(action-name/Environment/Name)

(Opcional)

Especifique o nome de um ambiente existente que deseja associar à ação.

Interface de usuário correspondente: guia Configuração/Ambiente

Connections

(action-name/Environment/Connections)

(Opcional)

Especifique a conexão da conta a ser associada à ação. É possível especificar no máximo uma conexão de conta em Environment.

Se você não especificar uma conexão de conta:

  • A ação usa a conexão da Conta da AWS e o perfil do IAM padrão especificados no ambiente no console do CodeCatalyst. Para ter informações sobre como adicionar uma conexão de conta e um perfil do IAM padrão ao ambiente, consulte Criar um ambiente.

  • O perfil do IAM padrão deve incluir as políticas e as permissões exigidas pela ação. Para determinar quais são essas políticas e permissões, consulte a descrição da propriedade Perfil na documentação de definição de YAML da ação.

Para ter mais informações sobre conexões de conta, consulte Permissão do acesso a recursos da AWS com Contas da AWS conectadas. Para ter informações sobre como adicionar uma conexão de conta a um ambiente, consulte Criar um ambiente.

Interface de usuário correspondente: guia Configuração/Ambiente/O que há no meu ambiente?/menu de três pontos/Mudar de perfil

Name

(action-name/Environment/Connections/Name)

(Obrigatório se Connections for incluído)

Especifique o nome da conexão da conta.

Interface de usuário correspondente: guia Configuração/Ambiente/O que há no meu ambiente?/menu de três pontos/Mudar de perfil

Role

(action-name/Environment/Connections/Role)

(Obrigatório se Connections for incluído)

Especifique o nome do perfil do IAM que essa ação usa para acessar e operar em serviços da AWS, como o Amazon S3 e o Amazon ECR. Esse perfil deve ser adicionado à conexão da Conta da AWS no espaço. Para adicionar um perfil do IAM a uma conexão de conta, consulte Adicionar perfis do IAM às conexões da conta.

Se você não especificar um perfil do IAM, a ação usará o perfil padrão listado no ambiente no console do CodeCatalyst. Se você usar o perfil padrão no ambiente, verifique se ele tem as políticas a seguir.

nota

É possível usar o perfil CodeCatalystWorkflowDevelopmentRole-spaceName com essa ação. Para obter mais informações sobre essa função, consulte Criar o perfil CodeCatalystWorkflowDevelopmentRole-spaceName para a conta e o espaço. Entenda que o perfil CodeCatalystWorkflowDevelopmentRole-spaceName tem permissões de acesso completas, o que pode representar um risco de segurança. Recomendamos que você use esse perfil apenas em tutoriais e em cenários em que a segurança seja menos preocupante.

Atenção

Limite as permissões às exigidas pelas ações de criação e de teste. Usar um perfil com permissões mais amplas pode representar um risco de segurança.

Interface de usuário correspondente: guia Configuração/Ambiente/O que há no meu ambiente?/menu de três pontos/Mudar de perfil

Caching

(action-name/Caching)

(Opcional)

Uma seção na qual você pode especificar um cache para salvar arquivos em disco e restaurá-los desse cache em execuções subsequentes do fluxo de trabalho.

Para ter mais informações sobre armazenamento de arquivos em cache, consulte Armazenar arquivos em cache entre execuções de fluxo de trabalho.

Interface de usuário correspondente: guia Configuração/Armazenamento de arquivos em cache - opcional

FileCaching

(action-name/Caching/FileCaching)

(Opcional)

Uma seção que especifica a configuração de uma sequência de caches.

Interface de usuário correspondente: guia Configuração/Armazenamento de arquivos em cache - opcional/Adicionar cache

key-name-1

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

(Opcional)

Especifique o nome da propriedade de cache principal. Os nomes de propriedade de cache devem ser exclusivos no fluxo de trabalho. Cada ação pode ter até cinco entradas em FileCaching.

Interface de usuário correspondente: guia Configuração/Armazenamento de arquivos em cache - opcional/Adicionar cache/Chave

Path

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

(Opcional)

Especifique o caminho associado ao cache.

Interface de usuário correspondente: guia Configuração/Armazenamento de arquivos em cache - opcional/Adicionar cache/Caminho

RestoreKeys

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

(Opcional)

Especifique a chave de restauração a ser usada como fallback quando a propriedade do cache principal não puder ser encontrada. Os nomes de chave de restauração devem ser exclusivos no fluxo de trabalho. Cada cache pode ter até cinco entradas em RestoreKeys.

Interface de usuário correspondente: guia Configuração/Armazenamento de arquivos em cache - opcional/Adicionar cache/Chaves de restauração - opcional

Inputs

(action-name/Inputs)

(Opcional)

A seção Inputs define os dados de que uma ação precisa durante a execução de um fluxo de trabalho.

nota

São permitidas no máximo quatro entradas (uma origem e três artefatos) por ação de criação ou de teste. As variáveis não são contadas nesse total.

Se você precisar consultar arquivos que residem em entradas diferentes (digamos, uma origem e um artefato), a entrada de origem será a entrada primária e o artefato será a entrada secundária. As referências a arquivos em entradas secundárias usam um prefixo especial para diferirem das primárias. Para obter detalhes, consulte Exemplo: referência de arquivos em vários artefatos.

Interface de usuário correspondente: guia Entradas

Sources

(action-name/Inputs/Sources)

(Opcional)

Especifique os rótulos que representam os repositórios de origem que serão necessários para a ação. Atualmente, o único rótulo compatível é WorkflowSource, que representa o repositório de origem em que o arquivo de definição de fluxo de trabalho está armazenado.

Se você omitir uma origem, deverá especificar pelo menos um artefato de entrada em action-name/Inputs/Artifacts.

Para obter mais informações sobre fontes, consulte Conectar repositórios de origem aos fluxos de trabalho.

Interface de usuário correspondente: nenhuma

Artifacts - input

(action-name/Inputs/Artifacts)

(Opcional)

Especifique artefatos de ações anteriores que você deseja fornecer como entrada para essa ação. Esses artefatos já devem estar definidos como artefatos de saída em ações anteriores.

Se você não especificar nenhum artefato de entrada, deverá especificar pelo menos um repositório de origem em action-name/Inputs/Sources.

Para ter mais informações sobre artefatos, inclusive exemplos, consulte Compartilhar artefatos e arquivos entre ações.

nota

Se a lista suspensa Artefatos – opcional não estiver disponível (editor visual) ou se você receber erros ao validar o YAML (editor YAML), talvez seja porque a ação permite apenas uma entrada. Nesse caso, tente remover a entrada de origem.

Interface de usuário correspondente: guia Entradas/Artefatos - opcional

Variables - input

(action-name/Inputs/Variables)

(Opcional)

Especifique uma sequência de pares de nome/valor que definam as variáveis de entrada que você deseja disponibilizar para a ação. Os nomes de variável são limitados a caracteres alfanuméricos (a-z, A-Z, 0-9), hifens (-) e sublinhados (_). Não são permitidos espaços. Não é possível usar aspas para habilitar caracteres especiais e espaços nos nomes de variável.

Para ter mais informações sobre variáveis, inclusive exemplos, consulte Uso de variáveis em fluxos de trabalho.

Interface de usuário correspondente: guia Entradas/Variáveis - opcional

Outputs

(action-name/Outputs)

(Opcional)

Define os dados que são gerados pela ação durante a execução de um fluxo de trabalho.

Interface de usuário correspondente: guia Saídas

Artifacts - output

(action-name/Outputs/Artifacts)

(Opcional)

Especifique o nome de um artefato gerado pela ação. Os nomes de artefato devem ser exclusivos em um fluxo de trabalho e estão limitados a caracteres alfanuméricos (a-z, A-Z, 0-9) e sublinhados (_). Espaços, hifens (-) e outros caracteres especiais não são permitidos. Não é possível usar aspas para habilitar espaços, hifens e outros caracteres especiais em nomes de artefato de saída.

Para ter mais informações sobre artefatos, inclusive exemplos, consulte Compartilhar artefatos e arquivos entre ações.

Interface de usuário correspondente: guia Saídas/Artefatos

Name

(action-name/Outputs/Artifacts/Name)

(Obrigatório se Artifacts - output for incluído)

Especifique o nome de um artefato gerado pela ação. Os nomes de artefato devem ser exclusivos em um fluxo de trabalho e estão limitados a caracteres alfanuméricos (a-z, A-Z, 0-9) e sublinhados (_). Espaços, hifens (-) e outros caracteres especiais não são permitidos. Não é possível usar aspas para habilitar espaços, hifens e outros caracteres especiais em nomes de artefato de saída.

Para ter mais informações sobre artefatos, inclusive exemplos, consulte Compartilhar artefatos e arquivos entre ações.

Interface de usuário correspondente: guia Saídas/Artefatos/Nova saída/Nome do artefato de criação

Files

(action-name/Outputs/Artifacts/Files)

(Obrigatório se Artifacts - output for incluído)

Especifique os arquivos que o CodeCatalyst inclui no artefato gerado pela ação. Esses arquivos são gerados pela ação do fluxo de trabalho quando ela é executada e também estão disponíveis no repositório de origem. Os caminhos de arquivo podem residir em um repositório de origem ou em um artefato de uma ação anterior e são relativos ao repositório de origem ou à raiz do artefato. É possível usar padrões glob para especificar caminhos. Exemplos:

  • Para especificar um único arquivo que esteja na raiz do local de compilação ou do local do repositório de origem, use my-file.jar.

  • Para especificar um único arquivo em um subdiretório, use directory/my-file.jar ou directory/subdirectory/my-file.jar.

  • Para especificar todos os arquivos, use "**/*". O padrão glob ** indica que corresponde a qualquer número de subdiretórios.

  • Para especificar todos os arquivos e diretórios em um diretório chamado directory, use "directory/**/*". O padrão glob ** indica que corresponde a qualquer número de subdiretórios.

  • Para especificar todos os arquivos em um diretório chamado directory, mas não em nenhum de seus subdiretórios, use "directory/*".

nota

Se o caminho do arquivo incluir um ou mais asteriscos (*) ou outro caractere especial, coloque o caminho entre aspas duplas (""). Para ter mais informações sobre caracteres especiais, consulte Diretrizes e convenções de sintaxe.

Para ter mais informações sobre artefatos, inclusive exemplos, consulte Compartilhar artefatos e arquivos entre ações.

nota

Talvez seja necessário adicionar um prefixo ao caminho do arquivo para indicar em qual artefato ou origem encontrá-lo. Para ter mais informações, consulte Fazer referência a arquivos do repositório de origem e Referência de arquivos em um artefato.

Interface de usuário correspondente: guia Saídas/Artefatos/Nova saída/Arquivos produzidos pela criação

Variables - output

(action-name/Outputs/Variables)

(Opcional)

Especifique as variáveis que você deseja que a ação exporte para que estejam disponíveis para uso em ações subsequentes.

Para ter mais informações sobre variáveis, inclusive exemplos, consulte Uso de variáveis em fluxos de trabalho.

Interface de usuário correspondente: guia Saídas/Variáveis/Adicionar variável

variable-name-1

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

(Opcional)

Especifique o nome de uma variável a ser exportada pela ação. Essa variável já deve estar definida na seção Inputs ou Steps da mesma ação.

Para ter mais informações sobre variáveis, inclusive exemplos, consulte Uso de variáveis em fluxos de trabalho.

Interface de usuário correspondente: guia Saídas/Variáveis/Adicionar variável/Nome

AutoDiscoverReports

(action-name/Outputs/AutoDiscoverReports)

(Opcional)

Define a configuração do recurso de descoberta automática.

Quando você ativa a descoberta automática, o CodeCatalyst pesquisa todas as Inputs transmitidas para a ação, bem como todos os arquivos gerados pela própria ação, procurando relatórios de teste, cobertura de código e análise de composição de software (SCA). Cada relatório encontrado é transformado em um relatório do CodeCatalyst. Relatório do CodeCatalyst é um relatório totalmente integrado ao serviço CodeCatalyst e pode ser visualizado e manipulado por meio do console do CodeCatalyst.

nota

Por padrão, o recurso de descoberta automática inspeciona todos os arquivos. É possível limitar quais arquivos são inspecionados usando as propriedades IncludePaths ou ExcludePaths.

Interface de usuário correspondente: guia Saídas/Relatórios/Relatórios de descoberta automática

Enabled

(action-name/Outputs/AutoDiscoverReports/Enabled)

(Opcional)

Habilite ou desabilite o recurso de descoberta automática.

Os valores válidos são true ou false.

Se Enabled for omitido, o padrão será true.

Interface de usuário correspondente: guia Saídas/Relatórios/Relatórios de descoberta automática

ReportNamePrefix

(action-name/Outputs/AutoDiscoverReports/ReportNamePrefix)

(Obrigatório se AutoDiscoverReports estiver incluído e habilitado)

Especifique um prefixo que o CodeCatalyst anexa a todos os relatórios encontrados para nomear os relatórios associados do CodeCatalyst. Por exemplo, se você especificar um prefixo AutoDiscovered, e o CodeCatalyst descobrir automaticamente dois relatórios de teste, TestSuiteOne.xml e TestSuiteTwo.xml, os relatórios associados do CodeCatalyst serão chamados de AutoDiscoveredTestSuiteOne e AutoDiscoveredTestSuiteTwo.

Interface de usuário correspondente: guia Saídas/Relatórios/Nome do prefixo

IncludePaths

(action-name/Outputs/AutoDiscoverReports/IncludePaths)

Ou

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

(Obrigatório se AutoDiscoverReports estiver incluído e habilitado ou se Reports estiver incluído)

Especifique os arquivos e os caminhos de arquivo que o CodeCatalyst inclui ao procurar relatórios brutos. Por exemplo, se você especificar "/test/report/*", o CodeCatalyst pesquisará toda a imagem de compilação usada pela ação procurando o diretório /test/report/*. Quando encontra esse diretório, o CodeCatalyst procura relatórios nesse diretório.

nota

Se o caminho do arquivo incluir um ou mais asteriscos (*) ou outros caracteres especiais, coloque o caminho entre aspas duplas (""). Para ter mais informações sobre caracteres especiais, consulte Diretrizes e convenções de sintaxe.

Se essa propriedade for omitida, o padrão será "**/*", o que significa que a pesquisa inclui todos os arquivos em todos os caminhos.

nota

Em relatórios configurados manualmente, IncludePaths deverá ser um padrão global que corresponda a um único arquivo.

Interface de usuário correspondente:

  • Guia Saídas/Relatórios/Descoberta automática de relatórios/Incluir/Excluir caminhos/Incluir caminhos

  • Guia Saídas/Relatórios/Configurar manualmente os relatórios/report-name-1/Incluir/Excluir caminhos/Incluir caminhos

ExcludePaths

(action-name/Outputs/AutoDiscoverReports/ExcludePaths)

Ou

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

(Opcional)

Especifique os arquivos e os caminhos de arquivo que o CodeCatalyst exclui ao procurar relatórios brutos. Por exemplo, se você especificar "/test/my-reports/**/*", o CodeCatalyst não vai procurar arquivos no diretório /test/my-reports/. Para ignorar todos os arquivos em um diretório, use o padrão de glob **/*.

nota

Se o caminho do arquivo incluir um ou mais asteriscos (*) ou outros caracteres especiais, coloque o caminho entre aspas duplas (""). Para ter mais informações sobre caracteres especiais, consulte Diretrizes e convenções de sintaxe.

Interface de usuário correspondente:

  • Guia Saídas/Relatórios/Descoberta automática de relatórios/Incluir/Excluir caminhos/Excluir caminhos

  • Guia Saídas/Relatórios/Configurar manualmente os relatórios/report-name-1/Incluir/Excluir caminhos/Excluir caminhos

SuccessCriteria

(action-name/Outputs/AutoDiscoverReports/SuccessCriteria)

Ou

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

(Opcional)

Especifique os critérios de sucesso para os relatórios de teste, cobertura de código, análise de composição de software (SCA) e análise estática (SA).

Para ter mais informações, consulte Configuração de critérios de sucesso para relatórios.

Interface de usuário correspondente: guia Saída/Relatórios/Critérios de sucesso

PassRate

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

Ou

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

(Opcional)

Especifique a porcentagem de testes em um relatório de teste que devem ser aprovados para que o relatório associado do CodeCatalyst seja marcado como aprovado. Os valores válidos são números decimais. Por exemplo: 50, 60.5. Os critérios de taxa de aprovação são aplicados somente aos relatórios de teste. Para ter mais informações sobre os relatórios de teste, consulte Relatórios de teste.

Interface de usuário correspondente: guia Saída/Relatórios/Critérios de sucesso/Taxa de aprovação

LineCoverage

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

Ou

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

(Opcional)

Especifique a porcentagem de linhas em um relatório de cobertura de código que deve ser coberta para que o relatório associado do CodeCatalyst seja marcado como aprovado. Os valores válidos são números decimais. Por exemplo: 50, 60.5. Os critérios de cobertura de linha são aplicados somente aos relatórios de cobertura de código. Para ter mais informações sobre relatórios de cobertura de código, consulte Relatórios de cobertura de código.

Interface de usuário correspondente: guia Saída/Relatórios/Critérios de sucesso/Cobertura de linha

BranchCoverage

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

Ou

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

(Opcional)

Especifique a porcentagem de ramificações em um relatório de cobertura de código que deve ser coberta para que o relatório associado do CodeCatalyst seja marcado como aprovado. Os valores válidos são números decimais. Por exemplo: 50, 60.5. Os critérios de cobertura de ramificações são aplicados somente aos relatórios de cobertura de código. Para ter mais informações sobre relatórios de cobertura de código, consulte Relatórios de cobertura de código.

Interface de usuário correspondente: guia Saída/Relatórios/Critérios de sucesso/Cobertura de ramificações

Vulnerabilities

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

Ou

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

(Opcional)

Especifique o número máximo e a gravidade das vulnerabilidades permitidas no relatório de SCA para que o relatório associado do CodeCatalyst seja marcado como aprovado. Para especificar vulnerabilidades, é necessário especificar:

  • A gravidade mínima das vulnerabilidades que você deseja incluir na contagem. Os valores válidos, do mais grave para o menos grave, são: CRITICAL, HIGH, MEDIUM, LOW e INFORMATIONAL.

    Por exemplo, se você escolher HIGH, as vulnerabilidades HIGH e CRITICAL serão contabilizadas.

  • O número máximo de vulnerabilidades da gravidade especificada que você deseja permitir. Exceder esse número faz com que o relatório do CodeCatalyst seja marcado como reprovado. Os valores válidos são números inteiros.

Os critérios de vulnerabilidade são aplicados somente aos relatórios de SCA. Para ter mais informações sobre os relatórios de SCA, consulte Relatórios de análise de composição de software.

Para especificar a gravidade mínima, use a propriedade Severity. Para especificar o número máximo de vulnerabilidades, use a propriedade Number.

Interface de usuário correspondente: guia Saída/Relatórios/Critérios de sucesso/Vulnerabilidades

StaticAnalysisBug

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

Ou

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

(Opcional)

Especifique o número máximo e a gravidade dos bugs permitidos no relatório de SA para que o relatório associado do CodeCatalyst seja marcado como aprovado. Para especificar bugs, é necessário especificar:

  • A gravidade mínima dos bugs que você deseja incluir na contagem. Os valores válidos, do mais grave para o menos grave, são: CRITICAL, HIGH, MEDIUM, LOW e INFORMATIONAL.

    Por exemplo, se você escolher HIGH, os bugs HIGH e CRITICAL serão contabilizados.

  • O número máximo de bugs da gravidade especificada que você deseja permitir. Exceder esse número faz com que o relatório do CodeCatalyst seja marcado como reprovado. Os valores válidos são números inteiros.

Os critérios de bugs são aplicados somente aos relatórios PyLint e ESLint SA. Para ter mais informações sobre os relatórios SA, consulte Relatórios de análise estática.

Para especificar a gravidade mínima, use a propriedade Severity. Para especificar o número máximo de vulnerabilidades, use a propriedade Number.

Interface de usuário correspondente: guia Saída/Relatórios/Critérios de sucesso/Bugs

StaticAnalysisSecurity

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

Ou

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

(Opcional)

Especifique o número máximo e a gravidade das vulnerabilidades de segurança permitidas no relatório de SA para que o relatório associado do CodeCatalyst seja marcado como aprovado. Para especificar vulnerabilidades de segurança, é necessário especificar:

  • A gravidade mínima das vulnerabilidades de segurança que você deseja incluir na contagem. Os valores válidos, do mais grave para o menos grave, são: CRITICAL, HIGH, MEDIUM, LOW e INFORMATIONAL.

    Por exemplo, se você escolher HIGH, as vulnerabilidades de segurança HIGH e CRITICAL serão contabilizadas.

  • O número máximo de vulnerabilidades de segurança da gravidade especificada que você deseja permitir. Exceder esse número faz com que o relatório do CodeCatalyst seja marcado como reprovado. Os valores válidos são números inteiros.

Os critérios de vulnerabilidades de segurança são aplicados somente aos relatórios PyLint e ESLint SA. Para ter mais informações sobre os relatórios SA, consulte Relatórios de análise estática.

Para especificar a gravidade mínima, use a propriedade Severity. Para especificar o número máximo de vulnerabilidades, use a propriedade Number.

Interface de usuário correspondente: guia Saída/Relatórios/Critérios de sucesso/Vulnerabilidades de segurança

StaticAnalysisQuality

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

Ou

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

(Opcional)

Especifique o número máximo e a gravidade dos problemas de qualidade permitidos no relatório de SA para que o relatório associado do CodeCatalyst seja marcado como aprovado. Para especificar problemas de qualidade, é necessário especificar:

  • A gravidade mínima dos problemas de qualidade que você deseja incluir na contagem. Os valores válidos, do mais grave para o menos grave, são: CRITICAL, HIGH, MEDIUM, LOW e INFORMATIONAL.

    Por exemplo, se você escolher HIGH, os problemas de qualidade HIGH e CRITICAL serão contabilizados.

  • O número máximo de problemas de qualidade da gravidade especificada que você deseja permitir. Exceder esse número faz com que o relatório do CodeCatalyst seja marcado como reprovado. Os valores válidos são números inteiros.

Os critérios de problemas de qualidade são aplicados somente aos relatórios PyLint e ESLint SA. Para ter mais informações sobre os relatórios SA, consulte Relatórios de análise estática.

Para especificar a gravidade mínima, use a propriedade Severity. Para especificar o número máximo de vulnerabilidades, use a propriedade Number.

Interface de usuário correspondente: guia Saída/Relatórios/Critérios de sucesso/Problemas de qualidade

StaticAnalysisFinding

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

Ou

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

(Opcional)

Especifique o número máximo e a gravidade das descobertas permitidas no relatório de SA para que o relatório associado do CodeCatalyst seja marcado como aprovado. Para especificar descobertas, é necessário especificar:

  • A gravidade mínima das descobertas que você deseja incluir na contagem. Os valores válidos, do mais grave para o menos grave, são: CRITICAL, HIGH, MEDIUM, LOW e INFORMATIONAL.

    Por exemplo, se você escolher HIGH, as descobertas HIGH e CRITICAL serão contabilizadas.

  • O número máximo de descobertas da gravidade especificada que você deseja permitir. Exceder esse número faz com que o relatório do CodeCatalyst seja marcado como reprovado. Os valores válidos são números inteiros.

As descobertas são aplicadas somente aos relatórios de SARIF SA. Para ter mais informações sobre os relatórios SA, consulte Relatórios de análise estática.

Para especificar a gravidade mínima, use a propriedade Severity. Para especificar o número máximo de vulnerabilidades, use a propriedade Number.

Interface de usuário correspondente: guia Saída/Relatórios/Critérios de sucesso/Descobertas

Reports

(action-name/Outputs/Reports)

(Opcional)

Uma seção que especifica a configuração dos relatórios de teste.

Interface de usuário correspondente: guia Saídas/Relatórios

report-name-1

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

(Obrigatório se Reports for incluído)

O nome que você deseja atribuir ao relatório do CodeCatalyst que será gerado com base nos relatórios brutos.

Interface de usuário correspondente: guia Saídas/Relatórios/Configurar manualmente os relatórios/Nome do relatório

Format

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

(Obrigatório se Reports for incluído)

Especifique o formato de arquivo utilizado para os relatórios. Veja a seguir os valores possíveis.

  • Para relatórios de teste:

    • Para Cucumber JSON, especifique Cucumber (editor visual) ou CUCUMBERJSON (editor YAML).

    • Para JUnit XML, especifique JUnit (editor visual) ou JUNITXML (editor YAML).

    • Para NUnit XML, especifique NUnit (editor visual) ou NUNITXML (editor YAML).

    • Para NUnit 3 XML, especifique NUnit3 (editor visual) ou NUNIT3XML (editor YAML).

    • Para Visual Studio TRX, especifique Visual Studio TRX (editor visual) ou VISUALSTUDIOTRX (editor YAML).

    • Para TestNG XML, especifique TestNG (editor visual) ou TESTNGXML (editor YAML).

  • Para relatórios de cobertura de código:

    • Para Clover XML, especifique Clover (editor visual) ou CLOVERXML (editor YAML).

    • Para Cobertura XML, especifique Cobertura (editor visual) ou COBERTURAXML (editor YAML).

    • Para JaCoCo XML, especifique JaCoCo (editor visual) ou JACOCOXML (editor YAML).

    • Para SimpleCov JSON gerado por simplecov, não simplecov-json, especifique Simplecov (editor visual) ou SIMPLECOV (editor YAML).

  • Para relatórios de análise de composição de software (SCA):

    • Para SARIF, especifique SARIF (editor visual) ou SARIFSCA (editor YAML).

Interface de usuário correspondente: guia Saídas/Relatórios/Configurar manualmente relatórios/Adicionar/configurar relatórios/report-name-1/Tipo de relatório e Formato de relatório

Configuration

(action-name/Configuration)

(Obrigatório) Uma seção na qual você pode definir as propriedades de configuração da ação.

Interface de usuário correspondente: guia Configuração

Container

(action-name/Configuration/Container)

(Opcional)

Especifique a imagem do Docker, ou contêiner, que a ação usa para concluir o processamento. É possível especificar uma das imagens ativas que vêm com o CodeCatalyst ou usar a própria imagem. Se você optar por usar a própria imagem, ela poderá residir no Amazon ECR, no Docker Hub ou em outro registro. Se você não especificar uma imagem do Docker, a ação usará uma das imagens ativas para processamento. Para ter informações sobre qual imagem ativa é usada por padrão, consulte Imagens ativas.

Para ter mais informações sobre como especificar a própria imagem do Docker, consulte Atribuir uma imagem do Docker de um ambiente de runtime personalizada a uma ação.

Interface de usuário correspondente: Imagem do Docker do runtime - opcional

Registry

(action-name/Configuration/Container/Registry)

(Obrigatório se Container for incluído)

Especifique o registro em que a imagem está armazenada. Os valores válidos são:

  • CODECATALYST (editor YAML)

    A imagem é armazenada no registro do CodeCatalyst.

  • Docker Hub (editor visual) ou DockerHub (editor YAML)

    A imagem é armazenada no registro de imagens do Docker Hub.

  • Outro registro (editor visual) ou Other (editor YAML)

    A imagem é armazenada em um registro de imagem personalizado. Qualquer registro disponível publicamente pode ser usado.

  • Amazon Elastic Container Registry (editor visual) ou ECR (editor YAML)

    A imagem é armazenada em um repositório de imagens do Amazon Elastic Container Registry. Para usar uma imagem em um repositório do Amazon ECR, essa ação precisa acessar o Amazon ECR. Para habilitar esse acesso, é necessário criar um perfil do IAM que inclua as permissões e a política de confiança personalizada a seguir. (Se desejar, você poderá modificar um perfil existente para incluir as permissões e a política.)

    O perfil do IAM deve incluir as seguintes permissões na política:

    • ecr:BatchCheckLayerAvailability

    • ecr:BatchGetImage

    • ecr:GetAuthorizationToken

    • ecr:GetDownloadUrlForLayer

    O perfil do IAM deve incluir a seguinte política de confiança personalizada:

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

    Para ter mais informações sobre como criar perfis do IAM, consulte Criar um perfil usando políticas de confiança personalizadas (console) no Guia do usuário do IAM.

    Depois que você criar o perfil, deverá atribuí-lo à ação por meio de um ambiente. Para ter mais informações, consulte Associação de um ambiente a uma ação.

Interface de usuário correspondente: opções Amazon Elastic Container Registry, Docker Hub e Outro registro

Image

(action-name/Configuration/Container/Image)

(Obrigatório se Container for incluído)

Especifique um dos seguintes:

  • Se você estiver usando um registro CODECATALYST, defina a imagem como uma das seguintes imagens ativas:

    • 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

  • Se você estiver usando um registro do Docker Hub, defina a imagem como o nome da imagem do Docker Hub e a tag opcional.

    Exemplo: postgres:latest

  • Se estiver usando um registro do Amazon ECR, defina a imagem como o URI do registro do Amazon ECR.

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

  • Se estiver usando um registro personalizado, defina a imagem como o valor esperado pelo registro personalizado.

Interface de usuário correspondente: imagem do Docker do ambiente de runtime (se o registro for CODECATALYST), imagem do Docker Hub (se o registro for Docker Hub), URL da imagem do ECR (se o registro for Amazon Elastic Container Registry) e URL da imagem (se o registro for Outro registro).

Steps

(action-name/Configuration/Steps)

(Obrigatório)

Especifique os comandos do shell que você deseja executar durante a ação para instalar, configurar e executar as ferramentas de compilação.

Confira um exemplo de como criar um projeto npm:

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

Veja a seguir um exemplo de como especificar caminhos de arquivo:

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

Para ter mais informações sobre como especificar caminhos de arquivo, consulte Fazer referência a arquivos do repositório de origem e Referência de arquivos em um artefato.

Interface de usuário correspondente: guia Configuração/Comandos de shell

Packages

(action-name/Configuration/Packages)

(Opcional)

Uma seção na qual você pode especificar um repositório de pacotes que a ação usa para resolver dependências. Os pacotes permitem que você armazene e compartilhe com segurança pacotes de software usados para desenvolvimento de aplicações.

Para ter mais informações sobre pacotes, consulte Publicar e compartilhar pacotes de software no CodeCatalyst.

Interface de usuário correspondente: guia Configuração/Pacotes

NpmConfiguration

(action-name/Configuration/Packages/NpmConfiguration)

(Obrigatório se Packages for incluído)

Uma seção que define a configuração para o formato do pacote npm. Essa configuração é usada por uma ação durante a execução de um fluxo de trabalho.

Para ter mais informações sobre a configuração do pacote npm, consulte Uso de npm.

Interface de usuário correspondente: guia Configuração/Pacotes/Adicionar configuração/npm

PackageRegistries

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

(Obrigatório se Packages for incluído)

Uma seção na qual você pode definir as propriedades de configuração de uma sequência de repositórios de pacotes.

Interface de usuário correspondente: guia Configuração/Pacotes/Adicionar configuração/npm/Adicionar repositório de pacotes

PackagesRepository

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

(Obrigatório se Packages for incluído)

Especifique o nome do repositório de pacotes do CodeCatalyst que você deseja que a ação use.

Se você especificar vários repositórios padrão, o último repositório terá prioridade.

Para ter mais informações sobre repositórios de pacote, consulte Repositórios de pacotes.

Interface de usuário correspondente: guia Configuração/Pacotes/Adicionar configuração/npm/Adicionar repositório de pacotes/Repositório de pacotes

Scopes

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

(Opcional)

Especifique uma sequência de escopos que você deseja definir no registro do pacote. Na definição de escopos, o repositório de pacotes especificado é configurado como o registro para todos os escopos listados. Se um pacote com o escopo for solicitado por meio do cliente npm, ele usará esse repositório em vez do padrão. Cada nome de escopo deve ter o prefixo “@”.

Se você incluir escopos substitutos, o último repositório terá prioridade.

Se Scopes for omitido, o repositório de pacotes especificado será configurado como o registro padrão para todos os pacotes usados pela ação.

Para ter mais informações sobre escopos, consulte Namespaces de pacote e Pacotes com escopo definido.

Interface de usuário correspondente: guia Configuração/Pacotes/Adicionar configuração/npm/Adicionar repositório de pacotes/Escopos - opcional

ExportAuthorizationToken

(action-name/Configuration/Packages/ExportAuthorizationToken)

(Opcional)

Habilite ou desabilite o recurso de token de autorização de exportação. Se habilitados, os tokens de autorização exportados poderão ser usados para configurar manualmente um gerenciador de pacotes para autenticação com os repositórios de pacotes do CodeCatalyst. É possível usar o token como uma variável de ambiente que pode ser referida nas ações.

Os valores válidos são true ou false.

Se ExportAuthorizationToken for omitido, o padrão será false.

Para ter mais informações sobre o token de autorização de exportação, consulte Usar tokens de autorização em ações de fluxo de trabalho.

Interface de usuário correspondente: guia Configuração/Pacotes/Token de autorização de exportação