Sincronização de produtos com arquivos de modelo do GitHub, GitHub Enterprise ou Bitbucket - AWS Service Catalog

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á.

Sincronização de produtos com arquivos de modelo do GitHub, GitHub Enterprise ou Bitbucket

AWS Service Catalog permite sincronizar produtos com arquivos de modelo que são gerenciados por meio de um provedor de repositório externo. AWS Service Catalog refere-se a produtos com esse tipo de conexão de modelo como produtos sincronizados com Git. As opções de repositório incluem GitHub GitHub Enterprise ou Bitbucket. Depois de autorizar sua conta Conta da AWS com um repositório externo, você pode criar novos AWS Service Catalog produtos ou atualizar produtos existentes para sincronizar com um arquivo de modelo no repositório. Quando alterações são feitas no arquivo de modelo e confirmadas no repositório (por exemplo, usando git-push), AWS Service Catalog automaticamente detecta as alterações e cria uma nova versão do produto (artefato).

Permissões necessárias para sincronizar produtos com arquivos de modelo externos

Você pode usar a política a seguir AWS Identity and Access Management (IAM) como modelo para permitir que AWS Service Catalog os administradores sincronizem produtos com arquivos de modelo de um repositório externo. Essa política inclui as permissões necessárias de ambos CodeConnections AWS Service Catalog e. AWS Service Catalog recomenda que você copie o modelo de política abaixo e também use a política AWS Service CatalogAWSServiceCatalogAdminFullAccess gerenciada ao habilitar produtos sincronizados com o repositório.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "CodeStarAccess", "Effect": "Allow", "Action": [ "codestar-connections:UseConnection", "codestar-connections:PassConnection", "codestar-connections:CreateConnection", "codestar-connections:DeleteConnection", "codestar-connections:GetConnection", "codestar-connections:ListConnections", "codestar-connections:ListInstallationTargets", "codestar-connections:GetInstallationUrl", "codestar-connections:StartOAuthHandshake", "codestar-connections:UpdateConnectionInstallation", "codestar-connections:GetIndividualAccessToken" ], "Resource": "arn:aws:codestar-connections:*:*:connection/*" }, { "Sid": "CreateSLR", "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "arn:aws:iam::*:role/aws-service-role/sync.servicecatalog.amazonaws.com/AWSServiceRoleForServiceCatalogArtifactSync", "Condition": { "StringLike": { "iam:AWSServiceName": "sync.servicecatalog.amazonaws.com" } } } ] }

Crie uma conexão de conta

Antes de sincronizar um arquivo de modelo com um AWS Service Catalog produto, você deve criar e autorizar uma conexão única. account-to-account Você usa essa conexão para especificar os detalhes do repositório que contém o arquivo de modelo desejado. Você pode criar uma conexão usando o AWS Service Catalog console, o CodeConnections console AWS Command Line Interface (CLI) ou CodeConnections as APIs.

Depois de estabelecer uma conexão, você pode usar o AWS Service Catalog console, a AWS Service Catalog API ou a CLI para criar um produto sincronizado AWS Service Catalog . AWS Service Catalog os administradores podem criar produtos novos ou atualizar AWS Service Catalog produtos existentes com base em um arquivo de modelo em um repositório e ramificação. Se uma alteração for confirmada no repositório, a AWS Service Catalog detectará automaticamente e criará uma nova versão do produto. As versões anteriores do produto são mantidas até o limite de versão prescrito e atribuiu um status obsoleto.

Além disso, cria AWS Service Catalog automaticamente uma função vinculada ao serviço (SLR) após a criação da conexão. Essa SLR permite AWS Service Catalog detectar qualquer alteração no arquivo de modelo que esteja confirmada no repositório. A SLR também permite AWS Service Catalog criar automaticamente novas versões de produtos para produtos sincronizados. Para obter mais informações sobre permissões e funcionalidades da SLR, consulte Perfis vinculados ao serviço para AWS Service Catalog.

Como criar um novo produto sincronizado com o Git
  1. No painel de navegação, escolha Lista de produtos e, em seguida, selecione Criar produto.

  2. Insira os Detalhes do produto.

  3. Em Detalhes da versão, escolha Especificar seu repositório de código usando um AWS CodeStar provedor e, em seguida, escolha o link Criar uma nova AWS CodeStar conexão.

  4. Depois de criar a conexão, atualize a lista de conexões e selecione a nova conexão. Especifique os detalhes do repositório, incluindo o repositório, a ramificação e o caminho do arquivo de modelo.

    Para obter mais informações sobre o uso de arquivos de configuração Terraform, consulte Sincronização de produtos Terraform com arquivos de modelo do GitHub, GitHub Enterprise ou Bitbucket .

    1. (Opcional ao criar um novo recurso de AWS Service Catalog produto) Na seção Support Details, adicione metadados do produto.

    2. (Opcional ao criar um novo recurso de AWS Service Catalog produto) Na seção Tags, escolha Adicionar nova tag e insira os pares de chave e valor.

  5. Selecione Criar novo produto.

Para criar vários produtos sincronizados com o Git
  1. No painel de navegação esquerdo do AWS Service Catalog console, escolha Lista de produtos e, em seguida, escolha Criar vários produtos gerenciados pelo git.

  2. Insira os Detalhes comuns do produto.

  3. Em Detalhes do repositório externo, selecione uma conexão AWS CodeStar e, em seguida, especifique o repositório e a ramificação.

  4. No painel Adicionar produtos, insira o Caminho do arquivo de modelo e o Nome do produto. Escolha Adicionar novo item e continue adicionando produtos conforme desejado.

  5. Depois de adicionar todos os produtos desejados, escolha Criar produtos em massa.

Para conectar um AWS Service Catalog produto existente a um repositório externo
  1. No painel de navegação esquerdo do AWS Service Catalog console, escolha Lista de produtos e, em seguida, escolha Conectar produtos a um repositório externo.

  2. Na página Selecionar produtos, escolha os produtos que você deseja conectar a um repositório externo e escolha Próximo.

  3. Na página Especificar detalhes da fonte, selecione uma AWS CodeStar conexão existente e, em seguida, especifique o repositório, a ramificação e o caminho do arquivo de modelo.

  4. Escolha Próximo.

  5. Na página Revisar e enviar, verifique os detalhes da conexão e escolha Conectar produtos a um repositório externo.

Visualizar conexões de produtos sincronizadas com o Git

Você pode usar o AWS Service Catalog console, a API ou visualizar AWS CLI os detalhes da conexão do repositório. Para AWS Service Catalog produtos vinculados a um arquivo de modelo, você pode recuperar informações sobre a conexão do repositório e a última vez em que o modelo foi sincronizado com o produto a partir do Status da última sincronização.

nota

Você pode visualizar as informações do repositório e o Status da última sincronização no nível do produto. Os usuários devem ter permissões do IAM nas CodeConnections APIs para visualizar os detalhes do repositório. Consulte Permissões necessárias para sincronizar AWS Service Catalog produtos com arquivos de modelo para obter mais informações sobre a política necessária para essas permissões do IAM.

Para visualizar os detalhes da conexão e do repositório usando AWS Management Console
  1. No painel de navegação à esquerda, escolha Lista de produtos.

  2. Selecione o produto na lista.

  3. Na página Produto, navegue até a seção Detalhes da fonte do produto.

  4. Para ver a ID da revisão de origem de uma versão do produto, escolha o link Última versão criada. A seção Detalhes da versão exibe a ID da revisão de origem.

Para visualizar os detalhes da conexão e do repositório usando AWS CLI

A partir do AWS CLI, execute os seguintes comandos:

$ aws servicecatalog describe-product-as-admin

$ aws servicecatalog describe-provisioning-artifact

$ aws servicecatalog search-product-as-admin

$ aws servicecatalog list-provisioning-artifacts

Atualizar conexões de produtos sincronizadas com o Git

Você pode atualizar as conexões de contas existentes e os produtos sincronizados com o Git usando o AWS Service Catalog console, AWS Service Catalog a API ou. AWS CLI

Para saber como conectar um AWS Service Catalog produto existente a um arquivo de modelo, consulte Criação de novas conexões de produto sincronizadas com o Git.

Para atualizar os produtos existentes para produtos sincronizados com o Git
  1. No painel de navegação à esquerda, escolha Lista de produtos e, em seguida, escolha uma das seguintes opções:

    • Para atualizar um único produto, selecione o produto, navegue até a seção Detalhes da fonte do produto e escolha Editar detalhes.

    • Para atualizar vários produtos, escolha Conectar produtos a um repositório externo, selecione até dez produtos e escolha Próximo.

  2. Na seção Detalhes da fonte do produto, execute as seguintes atualizações:

    • Especificar a conexão.

    • Especificar o repositório.

    • Especificar a ramificação.

    • Nomear o arquivo de modelo.

  3. Escolha Salvar alterações.

nota

Para produtos que ainda não estão conectados a um repositório externo, você pode usar a opção Conectar a um repositório externo exibida no alerta na parte superior da página de informações do produto após selecionar o produto.

Você também pode usar o AWS Service Catalog console ou AWS CLI o

  • Conectar um AWS Service Catalog produto existente a um arquivo de modelo em um repositório externo

  • Atualize os metadados do produto, incluindo nome, descrição e tags do produto.

  • Reconfigure (atualize a sincronização para usar uma fonte de repositório diferente) uma conexão para um produto AWS Service Catalog conectado anteriormente.

Para atualizar os detalhes da conexão e do repositório usando o console AWS Service Catalog
  1. No painel de navegação esquerdo do AWS Service Catalog console, escolha Lista de produtos e selecione um produto que esteja atualmente conectado a um repositório externo.

  2. Na seção Detalhes da fonte do produto, escolha Editar fonte do produto.

  3. Na seção Detalhes da fonte do produto, especifique o novo repositório desejado.

  4. Escolha Salvar alterações.

Para atualizar os detalhes da conexão e do repositório usando AWS CLI

A partir da AWS CLI execução dos $ aws servicecatalog update-provisioning-artifact comandos $ aws servicecatalog update-product e.

Excluir conexões de produtos sincronizadas com o Git

Você pode excluir uma conexão entre um AWS Service Catalog produto e um arquivo de modelo usando o AWS Service Catalog console, a CodeConnections API ou AWS CLI. Quando você desconecta um produto de um arquivo de modelo, o AWS Service Catalog produto sincronizado muda para um produto gerenciado regularmente. Depois de desconectar o produto, se o arquivo de modelo for alterado e confirmado no repositório conectado anteriormente, as alterações não serão refletidas. Para reconectar um AWS Service Catalog produto a um arquivo de modelo em um repositório externo, consulte Atualização de conexões e produtos sincronizados AWS Service Catalog.

Para desconectar um produto sincronizado com o Git usando o console AWS Service Catalog
  1. No AWS Management Console, escolha Lista de produtos no painel de navegação esquerdo.

  2. Selecione um produto na lista.

  3. Na página Produto, navegue até a seção Detalhes da fonte do produto.

  4. Escolha Desconectar.

  5. Confirme a ação e escolha Desconectar.

Para desconectar um produto sincronizado com o Git usando AWS CLI

A partir do AWS CLI, execute o $ aws servicecatalog update-product comando. Na entrada ConnectionParameters, remova a conexão especificada.

Para excluir uma conexão usando a CodeConnections API ou AWS CLI

Na CodeConnections API ou AWS CLI, execute o $ aws codestar-connections delete-connection comando.

Sincronização de produtos Terraform com arquivos de modelo do GitHub, GitHub Enterprise ou Bitbucket

Ao criar um produto sincronizado com o Git usando um arquivo de configuração do Terraform, o caminho do arquivo aceita somente o formato tar.gz. Os formatos de pasta do Terraform não são aceitos no caminho do arquivo.