InfoGrab DocsInfoGrab Docs

패키지 레지스트리의 Ruby gems

요약

이 기능의 가용성은 기능 플래그로 제어됩니다. Ruby gems을 프로젝트의 패키지 레지스트리에 게시할 수 있습니다. 이 기능은 실험입니다. 패키지 레지스트리와 상호 작용하기 전에 인증해야 합니다. 이를 위해 다음을 사용할 수 있습니다:

Status: Experiment

히스토리
  • GitLab 13.9에서 rubygem_packages라는 플래그와 함께 도입되었습니다. 기본적으로 비활성화됩니다. 이 기능은 실험입니다.

이 기능의 가용성은 기능 플래그로 제어됩니다. 자세한 내용은 히스토리를 참조하세요. 이 기능은 테스트용으로 사용 가능하지만 프로덕션 사용에는 준비되지 않았습니다.

Ruby gems을 프로젝트의 패키지 레지스트리에 게시할 수 있습니다. 그런 다음 UI 또는 API를 사용하여 다운로드할 수 있습니다.

이 기능은 실험입니다. 이 기능 개발에 대한 자세한 내용은 에픽 3200을 참조하세요.

패키지 레지스트리 인증#

패키지 레지스트리와 상호 작용하기 전에 인증해야 합니다.

이를 위해 다음을 사용할 수 있습니다:

예를 들어:

액세스 토큰으로 인증하려면:

  • ~/.gem/credentials 파일을 생성하거나 편집하고 다음을 추가합니다:
---
https://gitlab.example.com/api/v4/projects/<project_id>/packages/rubygems: '<token>'

이 예시에서:

  • <token>은 개인 액세스 토큰 또는 배포 토큰의 토큰 값이어야 합니다.

  • <project_id>프로젝트 개요 페이지에 표시됩니다.

CI/CD 작업 토큰으로 인증하려면:

  • .gitlab-ci.yml 파일을 생성하거나 편집하고 다음을 추가합니다:
# assuming a my_gem.gemspec file is present in the repository with the version currently set to 0.0.1
image: ruby

