기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Bundler 호환성
이 안내서에는 CodeArtifact와 Bundler의 호환성에 관한 정보가 포함되어 있습니다.
Bundler 호환성
AWS CodeArtifact는 Bundler 2.4.11 이상을 권장합니다. 설치에 문제가 발생하면 Bundler CLI를 최신 버전으로 업데이트합니다.
Bundler 버전 지원
2.4.11보다 낮은 Bundler 버전에서는 Bundler가 전체 인덱스 specs.4.8.gz를 쿼리하기로 결정하기 전에 Gemfile에 정의할 수 있는 종속성이 500개로 제한됩니다. CodeArtifact는 전체 인덱스를 지원하지 않으므로 2.4.11보다 낮은 Bundler 버전을 사용할 경우 500개 이상의 종속성을 지정하면 CodeArtifact에서 작동하지 않습니다.
CodeArtifact를 사용하여 Gemfile에서 500개 이상의 종속성을 정의하려면 Bundler를 버전 2.4.11 이상으로 업데이트합니다.
Bundler 작업 지원
Bundler는 압축 인덱스 API 또는 종속성 API라는 두 프로토콜 중 하나를 사용하여 Ruby Gem 종속성을 해결합니다. CodeArtifact는 둘 다 지원합니다. Bundler 2.4.11 이상에서는 Compact Index API를 선호하고 사용할 수 없는 경우 종속성 API로 돌아갑니다. 이전 버전에서는 종속성 API만 사용합니다. RubyGems 3.5.19 이상은를 실행할 때 직접 압축 인덱스 API를 사용합니다gem install.
CodeArtifact는 다음과 같은 Compact Index 엔드포인트를 지원합니다.
GET /versions: 리포지토리의 모든 Gem을 전체 버전 목록과 함께 반환합니다. Bundler와 RubyGems는이 엔드포인트를 종속성 확인의 진입점으로 사용합니다.GET /names: 리포지토리의 모든 Gem 이름을 알파벳순으로 정렬하여 반환합니다.GET /info/: 단일 젬에 대한 버전, 종속성 및 required-Ruby-version 정보를 반환합니다.gem-name
/versions 및 /names 엔드포인트는 최대 5,000개의 젬이 포함된 리포지토리를 지원합니다. 5,000개 이상의 젬이 포함된 리포지토리에 대한 요청은 HTTP 400 오류를 반환합니다.
CodeArtifact는에서 Bundler Dependencies API도 지원합니다/api/v1/dependencies. 단일 요청에는 여러 젬 이름이 포함될 수 있습니다. 다중 젬 요청이 계정의 초당 읽기 요청 할당량에 어떻게 가중치를 부여하는지에 대한 자세한 내용은 섹션을 참조하세요in AWS CodeArtifact 할당량.
/versions 및는 리포지토리의 모든 젬에 대한 데이터를 /names 반환하기 때문에 CodeArtifact는 반환된 젬 수를 기준으로 이러한 요청에 가중치를 부여합니다. 동시 bundle install 또는 gem install 작업을 실행하는 CI/CD 환경은 HTTP 요청 속도가 낮은 경우에도 제한될 수 있습니다. Ruby Gem 확인 중에 제한이 발생하는 경우 단일 AWS 계정에서 초당 읽기 요청에 대한 할당량 증가를 요청합니다.
CodeArtifact 호환성을 위한 차선책으로 이전에 RubyGems를 3.5.19 미만의 버전에 고정한 경우 이제 해당 핀을 제거하고 최신 버전으로 업그레이드할 수 있습니다.
CodeArtifact는 , latest_specs.4.8.gz및를 포함한 레거시 RubyGems 사양 인덱스specs.4.8.gz를 지원하지 않습니다prerelease_specs.4.8.gz. 이는 압축 인덱스 API로 대체되었습니다.
Compact Index 지원 테스트
CodeArtifact 리포지토리에서 Compact Index 해상도가 올바르게 작동하는지 확인하려면:
이전에 RubyGems를 3.5.19 미만의 버전에 고정한 경우 핀을 제거합니다.
gem update --systemRubyGems 및 Bundler 버전을 확인합니다.
gem --version # Should be 3.5.19 or higher bundle --version # Should be 2.4.11 or higherCodeArtifact 리포지토리에
gem install대해 테스트합니다.gem install <gem-name> --source https://<domain>-<account-id>.d.codeartifact.<region>.amazonaws.com/ruby/<repo>/상세 출력
bundle install으로 테스트하여 압축 인덱스가 사용되고 있는지 확인합니다.bundle install --verbose 2>&1 | grep -i "compact\|/versions\|/info"/info/<gem-name>대신/versions및에 대한 요청이 표시되어야 합니다/api/v1/dependencies.