

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

# Criar um repositório
<a name="create-repo"></a>

Como todos os pacotes CodeArtifact são armazenados em [repositórios](codeartifact-concepts.md#welcome-concepts-repository), para usar CodeArtifact, você deve criar um. Você pode criar um repositório usando o CodeArtifact console, o AWS Command Line Interface (AWS CLI) ou CloudFormation. Cada repositório está associado à AWS conta que você usa ao criá-lo. Você pode ter vários repositórios e eles são criados e agrupados em [domínios](codeartifact-concepts.md#welcome-concepts-domain). Quando você cria um repositório, ele não contém nenhum pacote. Os repositórios são poliglotas, o que significa que um único repositório pode conter pacotes de qualquer tipo compatível.

Para obter informações sobre limites de CodeArtifact serviço, como o número máximo de repositórios permitidos em um único domínio, consulte[Cotas em AWS CodeArtifact](service-limits.md). Se você atingir o número máximo de repositórios permitidos, poderá [excluir repositórios](delete-repo.md) para abrir espaço para mais. 

Um repositório pode ter um ou mais CodeArtifact repositórios associados a ele como repositórios upstream. Isso permite que um cliente gerenciador de pacotes acesse os pacotes contidos em mais de um repositório usando um único endpoint de URL. Para obter mais informações, consulte [Trabalhando com repositórios upstream em CodeArtifact](repos-upstream.md).

Para obter mais informações sobre como gerenciar CodeArtifact repositórios com CloudFormation, consulte[Criação de recursos do CodeArtifact com AWS CloudFormation](cloudformation-codeartifact.md). 

**nota**  
Depois de criar um repositório, não é possível alterar o nome, a conta AWS associada ou o domínio dele.

**Topics**
+ [Criar um repositório (console)](#create-repo-console)
+ [Criar um repositório (AWS CLI)](#create-repo-cli)
+ [Criar um repositório com um repositório upstream](#creating-a-repository-with-an-upstream)

## Criar um repositório (console)
<a name="create-repo-console"></a>

1. Abra o AWS CodeArtifact console em [https://console.aws.amazon.com/codesuite/codeartifact/home](https://console.aws.amazon.com/codesuite/codeartifact/home).

1.  No painel de navegação, escolha **Repositórios** e, em seguida, escolha **Criar repositório**. 

1.  Para **Nome do repositório**, insira um nome para o repositório.

1.  (Opcional) Em **Descrição do repositório**, insira uma descrição opcional para esse repositório. 

1.  (Opcional) Em **Publicar repositórios upstream**, adicione repositórios intermediários que conectem seus repositórios às autoridades de pacotes, como Maven Central ou npmjs.com. 

1.  Escolha **Próximo**. 

1.  Na **conta da AWS**, escolha **Esta conta da AWS** se você estiver conectado à conta que possui o domínio. Escolha **Conta diferente da AWS** se outra conta da AWS for proprietária do domínio.

1.  Em **Domínio**, escolha o domínio no qual o repositório será criado.

    Se não houver domínios na conta, você deve criar um. Em **Nome do domínio**, insira o nome do novo domínio.

    Expanda **Configuração Adicional**. 

    Você deve usar uma AWS KMS key (chave KMS) para criptografar todos os ativos em seu domínio. Você pode usar uma Chave gerenciada pela AWS ou uma chave KMS que você gerencia: 
**Importante**  
CodeArtifact só suporta chaves [KMS simétricas](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#symmetric-cmks). Você não pode usar uma [chave KMS assimétrica](https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html#asymmetric-cmks) para criptografar seus domínios. CodeArtifact Para obter ajuda para determinar se uma chave do KMS é simétrica ou assimétrica, consulte [Identifying symmetric and asymmetric KMS keys](https://docs.aws.amazon.com/kms/latest/developerguide/find-symm-asymm.html).
   +  Escolha **Chave gerenciada pela AWS** se quiser usar a Chave gerenciada pela AWS padrão. 
   +  Escolha **Chave gerenciada pelo cliente** se quiser usar uma chave KMS que você gerencia. Para usar uma chave KMS que você gerencia, em **ARN da chave gerenciada pelo cliente**, pesquise e escolha a chave KMS. 

    Para obter mais informações, consulte [Chaves gerenciadas pela AWS](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk) e [Chave gerenciada pelo cliente](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) no *Guia do desenvolvedor* do AWS Key Management Service . 

1.  Escolha **Próximo**. 

1.  Em **Revisar e criar**, revise o que CodeArtifact está criando para você. 
   +  **Fluxo do pacote** mostra como domínio e repositórios estão conectados.
   +  **Etapa 1: Criar repositório** mostra detalhes sobre o repositório e os repositórios upstream opcionais que serão criados. 
   +  **Etapa 2: Selecionar domínio** mostra detalhes sobre `my_domain`. 

    Quando estiver pronto, escolha **Criar repositório**. 

## Criar um repositório (AWS CLI)
<a name="create-repo-cli"></a>

Use o comando `create-repository` para criar um repositório no seu domínio.

```
aws codeartifact create-repository --domain my_domain --domain-owner 111122223333 --repository my_repo --description "My new repository"
```

Resultado do exemplo:

```
{
    "repository": {
        "name": "my_repo",
        "administratorAccount": "123456789012",
        "domainName": "my_domain",
        "domainOwner": "111122223333",
        "arn": "arn:aws:codeartifact:region-id:111122223333:repository/my_domain/my_repo",
        "description": "My new repository",
        "upstreams": "[]",
        "externalConnections"" "[]"
    }
}
```

Um novo repositório não contém nenhum pacote. Cada repositório está associado à conta AWS na qual você está autenticado quando o repositório é criado.

### Criar um repositório com tags
<a name="create-repo-cli-tags"></a>

Para criar um repositório com tags, adicione o parâmetro `--tags` ao seu comando `create-domain`.

```
aws codeartifact create-repository --domain my_domain --domain-owner 111122223333 --repository my_repo --tags key=k1,value=v1 key=k2,value=v2
```

## Criar um repositório com um repositório upstream
<a name="creating-a-repository-with-an-upstream"></a>

Você pode especificar um ou mais repositórios upstream ao criar um repositório. 

```
aws codeartifact create-repository --domain my_domain --domain-owner 111122223333 --repository my_repo \
  --upstreams repositoryName=my-upstream-repo --repository-description "My new repository"
```

Resultado do exemplo:

```
{
    "repository": {
        "name": "my_repo",
        "administratorAccount": "123456789012",
        "domainName": "my_domain",
        "domainOwner": "111122223333",
        "arn": "arn:aws:codeartifact:region-id:111122223333:repository/my_domain/my_repo",
        "description": "My new repository",
        "upstreams": [
            {
                "repositoryName": "my-upstream-repo"
            }
        ],
        "externalConnections"" "[]"
    }
}
```

**nota**  
Para criar um repositório com um upstream, você deve ter permissão para a ação `AssociateWithDownstreamRepository` no repositório upstream.

Para adicionar um upstream a um repositório após sua criação, consulte [Adicionar ou remover repositórios upstream (console)](repo-upstream-add.md#repo-upstream-add-console) e [Adicionar ou remover repositórios upstream (AWS CLI)](repo-upstream-add.md#repo-upstream-add-cli).