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.
Compatibilité avec le bundler
Ce guide contient des informations sur CodeArtifact la compatibilité avec Bundler.
Compatibilité avec le bundler
AWS CodeArtifact recommande Bundler 2.4.11 ou supérieur. Si vous rencontrez des problèmes lors de l'installation, mettez à jour la CLI Bundler vers la dernière version.
Support des versions du bundler
Dans les versions de Bundler inférieures à 2.4.11, il existe une limite de 500 dépendances qui peuvent être définies dans le Gemfile avant que Bundler ne décide d'interroger l'index complet,. specs.4.8.gz Comme CodeArtifact il ne prend pas en charge l'index complet, la spécification de plus de 500 dépendances ne fonctionnera pas CodeArtifact lors de l'utilisation de versions de Bundler inférieures à 2.4.11.
Pour définir plus de 500 dépendances dans votre Gemfile avec CodeArtifact, mettez à jour Bundler vers la version 2.4.11 ou supérieure.
Assistance aux opérations du bundler
Bundler résout les dépendances des gemmes Ruby en utilisant l'un des deux protocoles suivants : l'API Compact Index ou l'API Dependencies. CodeArtifact soutient les deux. Bundler 2.4.11 et versions ultérieures préfèrent l'API Compact Index et se rabattent sur l'API Dependencies si elle n'est pas disponible ; les versions antérieures n'utilisent que l'API Dependencies. RubyGems 3.5.19 et versions ultérieures, utilisez l'API Compact Index directement lors de l'exécution. gem install
CodeArtifact prend en charge les points de terminaison Compact Index suivants :
GET /versions: renvoie toutes les gemmes du dépôt avec la liste complète de leurs versions. Regroupez et RubyGems utilisez ce point de terminaison comme point d'entrée pour la résolution des dépendances.GET /names: Renvoie tous les noms de gemmes du référentiel, triés par ordre alphabétique.GET /info/: Renvoie la version, la dépendance et les Ruby-version informations requises pour une seule gemme.gem-name
Les /names points de terminaison /versions et prennent en charge des référentiels contenant jusqu'à 5 000 gemmes. Les requêtes adressées à des référentiels contenant plus de 5 000 gemmes renvoient une erreur HTTP 400.
CodeArtifact prend également en charge l'API Bundler Dependencies à /api/v1/dependencies l'adresse. Une seule demande peut inclure plusieurs noms de gemmes ; pour plus de détails sur la façon dont les demandes contenant plusieurs gemmes sont pondérées par rapport au quota de demandes de lecture par seconde de votre compte, consultezQuotas dans AWS CodeArtifact.
Parce que /versions les données /names renvoyées pour chaque gemme du référentiel pondèrent CodeArtifact également ces demandes en fonction du nombre de gemmes renvoyées. CI/CDles environnements exécutant des gem install opérations bundle install ou des opérations simultanées peuvent être limités même lorsque le taux de requêtes HTTP semble faible. Si vous rencontrez un ralentissement lors de la résolution des gemmes Ruby, demandez une augmentation du quota de demandes de lecture par seconde provenant d'un seul AWS compte.
Si vous avez précédemment épinglé une version inférieure RubyGems à 3.5.19 pour contourner le problème de CodeArtifact compatibilité, vous pouvez désormais supprimer cette épinglette et passer à la dernière version.
CodeArtifact ne prend pas en charge les anciens index de RubyGems spécifications, notamment specs.4.8.gzlatest_specs.4.8.gz, etprerelease_specs.4.8.gz. Elles ont été remplacées par l'API Compact Index.
Tester le support de Compact Index
Pour vérifier que la résolution Compact Index fonctionne correctement avec votre CodeArtifact référentiel :
Si vous avez déjà épinglé une version inférieure RubyGems à la version 3.5.19, supprimez le code :
gem update --systemVérifiez votre version RubyGems et celle de Bundler :
gem --version # Should be 3.5.19 or higher bundle --version # Should be 2.4.11 or higherEffectuez un test
gem installpar rapport à votre CodeArtifact référentiel :gem install <gem-name> --source https://<domain>-<account-id>.d.codeartifact.<region>.amazonaws.com/ruby/<repo>/Effectuez
bundle installun test avec une sortie détaillée pour confirmer que Compact Index est utilisé :bundle install --verbose 2>&1 | grep -i "compact\|/versions\|/info"Vous devriez voir des demandes adressées à
/versionset/info/<gem-name>plutôt que/api/v1/dependencies.