Especificação de imagens de ambiente de runtime
Uma imagem do ambiente de runtime é um contêiner do Docker no qual o CodeCatalyst executa ações do fluxo de trabalho. O contêiner do Docker é executado na plataforma de computação escolhida e inclui um sistema operacional e ferramentas extras de que uma ação de fluxo de trabalho pode precisar, como a AWS CLI, Node.js e .tar.
Por padrão, as ações do fluxo de trabalho serão executadas em uma das imagens ativas fornecidas e mantidas pelo CodeCatalyst. Somente ações de criação e teste oferecem suporte a imagens personalizadas. Para ter mais informações, consulte Atribuir uma imagem do Docker de um ambiente de runtime personalizada a uma ação.
Tópicos
Imagens ativas
Imagens ativas são imagens do ambiente de runtime que são totalmente compatíveis com o CodeCatalyst e incluem ferramentas pré-instaladas. Atualmente, existem dois conjuntos de imagens ativas: um lançado em março de 2024 e outro lançado em novembro de 2022.
O uso da imagem de março de 2024 ou novembro de 2022 depende da ação:
-
As ações de criação e teste adicionadas a um fluxo de trabalho em ou após 26 de março de 2024 incluirão uma seção
Container
na definição de YAML que especifica explicitamente uma imagem de março de 2024. Se desejar, você pode remover a seçãoContainer
para voltar à imagem de novembro de 2022. -
As ações de criação e teste que foram adicionadas a um fluxo de trabalho antes de 26 de março de 2024 não incluirão uma seção
Container
na definição de YAML e, consequentemente, usarão uma imagem de novembro de 2022. É possível manter a imagem de novembro de 2022 ou atualizá-la. Para atualizar a imagem, abra a ação no editor visual, selecione a guia Configuração e selecione a imagem de março de 2024 na lista suspensa Imagem do Docker do ambiente de runtime. Essa seleção adicionará uma seçãoContainer
à definição de YAML da ação que é preenchida com a imagem apropriada de março de 2024. -
Todas as outras ações usarão uma imagem de novembro de 2022 ou uma imagem de março de 2024. Para ter mais informações, consulte a documentação da ação.
Imagens de março de 2024
As imagens de março de 2024 são as imagens mais recentes fornecidas pelo CodeCatalyst. Há uma imagem de março de 2024 por combinação de tipo de computação/frota.
A tabela a seguir mostra as ferramentas instaladas em cada imagem de março de 2024.
Ferramenta | CodeCatalyst Amazon EC2 para Linux x86_64 - CodeCatalystLinux_x86_64:2024_03 |
CodeCatalyst Lambda para Linux x86_64 - CodeCatalystLinuxLambda_x86_64:2024_03 |
CodeCatalyst Amazon EC2 para Linux Arm64 - CodeCatalystLinux_Arm64:2024_03 |
CodeCatalyst Lambda para Linux Arm64 - CodeCatalystLinuxLambda_Arm64:2024_03 |
---|---|---|---|---|
AWS CLI | 2.15.17 | 2.15.17 | 2.15.17 | 2.15.17 |
AWS Copilot CLI | 1.32.1 | 1.32.1 | 1.32.1 | 1.32.1 |
Docker | 24.0.9 | N/D | 24.0.9 | N/D |
Docker Compose | 2.23.3 | N/D | 2.23.3 | N/D |
Git | 2.43.0 | 2.43.0 | 2.43.0 | 2.43.0 |
Go | 1.21.5 | 1.21.5 | 1.21.5 | 1.21.5 |
Gradle | 8.5 | 8.5 | 8.5 | 8.5 |
Java | Corretto17 | Corretto17 | Corretto17 | Corretto17 |
Maven | 3.9.6 | 3.9.6 | 3.9.6 | 3.9.6 |
Node.js | 18.19.0 | 18.19.0 | 18.19.0 | 18.19.0 |
npm | 10.2.3 | 10.2.3 | 10.2.3 | 10.2.3 |
Python | 3.9.18 | 3.9.18 | 3.9.18 | 3.9.18 |
Python3 | 3.11.6 | 3.11.6 | 3.11.6 | 3.11.6 |
pip | 22.3.1 | 22.3.1 | 22.3.1 | 22.3.1 |
.NET | 8.0.100 | 8.0.100 | 8.0.100 | 8.0.100 |
Imagens de novembro de 2022
Há uma imagem de novembro de 2022 por combinação de tipo de computação/frota. Também há uma imagem do Windows de novembro de 2022 disponível com a ação de criação, caso você tenha configurado uma frota provisionada.
A tabela a seguir mostra as ferramentas instaladas em cada imagem de novembro de 2022.
Ferramenta | CodeCatalyst Amazon EC2 para Linux x86_64 - CodeCatalystLinux_x86_64:2022_11 |
CodeCatalyst Lambda para Linux x86_64 - CodeCatalystLinuxLambda_x86_64:2022_11 |
CodeCatalyst Amazon EC2 para Linux Arm64 - CodeCatalystLinux_Arm64:2022_11 |
CodeCatalyst Lambda para Linux Arm64 - CodeCatalystLinuxLambda_Arm64:2022_11 |
CodeCatalyst Amazon EC2 para Windows x86_64 - CodeCatalystWindows_x86_64:2022_11 |
---|---|---|---|---|---|
AWS CLI | 2.15.17 | 2.15.17 | 2.15.17 | 2.15.17 | 2.13.19 |
AWS Copilot CLI | 0.6.0 | 0.6.0 | N/D | N/D | 1.30.1 |
Docker | 23.01 | N/D | 23.0.1 | N/D | N/D |
Docker Compose | 2.16.0 | N/D | 2.16.0 | N/D | N/D |
Git | 2.40.0 | 2.40.0 | 2.39.2 | 2.39.2 | 2.42.0 |
Go | 1.20.2 | 1.20.2 | 1.20.1 | 1.20.1 | 1.19 |
Gradle | 8.0.2 | 8.0.2 | 8.0.1 | 8.0.1 | 8.3 |
Java | Corretto17 | Corretto17 | Corretto17 | Corretto17 | Corretto17 |
Maven | 3.9.4 | 3.9.4 | 3.9.0 | 3.9.0 | 3.9.4 |
Node.js | 16.20.2 | 16.20.2 | 16.19.1 | 16.14.2 | 16.20.0 |
npm | 8.19.4 | 8.19.4 | 8.19.3 | 8.5.0 | 8.19.4 |
Python | 3.9.15 | 2.7.18 | 3.11.2 | 2.7.18 | 3.9.13 |
Python3 | N/D | 3.9.15 | N/D | 3.11.2 | N/D |
pip | 22.2.2 | 22.2.2 | 23.0.1 | 23.0.1 | 22.0.4 |
.NET | 6.0.407 | 6.0.407 | 6.0.406 | 6.0.406 | 6.0.414 |
E se uma imagem ativa não incluir as ferramentas de que preciso?
Se nenhuma das imagens ativas fornecidas pelo CodeCatalyst incluir as ferramentas necessárias, você tem algumas opções:
-
Você pode fornecer uma imagem do Docker de ambiente de runtime personalizada que inclua as ferramentas necessárias. Para ter mais informações, consulte Atribuir uma imagem do Docker de um ambiente de runtime personalizada a uma ação.
nota
Se você quiser fornecer uma imagem do Docker de ambiente de runtime personalizada, a imagem personalizada deverá ter o Git instalado nela.
-
Você pode fazer com que a ação de criação ou teste do fluxo de trabalho instale as ferramentas necessárias.
Por exemplo, você pode incluir as seguintes instruções na seção
Steps
do código YAML da ação de criação ou teste:Configuration: Steps: - Run: ./
setup-script
A instrução
setup-script
executaria o seguinte script para instalar o gerenciador de pacotes Node (npm):#!/usr/bin/env bash echo "Setting up environment" touch ~/.bashrc curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash source ~/.bashrc nvm install v16.1.0 source ~/.bashrc
Para ter mais informações sobre o YAML da ação de criação, consulte Ações de criação e de teste YAML.
Atribuir uma imagem do Docker de um ambiente de runtime personalizada a uma ação
Se você não quiser usar uma imagem ativa fornecida pelo CodeCatalyst, forneça uma imagem do Docker de ambiente de runtime personalizada. Se você quiser fornecer uma imagem personalizada, ela deverá ter o Git instalado. A imagem pode residir no Docker Hub, no Amazon Elastic Container Registry ou em qualquer repositório público.
Para saber como criar uma imagem do Docker personalizada, consulte Criar contêineres em uma aplicação
Use as instruções a seguir para atribuir a imagem do Docker de ambiente de runtime personalizada a uma ação. Depois de especificar uma imagem, o CodeCatalyst a implanta em sua plataforma de computação quando a ação começa.
nota
As ações a seguir não oferecem suporte a imagens do Docker de ambiente de runtime personalizadas: Implantar a pilha do AWS CloudFormation, Implantar no ECS e GitHub Actions. As imagens do Docker de ambiente de runtime personalizadas também não oferecem suporte ao tipo de computação Lambda.
Exemplos
Os exemplos a seguir mostram como atribuir uma imagem do Docker de ambiente de runtime personalizada a uma ação no arquivo de definição do fluxo de trabalho.
Tópicos
Exemplo: uso de uma imagem do Docker de ambiente de runtime personalizada para adicionar suporte ao Node.js 18 com o Amazon ECR
O exemplo a seguir mostra como usar uma imagem do Docker de ambiente de runtime personalizada para adicionar suporte ao Node.js 18 com o Amazon ECR
Configuration: Container: Registry: ECR Image: public.ecr.aws/amazonlinux/amazonlinux:2023
Exemplo: uso de uma imagem do Docker de ambiente de runtime personalizada para adicionar suporte ao Node.js 18 com o Docker Hub
O exemplo a seguir mostra como usar uma imagem do Docker de ambiente de runtime personalizada para adicionar suporte ao Node.js 18 com o Docker Hub
Configuration: Container: Registry: DockerHub Image: node:18.18.2