GitLab EE 라이선스 파일 또는 키로 활성화하기

만약 GitLab로부터 라이선스 파일(예: 체험용)을 받았다면 해당 파일을 인스턴스에 업로드하거나 설치 중에 추가할 수 있습니다. 라이선스 파일은 .gitlab-license 확장자를 가진 base64로 인코딩된 ASCII 텍스트 파일입니다.

GitLab 인스턴스에 처음으로 로그인할 때 라이선스 추가 페이지로 연결하는 링크가 표시됩니다.

그렇지 않은 경우 라이선스를 추가하려면 다음을 수행하세요:

  1. 관리자로서 GitLab에 로그인합니다.
  2. 왼쪽 사이드바에서 가장 아래에서 Admin 영역을 선택합니다.
  3. 설정 > 일반을 선택합니다.
  4. 라이선스 추가 영역에서 파일을 업로드하거나 키를 입력하여 라이선스를 추가합니다.
  5. 이용 약관 확인란을 선택합니다.
  6. 라이선스 추가를 선택합니다.

설치 중 구독 활성화하기

설치 중에 구독을 활성화하려면 활성화 코드로 GITLAB_ACTIVATION_CODE 환경 변수를 설정합니다:

export GITLAB_ACTIVATION_CODE=활성화_코드

설치 중 라이선스 파일 추가

라이선스가 있다면 GitLab을 설치하는 동안에도 가져올 수 있습니다.

  • 자체 컴파일된 설치의 경우:
    • Gitlab.gitlab-license 파일을 config/ 디렉터리에 배치합니다.
    • 라이선스를 위한 사용자 정의 위치와 파일 이름을 지정하려면 GITLAB_LICENSE_FILE 환경 변수에 파일 경로를 설정합니다:

      export GITLAB_LICENSE_FILE="라이선스/파일/경로"
      
  • Linux 패키지 설치의 경우:
    • Gitlab.gitlab-license 파일을 /etc/gitlab/ 디렉터리에 배치합니다.
    • 라이선스를 위한 사용자 정의 위치와 파일 이름을 지정하려면 gitlab.rb에 다음 항목을 추가합니다:

      gitlab_rails['initial_license_file'] = "라이선스/파일/경로"
      
caution
이러한 방법은 설치 시에만 라이선스를 추가합니다. 라이선스를 갱신하거나 업그레이드하려면 웹 사용자 인터페이스의 Admin 영역에 라이선스를 추가해야 합니다.

라이선스 사용 데이터 제출

오프라인 환경에서 인스턴스를 활성화하기 위해 라이선스 파일이나 키를 사용한다면 매월 라이선스 사용 데이터를 제출해해여 합니다. 데이터를 제출하기 위해 라이선스 사용 데이터를 내보냅니다 및 이메일을 통해 renewals-service@customers.gitlab.com으로 전송합니다. 전송 전에 라이선스 사용 파일을 열어서는 안 됩니다. 그렇지 않으면 파일의 내용이 사용된 프로그램에 의해(예: 타임스탬프가 다른 형식으로 변환될 수 있음) 조작될 수 있으며 파일 처리 중 오류가 발생할 수 있습니다.

구독 시작 날짜 이후 매월 데이터를 제출하지 않은 경우, 해당 이메일과 메시지를 제출하도록 메시지 확인하는 배너가 구독과 관련된 주소로 전송됩니다. 해당 배너는 Admin 영역대시보드구독 페이지에 표시됩니다. 다음 달에 라이선스 사용 데이터를 제출할 때까지만 닫을 수 있습니다.

라이선스 만료 시 발생하는 일

라이선스가 만료되기 15일 전에 GitLab 관리자에게 다가오는 만료 날짜와 함께 알림 배너가 표시됩니다.

라이선스가 만료되면 Git push 및 이슈 생성과 같은 기능이 잠기며 인스턴스가 읽기 전용이 됩니다. 모든 관리자에게 만료 메시지가 표시됩니다. 이러한 상황이 발생하기 14일 전에 만료일까지 만료기간이 설정됩니다.

기능을 재개하기 위해 구독을 갱신하세요.

30일 이상 라이선스가 만료된 경우, 기능을 재개하려면 새로운 구독을 구입해야 합니다.

무료 기능으로 돌아가려면 만료된 라이선스를 모두 삭제하세요.

라이선스 제거

Self-Managed형 인스턴스에서 라이선스를 제거하려면 다음을 수행하세요:

  1. 왼쪽 사이드바에서 가장 아래에서 Admin 영역을 선택합니다.
  2. 구독을 선택합니다.
  3. 라이선스 제거를 선택합니다.

이전에 적용된 모든 라이선스를 포함하여 모든 라이선스를 제거하려면 이러한 단계를 반복합니다.

라이선스 세부 정보 및 기록 보기

라이선스 세부 정보를 보려면 다음을 수행하세요:

  1. 왼쪽 사이드바에서 가장 아래에서 Admin 영역을 선택합니다.
  2. 구독을 선택합니다.

