As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Tutorial: Faça upload de artefatos para o Amazon S3
Neste tutorial, você aprende a fazer upload de artefatos em um bucket do Amazon S3 usando um fluxo de trabalho da CodeCatalyst Amazon que inclui algumas ações de criação. Essas ações são executadas em série quando o fluxo de trabalho é iniciado. A primeira ação de construção gera dois arquivos Hello.txt
e Goodbye.txt
os agrupa em um artefato de construção. A segunda ação de construção carrega o artefato para o Amazon S3. Você configurará o fluxo de trabalho para ser executado sempre que enviar um commit para seu repositório de origem.
Tópicos
Pré-requisitos
Antes de começar, você precisará fazer o seguinte:
-
Você precisa de um CodeCatalyst espaço com uma AWS conta conectada. Para obter mais informações, consulte Criando um espaço.
-
Em seu espaço, você precisa de um projeto vazio chamado:
codecatalyst-artifact-project
Use a opção Começar do zero para criar esse projeto.
Para obter mais informações, consulte Criando um projeto vazio na Amazon CodeCatalyst.
-
Em seu projeto, você precisa de um CodeCatalyst ambiente chamado:
codecatalyst-artifact-environment
Configure esse ambiente da seguinte forma:
-
Escolha qualquer tipo, como Desenvolvimento.
-
Conecte sua AWS conta a ela.
-
Para a IAMfunção padrão, escolha qualquer função. Você especificará uma função diferente posteriormente.
Para obter mais informações, consulte Implantação em e Contas da AWS VPCs.
-
Etapa 1: criar uma AWS função
Nesta etapa, você cria uma AWS IAM função que posteriormente atribuirá à ação de criação em seu fluxo de trabalho. Essa função concede à ação de CodeCatalyst construção permissão para acessar sua AWS conta e gravar no Amazon S3, onde seu artefato será armazenado. A função é chamada de função Build.
nota
Se você já tem uma função de criação criada para outro tutorial, você também pode usá-la neste tutorial. Apenas certifique-se de que ele tenha as permissões e a política de confiança mostradas no procedimento a seguir.
Para obter mais informações sobre IAM funções, consulte IAMfunções no Guia AWS AWS Identity and Access Management do usuário.
Para criar uma função de criação
-
Crie uma política para a função, da seguinte forma:
-
Faça login em AWS.
Abra o IAM console em https://console.aws.amazon.com/iam/
. -
No painel de navegação, escolha Policies.
-
Escolha Criar política.
-
Escolha a JSONguia.
-
Exclua o código existente.
-
Cole o seguinte código:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:ListBucket" ], "Resource": "*" } ] }
nota
Na primeira vez em que a função for usada para executar ações de fluxo de trabalho, use o caractere curinga na declaração de política de recursos e, em seguida, defina o escopo da política com o nome do recurso depois que ele estiver disponível.
"Resource": "*"
-
Escolha Próximo: etiquetas.
-
Selecione Next: Review (Próximo: revisar).
-
Em Nome, insira:
codecatalyst-s3-build-policy
-
Escolha Criar política.
Agora você criou uma política de permissões.
-
-
Crie a função de criação, da seguinte forma:
-
No painel de navegação, escolha Perfis e Criar perfil.
-
Escolha a política de confiança personalizada.
-
Exclua a política de confiança personalizada existente.
-
Adicione 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" } ] }
-
Escolha Próximo.
-
Em Políticas de permissões, pesquise
codecatalyst-s3-build-policy
e marque sua caixa de seleção. -
Escolha Próximo.
-
Em Nome da função, digite:
codecatalyst-s3-build-role
-
Em Descrição da função, insira:
CodeCatalyst build role
-
Selecione Criar função.
Agora você criou uma função de criação com uma política de confiança e uma política de permissões.
-
Etapa 2: criar um bucket do Amazon S3
Nesta etapa, você cria um bucket do Amazon S3 no qual os Goodbye.txt
artefatos Hello.txt
e serão carregados.
Como criar um bucket do Amazon S3
Abra o console do Amazon S3 em. https://console.aws.amazon.com/s3/
-
No painel principal, escolha Criar bucket.
-
Em Nome do bucket, insira:
codecatalyst-artifact-bucket
-
Em AWS Region (Região da AWS ), escolha uma região. Este tutorial pressupõe que você escolheu US West (Oregon) us-west-2. Para obter informações sobre regiões suportadas pelo Amazon S3, consulte endpoints e cotas do Amazon Simple Storage Service no. Referência geral da AWS
-
Na parte inferior da página, escolha Criar bucket.
-
Copie o nome do bucket que você acabou de criar, por exemplo:
codecatalyst-artifact-bucket
Agora você criou um bucket chamado codecatalyst-artifact-bucket
na região us-west-2 do Oeste dos EUA (Oregon).
Etapa 3: criar um repositório de origem
Nesta etapa, você cria um repositório de origem no CodeCatalyst. Esse repositório é usado para armazenar o arquivo de definição do fluxo de trabalho do tutorial.
Para obter mais informações sobre repositórios de origem, consulteCriação de um repositório de origem.
Como criar um repositório de origem
Abra o CodeCatalyst console em https://codecatalyst.aws/
. -
Navegue até seu projeto,
codecatalyst-artifact-project
. -
No painel de navegação, selecione Código e, em seguida, selecione Repositórios de origem.
-
Escolha Adicionar repositório e selecione Criar repositório.
-
Em Nome do repositório, digite:
codecatalyst-artifact-source-repository
-
Escolha Criar.
Agora você criou um repositório chamadocodecatalyst-artifact-source-repository
.
Etapa 4: criar um fluxo de trabalho
Nesta etapa, você cria um fluxo de trabalho que consiste nos seguintes blocos de construção que são executados sequencialmente:
-
Um gatilho — Esse gatilho inicia a execução automática do fluxo de trabalho quando você envia uma alteração ao seu repositório de origem. Para obter mais informações sobre gatilhos, consulte. Iniciando um fluxo de trabalho executado automaticamente usando gatilhos
-
Uma ação de construção chamada
GenerateFiles
— No gatilho, aGenerateFiles
ação cria dois arquivosHello.txt
eGoodbye.txt
os empacota em um artefato de saída chamadocodecatalystArtifact
. -
Outra ação de criação chamada
Upload
— Ao concluir aGenerateFiles
ação, aUpload
ação executa o AWS CLI comandoaws s3 sync
para carregar os arquivos nocodecatalystArtifact
e no seu repositório de origem para o bucket do Amazon S3. AWS CLI Ele vem pré-instalado e pré-configurado na plataforma de CodeCatalyst computação, para que você não precise instalá-lo ou configurá-lo.Para obter mais informações sobre o software pré-empacotado na plataforma de CodeCatalyst computação, consulte. Especificação de imagens do ambiente de execução Para obter mais informações sobre o
aws s3 sync
comando AWS CLI's, consulte sync na Referência de AWS CLI Comandos.
Para obter mais informações sobre a ação de criação, consulteConstruindo com fluxos de trabalho.
Para criar um fluxo de trabalho
-
No painel de navegação, escolha CI/CD e, em seguida, escolha Fluxos de trabalho.
-
Escolha Criar fluxo de trabalho.
-
Exclua o código de YAML amostra.
-
Adicione o YAML código a seguir:
nota
No YAML código a seguir, você pode omitir a
Connections:
seção se quiser. Se você omitir essa seção, deverá garantir que a função especificada no campo Função padrão IAM em seu ambiente inclua as permissões e as políticas de confiança descritas emEtapa 1: criar uma AWS função. Para obter mais informações sobre como configurar um ambiente com uma IAM função padrão, consulteCriar um ambiente.Name: codecatalyst-artifact-workflow SchemaVersion: 1.0 Triggers: - Type: Push Branches: - main Actions: GenerateFiles: Identifier: aws/build@v1 Configuration: Steps: # Create the output files. - Run: echo "Hello, World!" > "Hello.txt" - Run: echo "Goodbye!" > "Goodbye.txt" Outputs: Artifacts: - Name: codecatalystArtifact Files: - "**/*" Upload: Identifier: aws/build@v1 DependsOn: - GenerateFiles Environment: Name:
codecatalyst-artifact-environment
Connections: - Name:codecatalyst-account-connection
Role:codecatalyst-s3-build-role
Inputs: Artifacts: - codecatalystArtifact Configuration: Steps: # Upload the output artifact to the S3 bucket. - Run: aws s3 sync . s3://codecatalyst-artifact-bucket
No código acima, substitua:
-
codecatalyst-artifact-environment
com o nome do ambiente em que você criouPré-requisitos. -
codecatalyst-account-connection
com o nome da conexão da conta em que você criouPré-requisitos. -
codecatalyst-s3-build-role
com o nome da função de construção que você criou emEtapa 1: criar uma AWS função. -
codecatalyst-artifact-bucket
com o nome do Amazon S3 em que você criou. Etapa 2: criar um bucket do Amazon S3
Para obter informações sobre as propriedades desse arquivo, consulte Crie e teste ações YAML o.
-
-
(Opcional) Escolha Validar para garantir que o YAML código seja válido antes de confirmar.
-
Escolha Commit (Confirmar).
-
Na caixa de diálogo Confirmar fluxo de trabalho, insira o seguinte:
-
Em Nome do arquivo do fluxo de trabalho, deixe o padrão,
codecatalyst-artifact-workflow
. -
Em Confirmar mensagem, digite:
add initial workflow file
-
Para Repositório, escolha codecatalyst-artifact-source-repository.
-
Em Nome da filial, escolha principal.
-
Escolha Commit (Confirmar).
Agora você criou um fluxo de trabalho. A execução de um fluxo de trabalho é iniciada automaticamente devido ao gatilho definido na parte superior do fluxo de trabalho. Especificamente, quando você confirmou (e enviou) o
codecatalyst-artifact-workflow.yaml
arquivo ao seu repositório de origem, o gatilho iniciou a execução do fluxo de trabalho. -
Para visualizar a execução do fluxo de trabalho em andamento
-
No painel de navegação, escolha CI/CD e, em seguida, escolha Fluxos de trabalho.
-
Escolha o fluxo de trabalho que você acabou de criar:
codecatalyst-artifact-workflow
. -
Escolha GenerateFilesver o progresso da primeira ação de construção.
-
Escolha Carregar para ver o progresso da segunda ação de compilação.
-
Quando a ação de upload terminar, faça o seguinte:
-
Se a execução do fluxo de trabalho for bem-sucedida, vá para o próximo procedimento.
-
Se a execução do fluxo de trabalho falhar, escolha Logs para solucionar o problema.
-
Etapa 5: verificar os resultados
Depois que o fluxo de trabalho for executado, acesse o serviço Amazon S3 e veja seu codecatalyst-artifact-bucket
balde. Agora, ele deve incluir os seguintes arquivos e pastas:
. |— .aws/ |— .git/ |Goodbye.txt |Hello.txt |REAME.md
Os Hello.txt
arquivos Goodbye.txt
e foram enviados porque faziam parte do codecatalystArtifact
artefato. Os README.md
arquivos .aws/
.git/
, e foram enviados porque estavam no seu repositório de origem.
Limpeza
Limpe CodeCatalyst e evite AWS ser cobrado por esses serviços.
Para limpar CodeCatalyst
Abra o CodeCatalyst console em https://codecatalyst.aws/
. -
Exclua o repositório de
codecatalyst-artifact-source-repository
origem. -
Exclua o
codecatalyst-artifact-workflow
fluxo de trabalho.
Para limpar AWS
-
Limpe no Amazon S3, da seguinte forma:
Abra o console do Amazon S3 em. https://console.aws.amazon.com/s3/
-
Exclua os arquivos no
codecatalyst-artifact-bucket
bucket. -
Exclua o
codecatalyst-artifact-bucket
bucket.
-
Limpe da IAM seguinte forma:
Abra o IAM console em https://console.aws.amazon.com/iam/
. -
Exclua o
codecatalyst-s3-build-policy
. -
Exclua o
codecatalyst-s3-build-role
.