InfoGrab Docs

Enterprise Edition에서 Community Edition으로 되돌리기

요약

Enterprise Edition(EE) 인스턴스를 Community Edition(CE)으로 되돌릴 수 있지만, 먼저 다음을 수행해야 합니다: Kerberos는 EE 인스턴스에서만 사용할 수 있습니다. 이 통합들은 EE 코드베이스에서만 사용할 수 있습니다:

Enterprise Edition(EE) 인스턴스를 Community Edition(CE)으로 되돌릴 수 있지만, 먼저 다음을 수행해야 합니다:

  1. EE 전용 인증 메커니즘을 비활성화합니다.
  2. 데이터베이스에서 EE 전용 통합을 제거합니다.
  3. 환경 스코프를 사용하는 구성을 조정합니다.

EE 전용 인증 메커니즘 끄기#

Kerberos는 EE 인스턴스에서만 사용할 수 있습니다. 다음을 해야 합니다:

  • 되돌리기 전에 이 메커니즘을 끕니다.
  • 사용자에게 다른 인증 방법을 제공합니다.

데이터베이스에서 EE 전용 통합 제거#

이 통합들은 EE 코드베이스에서만 사용할 수 있습니다:

CE로 다운그레이드하면 다음과 같은 오류가 발생할 수 있습니다:

Completed 500 Internal Server Error in 497ms (ActiveRecord: 32.2ms)

ActionView::Template::Error (The single-table inheritance mechanism failed to locate the subclass: 'Integrations::Github'. This
error is raised because the column 'type_new' is reserved for storing the class in case of inheritance. Please rename this
column if you didn't intend it to be used for storing the inheritance class or overwrite Integration.inheritance_column to
use another column for that information.)

오류 메시지의 subclass는 다음 중 하나일 수 있습니다:

  • Integrations::Github
  • Integrations::GitGuardian
  • Integrations::GoogleCloudPlatform::ArtifactRegistry
  • Integrations::GoogleCloudPlatform::WorkloadIdentityFederation

모든 통합은 모든 프로젝트에 대해 자동으로 생성됩니다. 이 오류를 방지하려면 데이터베이스에서 모든 EE 전용 통합 레코드를 제거해야 합니다.

sudo gitlab-rails runner "Integration.where(type_new: ['Integrations::Github']).delete_all"
sudo gitlab-rails runner "Integration.where(type_new: ['Integrations::GitGuardian']).delete_all"
sudo gitlab-rails runner "Integration.where(type_new: ['Integrations::GoogleCloudPlatform::ArtifactRegistry']).delete_all"
sudo gitlab-rails runner "Integration.where(type_new: ['Integrations::GoogleCloudPlatform::WorkloadIdentityFederation']).delete_all"
bundle exec rails runner "Integration.where(type_new: ['Integrations::Github']).delete_all" production
bundle exec rails runner "Integration.where(type_new: ['Integrations::GitGuardian']).delete_all" production
bundle exec rails runner "Integration.where(type_new: ['Integrations::GoogleCloudPlatform::ArtifactRegistry']).delete_all" production
bundle exec rails runner "Integration.where(type_new: ['Integrations::GoogleCloudPlatform::WorkloadIdentityFederation']).delete_all" production

환경 스코프를 사용하는 구성 조정#

환경 스코프를 사용하는 경우 구성을 조정해야 할 수 있습니다. 특히 구성 변수가 동일한 키를 공유하지만 다른 스코프를 가지는 경우에 그렇습니다. 환경 스코프는 CE에서 완전히 무시됩니다.

동일한 키를 공유하지만 다른 스코프를 가진 구성 변수의 경우, 특정 환경에서 예상하지 못한 변수를 실수로 가져올 수 있습니다. 이 경우 올바른 변수를 사용하고 있는지 확인하십시오.

데이터는 전환 과정에서 완전히 보존되므로 EE로 다시 변경하여 동작을 복원할 수 있습니다.

CE로 되돌리기#

필요한 단계를 수행한 후 GitLab 인스턴스를 CE로 되돌릴 수 있습니다.

모든 종속성이 최신 상태인지 확인하려면 올바른 업데이트 가이드를 따르십시오.

배포판에 맞는 설치 지침을 따라 Community Edition 패키지를 설치합니다.

  1. GitLab 설치의 현재 Git 원격을 CE Git 원격으로 바꿉니다.

  2. 최신 변경 사항을 가져오고 최신 안정 브랜치를 체크아웃합니다. 예를 들어:

    git remote set-url origin git@gitlab.com:gitlab-org/gitlab-foss.git
    git fetch --all
    git checkout 17-8-stable
    

문제 해결#

이 섹션에는 발생할 수 있는 문제에 대한 가능한 해결 방법이 포함되어 있습니다.

오류: Cookbook gitlab-ee not found#

GitLab EE 인스턴스에 GitLab CE용 Linux 패키지를 설치할 때 Cookbook gitlab-ee not found 오류가 발생할 수 있습니다. 이 문제를 해결하려면:

  1. gitlab-ee 쿡북을 제거합니다:

    sudo rm -rf /opt/gitlab/embedded/cookbooks/cache/cookbooks/gitlab-ee
    
  2. GitLab CE를 다시 설치합니다.

  3. 모든 서비스가 실행 중인지 확인합니다:

    sudo gitlab-ctl status
    

    실행 중이 아니면 GitLab을 재시작합니다:

    sudo gitlab-ctl restart
    