여러 라이선스를 추가하고 봐도 현재 기간의 최신 라이선스만이 활성 라이선스입니다.

미래 날짜로 지정된 라이선스를 추가하면 해당 날짜에 적용될 때까지 기능이 사용되지 않습니다. 구독 기록 테이블에서 모든 활성 구독을 볼 수 있습니다.

또한 라이선스 사용 정보를 CSV 파일로 내보낼 수 있습니다.

레일스 콘솔에서 라이선스 명령어

다음 명령어는 레일스 콘솔에서 실행할 수 있습니다.

caution
데이터를 직접 변경하는 명령어는 올바르게 실행되지 않거나 적절한 상황에서 실행되지 않는다면 심각한 손상을 줄 수 있습니다. 실제 환경에서는 반드시 백업이 준비되어 있는 테스트 환경에서 실행하는 것을 권장합니다.

현재 라이선스 정보 보기

# 라이선스 정보 (이름, 회사, 이메일 주소)
License.current.licensee

# 플랜:
License.current.plan

# 업로드된 날짜:
License.current.created_at

# 시작일:
License.current.starts_at

# 만료일:
License.current.expires_at

# 체험 라이선스인가요?
License.current.trial?

# 라이선스 ID(고객 닷에서 조회용)
License.current.license_id

# Base64로 인코딩된 ASCII 형식의 라이선스 데이터
License.current.data

미래 날짜로 시작되는 라이선스와 상호 작용

# 미래 라이선스 데이터는 현 라이선스 데이터와 동일한 형식을 사용하나 라이선스 접두사를 다른 수정자로 사용합니다
License.future_dated

인스턴스에서 프로젝트 기능을 사용할 수 있는지 확인

features.rb에 나열된 기능들.

License.current.feature_available?(:jira_dev_panel_integration)

프로젝트에서 특정 기능을 사용할 수 있는지 확인

features.rb에 나열된 기능들.

p = Project.find_by_full_path('<group>/<project>')
p.feature_available?(:jira_dev_panel_integration)

콘솔을 통해 라이선스 추가

key 변수를 사용하는 경우

key = "<키>"
license = License.new(data: key)
license.save
License.current # 적용 여부 확인

라이선스 파일을 사용하는 경우

license_file = File.open("/tmp/Gitlab.license")

key = license_file.read.gsub("\r\n", "\n").gsub(/\n+$/, '') + "\n"

license = License.new(data: key)
license.save
License.current # 적용 여부 확인

이러한 스니펫은 파일에 저장되어 쉘 자동화 스크립트에서 라이선스를 적용할 수 있도록 레일스 러너를 사용하는 것이 필요합니다.

이것은 예를 들어 만료된 라이선스 및 다중 LDAP 서버가 있는 알려진 한계 사례와 같은 상황에서 필요합니다.

라이선스 제거

라이선스 관리 테이블을 정리하려면:

TYPE = :trial?
# 또는 :expired?

License.select(&TYPE).each(&:destroy!)

# 또는 License.all.each(&:destroy!)

문제 해결

관리 영역에 구독 영역이 없음

라이선스를 추가할 수 없는 이유는 Subscription 영역이 없기 때문입니다. 다음과 같은 경우에 이 문제가 발생할 수 있습니다:

  • GitLab Community Edition을 실행 중인 경우. 라이선스를 추가하기 전에 Enterprise Edition로 업그레이드해야 합니다.
  • GitLab.com을 사용 중인 경우. GitLab.com에는 Self-Managed 라이선스를 추가할 수 없습니다. GitLab.com에서 유료 기능을 사용하려면 별도의 구독을 구매해야 합니다.

갱신 시 라이선스 제한 초과

GitLab은 추가 사용자를 구매하도록 하는 메시지를 표시합니다. 이 문제는 라이선스에 충분한 사용자 수가 없는 라이선스를 추가한 경우 발생합니다.

이 문제를 해결하려면 해당 사용자 수를 포함하는 추가 좌석을 구매하세요. 자세한 정보는 라이선싱 FAQ를 참조하십시오.

GitLab 14.2 이상의 버전에서는 라이선스 파일을 사용하는 경우 다음 규칙이 적용됩니다:

  • 라이선스를 초과하는 사용자 수가 라이선스 파일에 있는 사용자 수의 10% 이하인 경우, 라이선스가 적용되며 다음 갱신에서 초과 사용자 수를 지불합니다.
  • 라이선스를 초과하는 사용자 수가 라이선스 파일에 있는 사용자 수의 10% 이상인 경우, 더 많은 사용자를 구매하지 않고는 라이선스를 적용할 수 없습니다.

예를 들어, 100명의 사용자를 위한 라이선스를 구매하면, 라이선스를 추가할 때 110명의 사용자를 보유할 수 있습니다. 그러나 111명의 사용자가 있으면 라이선스를 추가하기 전에 더 많은 사용자를 구매해야 합니다.

라이선스를 추가한 후에도 Start GitLab Ultimate trial가 여전히 표시됨

이 문제를 해결하려면 Puma나 전체 GitLab 인스턴스를 다시 시작하십시오.