run:
  before_script:
    - mkdir ~/.gem
    - echo "---" > ~/.gem/credentials
    - |
      echo "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/rubygems: '${CI_JOB_TOKEN}'" >> ~/.gem/credentials
    - chmod 0600 ~/.gem/credentials # rubygems requires 0600 permissions on the credentials file
  script:
    - gem build my_gem
    - gem push my_gem-0.0.1.gem --host ${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/rubygems

GitLab에 체크인하는 ~/.gem/credentials 파일에서 CI_JOB_TOKEN을 사용할 수도 있습니다:

---
https://gitlab.example.com/api/v4/projects/${env.CI_PROJECT_ID}/packages/rubygems: '${env.CI_JOB_TOKEN}'

Ruby gem 푸시#

사전 조건:

이를 위해:

  • 다음과 같은 명령을 실행합니다:
gem push my_gem-0.0.1.gem --host <host>

이 예시에서 <host>는 인증을 설정할 때 사용한 URL입니다. 예를 들어:

gem push my_gem-0.0.1.gem --host https://gitlab.example.com/api/v4/projects/1/packages/rubygems

gem이 성공적으로 게시되면 다음과 같은 메시지가 표시됩니다:

Pushing gem to https://gitlab.example.com/api/v4/projects/1/packages/rubygems...
{"message":"201 Created"}

gem이 패키지 레지스트리에 게시되고 패키지 및 레지스트리 페이지에 표시됩니다. GitLab이 gem을 처리하고 표시하는 데 최대 10분이 걸릴 수 있습니다.

동일한 이름 또는 버전의 gems 푸시#

동일한 이름과 버전의 패키지가 이미 존재하는 경우에도 gem을 푸시할 수 있습니다. 둘 다 UI에서 표시되고 액세스할 수 있습니다.

Ruby gem 삭제#

사전 조건:

  • Maintainer 또는 Owner 권한이 있어야 합니다.

패키지를 삭제하기 전에 관련 보안 위험을 이해하고 있는지 확인하세요.

패키지를 삭제하려면 다음 중 하나를 사용합니다:

Ruby gem 설치#

사전 조건:

gem을 설치하려면 HTTP Basic 인증으로 소스 URL에 자격 증명을 전달합니다. 사용자 이름으로 __token__을 사용하고, 개인 액세스 토큰, 배포 토큰 또는 CI/CD 작업 토큰을 비밀번호로 사용합니다.

다음 예시에서:

  • <token>은 개인 액세스 토큰, 배포 토큰 또는 CI/CD 작업 토큰입니다.

  • <project_id>프로젝트 개요 페이지에 표시됩니다.

다음과 같은 명령을 실행합니다:

gem install my_gem --source "https://__token__:<token>@gitlab.example.com/api/v4/projects/<project_id>/packages/rubygems"

Gemfilesource 블록을 추가합니다:

source "https://__token__:<token>@gitlab.example.com/api/v4/projects/<project_id>/packages/rubygems" do
  gem "my_gem"
end

gem 파일 다운로드#

설치하지 않고 로컬에서 사용하기 위해 gem 파일을 다운로드하려면:

  • 상단 표시줄에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.

  • 왼쪽 사이드바에서 배포 > 패키지 레지스트리를 선택합니다.

  • 패키지 이름과 버전을 선택합니다.

  • 자산 아래에서 다운로드하려는 Ruby gem을 선택합니다.

gem 파일을 다운로드하려면 API를 사용할 수도 있습니다.

관련 주제#

패키지 레지스트리의 Ruby gems

GitLab v19.2
Tier: Free, Premium, Ultimate
Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
원문 보기
요약

이 기능의 가용성은 기능 플래그로 제어됩니다. Ruby gems을 프로젝트의 패키지 레지스트리에 게시할 수 있습니다. 이 기능은 실험입니다. 패키지 레지스트리와 상호 작용하기 전에 인증해야 합니다. 이를 위해 다음을 사용할 수 있습니다:

Status: Experiment

히스토리
  • GitLab 13.9에서 rubygem_packages라는 플래그와 함께 도입되었습니다. 기본적으로 비활성화됩니다. 이 기능은 실험입니다.

이 기능의 가용성은 기능 플래그로 제어됩니다. 자세한 내용은 히스토리를 참조하세요. 이 기능은 테스트용으로 사용 가능하지만 프로덕션 사용에는 준비되지 않았습니다.

Ruby gems을 프로젝트의 패키지 레지스트리에 게시할 수 있습니다. 그런 다음 UI 또는 API를 사용하여 다운로드할 수 있습니다.

이 기능은 실험입니다. 이 기능 개발에 대한 자세한 내용은 에픽 3200을 참조하세요.

패키지 레지스트리 인증#

패키지 레지스트리와 상호 작용하기 전에 인증해야 합니다.

이를 위해 다음을 사용할 수 있습니다:

예를 들어:

액세스 토큰으로 인증하려면:

  • ~/.gem/credentials 파일을 생성하거나 편집하고 다음을 추가합니다:
---
https://gitlab.example.com/api/v4/projects/<project_id>/packages/rubygems: '<token>'

이 예시에서:

  • <token>은 개인 액세스 토큰 또는 배포 토큰의 토큰 값이어야 합니다.

  • <project_id>프로젝트 개요 페이지에 표시됩니다.

CI/CD 작업 토큰으로 인증하려면:

  • .gitlab-ci.yml 파일을 생성하거나 편집하고 다음을 추가합니다:
# assuming a my_gem.gemspec file is present in the repository with the version currently set to 0.0.1
image: ruby

run:
  before_script:
    - mkdir ~/.gem
    - echo "---" > ~/.gem/credentials
    - |
      echo "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/rubygems: '${CI_JOB_TOKEN}'" >> ~/.gem/credentials
    - chmod 0600 ~/.gem/credentials # rubygems requires 0600 permissions on the credentials file
  script:
    - gem build my_gem
    - gem push my_gem-0.0.1.gem --host ${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/rubygems

GitLab에 체크인하는 ~/.gem/credentials 파일에서 CI_JOB_TOKEN을 사용할 수도 있습니다:

---
https://gitlab.example.com/api/v4/projects/${env.CI_PROJECT_ID}/packages/rubygems: '${env.CI_JOB_TOKEN}'

Ruby gem 푸시#

사전 조건:

이를 위해:

  • 다음과 같은 명령을 실행합니다:
gem push my_gem-0.0.1.gem --host <host>

이 예시에서 <host>는 인증을 설정할 때 사용한 URL입니다. 예를 들어:

gem push my_gem-0.0.1.gem --host https://gitlab.example.com/api/v4/projects/1/packages/rubygems

gem이 성공적으로 게시되면 다음과 같은 메시지가 표시됩니다:

Pushing gem to https://gitlab.example.com/api/v4/projects/1/packages/rubygems...
{"message":"201 Created"}

gem이 패키지 레지스트리에 게시되고 패키지 및 레지스트리 페이지에 표시됩니다. GitLab이 gem을 처리하고 표시하는 데 최대 10분이 걸릴 수 있습니다.

동일한 이름 또는 버전의 gems 푸시#

동일한 이름과 버전의 패키지가 이미 존재하는 경우에도 gem을 푸시할 수 있습니다. 둘 다 UI에서 표시되고 액세스할 수 있습니다.

Ruby gem 삭제#

사전 조건:

  • Maintainer 또는 Owner 권한이 있어야 합니다.

패키지를 삭제하기 전에 관련 보안 위험을 이해하고 있는지 확인하세요.

패키지를 삭제하려면 다음 중 하나를 사용합니다:

Ruby gem 설치#

사전 조건:

gem을 설치하려면 HTTP Basic 인증으로 소스 URL에 자격 증명을 전달합니다. 사용자 이름으로 __token__을 사용하고, 개인 액세스 토큰, 배포 토큰 또는 CI/CD 작업 토큰을 비밀번호로 사용합니다.

다음 예시에서:

  • <token>은 개인 액세스 토큰, 배포 토큰 또는 CI/CD 작업 토큰입니다.

  • <project_id>프로젝트 개요 페이지에 표시됩니다.

다음과 같은 명령을 실행합니다:

gem install my_gem --source "https://__token__:<token>@gitlab.example.com/api/v4/projects/<project_id>/packages/rubygems"

Gemfilesource 블록을 추가합니다:

source "https://__token__:<token>@gitlab.example.com/api/v4/projects/<project_id>/packages/rubygems" do
  gem "my_gem"
end

gem 파일 다운로드#

설치하지 않고 로컬에서 사용하기 위해 gem 파일을 다운로드하려면:

  • 상단 표시줄에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.

  • 왼쪽 사이드바에서 배포 > 패키지 레지스트리를 선택합니다.

  • 패키지 이름과 버전을 선택합니다.

  • 자산 아래에서 다운로드하려는 Ruby gem을 선택합니다.

gem 파일을 다운로드하려면 API를 사용할 수도 있습니다.

관련 주제#