Enterprise Edition에서 Community Edition으로 되돌리기

원문 보기
요약

Enterprise Edition(EE) 인스턴스를 Community Edition(CE)으로 되돌릴 수 있지만, 먼저 다음을 수행해야 합니다: Kerberos는 EE 인스턴스에서만 사용할 수 있습니다. 이 통합들은 EE 코드베이스에서만 사용할 수 있습니다:

Enterprise Edition(EE) 인스턴스를 Community Edition(CE)으로 되돌릴 수 있지만, 먼저 다음을 수행해야 합니다:

  1. EE 전용 인증 메커니즘을 비활성화합니다.
  2. 데이터베이스에서 EE 전용 통합을 제거합니다.
  3. 환경 스코프를 사용하는 구성을 조정합니다.

EE 전용 인증 메커니즘 끄기#

Kerberos는 EE 인스턴스에서만 사용할 수 있습니다. 다음을 해야 합니다:

  • 되돌리기 전에 이 메커니즘을 끕니다.
  • 사용자에게 다른 인증 방법을 제공합니다.

데이터베이스에서 EE 전용 통합 제거#

이 통합들은 EE 코드베이스에서만 사용할 수 있습니다:

CE로 다운그레이드하면 다음과 같은 오류가 발생할 수 있습니다:

Completed 500 Internal Server Error in 497ms (ActiveRecord: 32.2ms)

ActionView::Template::Error (The single-table inheritance mechanism failed to locate the subclass: 'Integrations::Github'. This
error is raised because the column 'type_new' is reserved for storing the class in case of inheritance. Please rename this
column if you didn't intend it to be used for storing the inheritance class or overwrite Integration.inheritance_column to
use another column for that information.)

오류 메시지의 subclass는 다음 중 하나일 수 있습니다:

  • Integrations::Github
  • Integrations::GitGuardian
  • Integrations::GoogleCloudPlatform::ArtifactRegistry
  • Integrations::GoogleCloudPlatform::WorkloadIdentityFederation

모든 통합은 모든 프로젝트에 대해 자동으로 생성됩니다. 이 오류를 방지하려면 데이터베이스에서 모든 EE 전용 통합 레코드를 제거해야 합니다.

sudo gitlab-rails runner "Integration.where(type_new: ['Integrations::Github']).delete_all"
sudo gitlab-rails runner "Integration.where(type_new: ['Integrations::GitGuardian']).delete_all"
sudo gitlab-rails runner "Integration.where(type_new: ['Integrations::GoogleCloudPlatform::ArtifactRegistry']).delete_all"
sudo gitlab-rails runner "Integration.where(type_new: ['Integrations::GoogleCloudPlatform::WorkloadIdentityFederation']).delete_all"
bundle exec rails runner "Integration.where(type_new: ['Integrations::Github']).delete_all" production
bundle exec rails runner "Integration.where(type_new: ['Integrations::GitGuardian']).delete_all" production
bundle exec rails runner "Integration.where(type_new: ['Integrations::GoogleCloudPlatform::ArtifactRegistry']).delete_all" production
bundle exec rails runner "Integration.where(type_new: ['Integrations::GoogleCloudPlatform::WorkloadIdentityFederation']).delete_all" production

환경 스코프를 사용하는 구성 조정#

환경 스코프를 사용하는 경우 구성을 조정해야 할 수 있습니다. 특히 구성 변수가 동일한 키를 공유하지만 다른 스코프를 가지는 경우에 그렇습니다. 환경 스코프는 CE에서 완전히 무시됩니다.

동일한 키를 공유하지만 다른 스코프를 가진 구성 변수의 경우, 특정 환경에서 예상하지 못한 변수를 실수로 가져올 수 있습니다. 이 경우 올바른 변수를 사용하고 있는지 확인하십시오.

데이터는 전환 과정에서 완전히 보존되므로 EE로 다시 변경하여 동작을 복원할 수 있습니다.

CE로 되돌리기#

필요한 단계를 수행한 후 GitLab 인스턴스를 CE로 되돌릴 수 있습니다.

모든 종속성이 최신 상태인지 확인하려면 올바른 업데이트 가이드를 따르십시오.

배포판에 맞는 설치 지침을 따라 Community Edition 패키지를 설치합니다.

  1. GitLab 설치의 현재 Git 원격을 CE Git 원격으로 바꿉니다.

  2. 최신 변경 사항을 가져오고 최신 안정 브랜치를 체크아웃합니다. 예를 들어:

    git remote set-url origin git@gitlab.com:gitlab-org/gitlab-foss.git
    git fetch --all
    git checkout 17-8-stable
    

문제 해결#

이 섹션에는 발생할 수 있는 문제에 대한 가능한 해결 방법이 포함되어 있습니다.

오류: Cookbook gitlab-ee not found#

GitLab EE 인스턴스에 GitLab CE용 Linux 패키지를 설치할 때 Cookbook gitlab-ee not found 오류가 발생할 수 있습니다. 이 문제를 해결하려면:

  1. gitlab-ee 쿡북을 제거합니다:

    sudo rm -rf /opt/gitlab/embedded/cookbooks/cache/cookbooks/gitlab-ee
    
  2. GitLab CE를 다시 설치합니다.

  3. 모든 서비스가 실행 중인지 확인합니다:

    sudo gitlab-ctl status
    

    실행 중이 아니면 GitLab을 재시작합니다:

    sudo gitlab-ctl restart