Prise en main à l'aide de l'AWS CLI - CodeArtifact

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Prise en main à l'aide de l'AWS CLI

Exécutez les tâches suivantes pour démarrer avec CodeArtifact à l'aide deAWS Command Line Interface(AWS CLI). Pour plus d'informations, consultez Installez ou mettez à niveau, puis configurez AWS CLI. Ce guide utilise lanpmgestionnaire de packages, si vous utilisez un autre gestionnaire de packages, vous devrez modifier certaines des étapes suivantes.

  1. Utilisez l'interface AWS CLI pour exécuter la commande create-domain.

    aws codeartifact create-domain --domain my-domain

    Des données au format JSON apparaissent dans la sortie avec des détails sur votre nouveau domaine.

    { "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 vous recevez l'erreur suivant s'afficheCould not connect to the endpoint URL, assurez-vous que votreAWS CLIest configuré et que votreNom de la région par défautest défini sur la même région que vous avez créé votre référentiel, voirConfiguration de l'interface de ligne de commande AWS.

  2. Utilisation de l'create-repositorycommande pour créer un référentiel dans votre domaine.

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

    Des données au format JSON apparaissent dans la sortie avec des détails sur votre nouveau référentiel.

    { "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. Utilisation de l'create-repositorycommande pour créer un dépôt en amont pour votremy-reporepository.

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

    Des données au format JSON apparaissent dans la sortie avec des détails sur votre nouveau référentiel.

    { "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. Utilisation de l'associate-external-connectioncommande pour ajouter une connexion externe au référentiel public nPM à votrenpm-storerepository.

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

    Des données au format JSON apparaissent dans la sortie avec des détails sur le référentiel et sa nouvelle connexion externe.

    { "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" } ] } }

    Pour plus d'informations, consultez Connect un CodeArtifact dépôt à un dépôt public.

  5. Utilisation de l'update-repositorycommande pour associernpm-storeréférentiel en tant que référentiel en amont dumy-reporepository.

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

    Des données au format JSON apparaissent dans la sortie avec des détails sur votre référentiel mis à jour, y compris son nouveau référentiel en amont.

    { "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": [] } }

    Pour plus d'informations, consultez Ajouter ou supprimer des référentiels en amont ()AWS CLI.

  6. Utilisation de l'logincommande pour configurer votre gestionnaire de paquets npm avec votremy-reporepository.

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

    Votre résultat doit confirmer que votre connexion a bien été réussie.

    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

    Pour plus d'informations, consultez Configurer et utiliser npm avec CodeArtifact.

  7. Utilisez l'interface de ligne de commande npm pour installer un package npm. Par exemple, pour installer le populaire package npmlodash, utilisez la commande suivante.

    npm install lodash
  8. Utilisation de l'list-packagescommande pour afficher le package que vous venez d'installer dans votremy-reporepository.

    Note

    Il peut y avoir un délai entre le moment oùnpm installLa commande d'installation se termine et lorsque le package est visible dans votre dépôt. Pour plus de détails sur la latence typique lors de la récupération de packages à partir de référentiels publics, voirLatence inférieure inférieure inférieure inférieure inférieure.

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

    Des données au format JSON apparaissent dans la sortie avec le format et le nom du package que vous avez installé.

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

    Vous disposez désormais de trois CodeArtifact Ressources  :

    • Le domainemy-domain.

    • Le référentielmy-repoqui est contenu dansmy-domain. Ce dépôt dispose d'un package npm.

    • Le référentielnpm-storequi est contenu dansmy-domain. Ce référentiel dispose d'une connexion externe au référentiel npm public et est associé en tant que référentiel en amont aumy-reporepository.

  9. Pour éviter plusAWSfrais, supprimez les ressources que vous avez utilisées pendant ce tutoriel :

    Note

    Vous ne pouvez pas supprimer un domaine contenant des référentiels, vous devez donc supprimermy-repoetnpm-storeavant de supprimermy-domain.

    1. Utilisation de l'delete-repositorycommande pour supprimernpm-storerepository.

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

      Des données au format JSON apparaissent dans la sortie avec des détails sur le référentiel supprimé.

      { "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. Utilisation de l'delete-repositorycommande pour supprimernpm-storerepository.

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

      Des données au format JSON apparaissent dans la sortie avec des détails sur le référentiel supprimé.

      { "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. Utilisation de l'delete-domaincommande pour supprimermy-domainrepository.

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

      Des données au format JSON apparaissent dans la sortie avec des détails sur le domaine supprimé.

      { "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 } }