InfoGrab Docs

패키지 레지스트리의 Ruby gems

요약

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

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

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

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 역할이 있어야 합니다.

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

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

gems 다운로드#

GitLab 패키지 레지스트리에서 Ruby gems를 설치할 수 없습니다. 그러나 로컬에서 사용하기 위해 gem 파일을 다운로드할 수 있습니다.

이를 위해:

  1. 상단 표시줄에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. 왼쪽 사이드바에서 배포 > 패키지 레지스트리를 선택합니다.
  3. 패키지 이름과 버전을 선택합니다.
  4. 자산 아래에서 다운로드하려는 Ruby gem을 선택합니다.

Ruby gems를 다운로드하려면 API를 사용할 수도 있습니다.

관련 주제#

패키지 레지스트리의 Ruby gems

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

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

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

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

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 역할이 있어야 합니다.

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

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

gems 다운로드#

GitLab 패키지 레지스트리에서 Ruby gems를 설치할 수 없습니다. 그러나 로컬에서 사용하기 위해 gem 파일을 다운로드할 수 있습니다.

이를 위해:

  1. 상단 표시줄에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. 왼쪽 사이드바에서 배포 > 패키지 레지스트리를 선택합니다.
  3. 패키지 이름과 버전을 선택합니다.
  4. 자산 아래에서 다운로드하려는 Ruby gem을 선택합니다.

Ruby gems를 다운로드하려면 API를 사용할 수도 있습니다.

관련 주제#