Primeros pasos con AWS CLI - CodeArtifact

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Primeros pasos con AWS CLI

Siga estos pasos para comenzar a utilizar CodeArtifact usando la AWS Command Line Interface (AWS CLI). Para obtener más información, consulte Instale o actualice y, a continuación, configure la AWS CLI. Esta guía usa el administrador de paquetes npm. Si está utilizando un administrador de paquetes diferente, deberá modificar algunos de los siguientes pasos.

  1. Utilice la AWS CLI para ejecutar el comando create-domain.

    aws codeartifact create-domain --domain my-domain

    Los datos con formato JSON aparecen en la salida con detalles sobre tu nuevo dominio.

    { "domain": { "name": "my-domain", "owner": "111122223333", "arn": "arn:aws:codeartifact:us-west-2:111122223333:domain/my-domain", "status": "Active", "createdTime": "2020-10-07T15:36:35.194000-04:00", "encryptionKey": "arn:aws:kms:us-west-2:111122223333:key/your-kms-key", "repositoryCount": 0, "assetSizeBytes": 0 } }

    Si recibe el error Could not connect to the endpoint URL, asegúrese de que su AWS CLI está configurada y de que el nombre de región predeterminado es la misma región en la que creó el repositorio (consulte Configuración de la interfaz de línea de comandos de AWS).

  2. Utilice el comando create-repository para crear un repositorio en su dominio.

    aws codeartifact create-repository --domain my-domain --domain-owner 111122223333 --repository my-repo

    Los datos con formato JSON aparecen en la salida con detalles sobre el nuevo repositorio.

    { "repository": { "name": "my-repo", "administratorAccount": "111122223333", "domainName": "my-domain", "domainOwner": "111122223333", "arn": "arn:aws:codeartifact:us-west-2:111122223333:repository/my-domain/my-repo", "upstreams": [], "externalConnections": [] } }
  3. Usa el comando create-repository para crear un repositorio ascendente para su repositorio my-repo.

    aws codeartifact create-repository --domain my-domain --domain-owner 111122223333 --repository npm-store

    Los datos con formato JSON aparecen en la salida con detalles sobre el nuevo repositorio.

    { "repository": { "name": "npm-store", "administratorAccount": "111122223333", "domainName": "my-domain", "domainOwner": "111122223333", "arn": "arn:aws:codeartifact:us-west-2:111122223333:repository/my-domain/npm-store", "upstreams": [], "externalConnections": [] } }
  4. Use el comando associate-external-connection para añadir a su repositorio una conexión externa al repositorio público npm a su repositorio npm-store.

    aws codeartifact associate-external-connection --domain my-domain --domain-owner 111122223333 --repository npm-store --external-connection "public:npmjs"

    Los datos con formato JSON aparecen en la salida con detalles sobre el repositorio y su nueva conexión externa.

    { "repository": { "name": "npm-store", "administratorAccount": "111122223333", "domainName": "my-domain", "domainOwner": "111122223333", "arn": "arn:aws:codeartifact:us-west-2:111122223333:repository/my-domain/npm-store", "upstreams": [], "externalConnections": [ { "externalConnectionName": "public:npmjs", "packageFormat": "npm", "status": "AVAILABLE" } ] } }

    Para obtener más información, consulte Conectar un CodeArtifact repositorio a un repositorio público.

  5. Utilice el comando update-repository para asociar el repositorio npm-store como repositorio ascendente al repositorio my-repo.

    aws codeartifact update-repository --repository my-repo --domain my-domain --domain-owner 111122223333 --upstreams repositoryName=npm-store

    Los datos con formato JSON aparecen en la salida con detalles sobre el repositorio actualizado, incluido su nuevo repositorio ascendente.

    { "repository": { "name": "my-repo", "administratorAccount": "111122223333", "domainName": "my-domain", "domainOwner": "111122223333", "arn": "arn:aws:codeartifact:us-west-2:111122223333:repository/my-domain/my-repo", "upstreams": [ { "repositoryName": "npm-store" } ], "externalConnections": [] } }

    Para obtener más información, consulte Añadir o eliminar repositorios ascendentes (AWS CLI).

  6. Use el comando login para configurar su administrador de paquetes npm con su repositorio my-repo.

    aws codeartifact login --tool npm --repository my-repo --domain my-domain --domain-owner 111122223333

    Debería recibir un resultado que confirme que su inicio de sesión se realizó correctamente.

    Successfully configured npm to use AWS CodeArtifact repository https://my-domain-111122223333.d.codeartifact.us-east-2.amazonaws.com/npm/my-repo/ Login expires in 12 hours at 2020-10-08 02:45:33-04:00

    Para obtener más información, consulte Configure y use npm con CodeArtifact.

  7. Utilice la CLI de npm para instalar un paquete npm. Por ejemplo, para instalar el popular lodash del paquete npm, utilice el siguiente comando.

    npm install lodash
  8. Use el comando list-packages para ver el paquete que acaba de instalar en su repositorio my-repo.

    nota

    Puede haber un retraso entre el momento en que se completa el comando de instalación npm install y el momento en que el paquete está visible en el repositorio. Para obtener más información sobre la latencia típica al recuperar paquetes de repositorios públicos, consulte Latencia de conexión externa.

    aws codeartifact list-packages --domain my-domain --repository my-repo

    Los datos con formato JSON aparecen en la salida con el formato y el nombre del paquete que ha instalado.

    { "packages": [ { "format": "npm", "package": "lodash" } ] }

    Ahora tiene tres recursos de CodeArtifact:

    • El dominio my-domain.

    • El repositorio my-repo que se encuentra en my-domain. Este repositorio tiene un paquete npm disponible.

    • El repositorio npm-store que se encuentra en my-domain. Este repositorio tiene una conexión externa al repositorio público de npm y está asociado como un repositorio ascendente con el repositorio my-repo.

  9. Para evitar cargos AWS adicionales, elimine los recursos utilizados en este tutorial:

    nota

    No puede eliminar un dominio que contenga repositorios, por lo que debe eliminar my-repo y npm-store antes de eliminar my-domain.

    1. Utilice el comando delete-repository para eliminar el repositorio npm-store.

      aws codeartifact delete-repository --domain my-domain --domain-owner 111122223333 --repository my-repo

      Los datos con formato JSON aparecen en la salida con detalles sobre el repositorio eliminado.

      { "repository": { "name": "my-repo", "administratorAccount": "111122223333", "domainName": "my-domain", "domainOwner": "111122223333", "arn": "arn:aws:codeartifact:us-west-2:111122223333:repository/my-domain/my-repo", "upstreams": [ { "repositoryName": "npm-store" } ], "externalConnections": [] } }
    2. Utilice el comando delete-repository para eliminar el repositorio npm-store.

      aws codeartifact delete-repository --domain my-domain --domain-owner 111122223333 --repository npm-store

      Los datos con formato JSON aparecen en la salida con detalles sobre el repositorio eliminado.

      { "repository": { "name": "npm-store", "administratorAccount": "111122223333", "domainName": "my-domain", "domainOwner": "111122223333", "arn": "arn:aws:codeartifact:us-west-2:111122223333:repository/my-domain/npm-store", "upstreams": [], "externalConnections": [ { "externalConnectionName": "public:npmjs", "packageFormat": "npm", "status": "AVAILABLE" } ] } }
    3. Utilice el comando delete-domain para eliminar el repositorio my-domain.

      aws codeartifact delete-domain --domain my-domain --domain-owner 111122223333

      Los datos con formato JSON aparecen en la salida con detalles sobre el dominio eliminado.

      { "domain": { "name": "my-domain", "owner": "111122223333", "arn": "arn:aws:codeartifact:us-west-2:111122223333:domain/my-domain", "status": "Deleted", "createdTime": "2020-10-07T15:36:35.194000-04:00", "encryptionKey": "arn:aws:kms:us-west-2:111122223333:key/your-kms-key", "repositoryCount": 0, "assetSizeBytes": 0 } }