InfoGrab DocsInfoGrab Docs

개발 시드 파일

요약

개발 시드 파일은 gitlab/db/fixtures/development/ 및 gitlab/ee/db/fixtures/development/ 폴더 아래에 나열되어 있습니다. rake db:seed_fu 태스크를 사용하면 환경 변수로 전달되는 플래그 아래에 있는 시드를 제외한 모든 개발 시드를 실행할 수 있습니다.

개발 시드 파일은 gitlab/db/fixtures/development/gitlab/ee/db/fixtures/development/ 폴더 아래에 나열되어 있습니다. 이 파일들은 차트와 같은 기능이 로컬 호스트에서 예상대로 작동하는지 확인하는 데 도움이 되는 레코드로 데이터베이스를 채우는 데 사용됩니다.

rake db:seed_fu 태스크를 사용하면 환경 변수로 전달되는 플래그 아래에 있는 시드를 제외한 모든 개발 시드를 실행할 수 있습니다.

다음 표는 기능에 대한 데이터를 생성하는 데 사용할 수 있는 시드 및 태스크를 요약합니다.

기능 명령어 시드
DevOps Adoption FILTER=devops_adoption bundle exec rake db:seed_fu 31_devops_adoption.rb
Value Streams Dashboard FILTER=cycle_analytics SEED_VSA=1 bundle exec rake db:seed_fu 17_cycle_analytics.rb
Value Streams Dashboard overview counts FILTER=vsd_overview_counts SEED_VSD_COUNTS=1 bundle exec rake db:seed_fu 93_vsd_overview_counts.rb
Value Stream Analytics FILTER=customizable_cycle_analytics SEED_CUSTOMIZABLE_CYCLE_ANALYTICS=1 bundle exec rake db:seed_fu 30_customizable_cycle_analytics.rb
CI/CD analytics FILTER=ci_cd_analytics SEED_CI_CD_ANALYTICS=1 bundle exec rake db:seed_fu 38_ci_cd_analytics.rb
Contributions AnalyticsProductivity AnalyticsCode review AnalyticsMerge Request Analytics FILTER=productivity_analytics SEED_PRODUCTIVITY_ANALYTICS=1 bundle exec rake db:seed_fu 90_productivity_analytics.rb
Repository Analytics FILTER=14_pipelines NEW_PROJECT=1 bundle exec rake db:seed_fu 14_pipelines.rb
Issue AnalyticsInsights NEW_PROJECT=1 bin/rake gitlab:seed:insights:issues insights Rake task
DORA metrics SEED_DORA=1 FILTER=dora_metrics bundle exec rake db:seed_fu 92_dora_metrics.rb
Code Suggestion data in ClickHouse FILTER=ai_usage_stats bundle exec rake db:seed_fu 94_ai_usage_stats.rb
GitLab Duo SEED_GITLAB_DUO=1 FILTER=gitlab_duo bundle exec rake db:seed_fu 95_gitlab_duo.rb
GitLab Duo: Seed failed CI jobs for Root Cause Analysis (/troubleshoot) evaluation LANGCHAIN_API_KEY=$Key bundle exec rake gitlab:duo_chat:seed:failed_ci_jobs seed_failed_ci_jobs Rake task
Pipeline metrics FILTER=pipeline_metrics SEED_PIPELINE_METRICS=1 bundle exec rake db:seed_fu 98_pipeline_metrics.rb

GitLab Duo를 위한 시드 프로젝트 및 그룹 리소스#

gitlab:duo:setup 설정 스크립트는 GitLab Duo 프로젝트 및 그룹 리소스를 위한 개발 시드 파일을 실행합니다. Self-managed 모드에서는 이 태스크가 멱등성을 가지며, gitlab-duo 그룹이 이미 존재하는 경우 재시딩을 건너뜁니다. 설정 태스크에서 강제로 재시딩하려면 GITLAB_DUO_RESEED=1을 설정하십시오.

설정 태스크 외부에서 직접 시드를 실행하고 모든 리소스를 재생성하려면:

SEED_GITLAB_DUO=1 FILTER=gitlab_duo bundle exec rake db:seed_fu

구성 가능한 경로#

기본적으로 시더는 gitlab-duo에 그룹을 만들고 gitlab-duo/test에 프로젝트를 만들며, test-repo에서 클론합니다. 다음 환경 변수를 사용하여 이러한 기본값을 재정의할 수 있습니다:

환경 변수 기본값 설명
GITLAB_DUO_GROUP_PATH gitlab-duo 생성할 그룹의 경로.
GITLAB_DUO_PROJECT_PATH test 그룹 내에 생성할 프로젝트의 경로.
GITLAB_DUO_PROJECT_CLONE_URL https://gitlab.com/.../test-repo.git 프로젝트 리포지터리로 클론할 Git URL.

예를 들어, 커스텀 그룹 및 프로젝트로 시드하려면:

GITLAB_DUO_GROUP_PATH=my-duo-group GITLAB_DUO_PROJECT_PATH=my-project \
  SEED_GITLAB_DUO=1 FILTER=gitlab_duo bundle exec rake db:seed_fu

동일한 환경 변수는 gitlab:duo:setup Rake 태스크에서도 적용됩니다.

고정 ID 및 평가 프레임워크 호환성#

GitLab Duo 그룹 및 프로젝트 리소스는 자동화된 GitLab Duo 평가를 위한 Central Evaluation Framework에서도 사용됩니다. 일부 평가 데이터셋은 그룹 또는 프로젝트 리소스를 참조합니다(예: Summarize issue #123은 PostgreSQL에 해당 이슈 레코드가 필요합니다).

현재 이 개발 시드 파일과 평가 데이터셋은 별도로 관리됩니다. 통합이 계속 작동하도록 하려면, 이 시더가 매번 동일한 그룹/프로젝트 리소스를 생성해야 합니다. 예를 들어, 삽입된 PostgreSQL 레코드의 ID 및 IID는 이 시딩 프로세스를 실행할 때마다 동일해야 합니다.

기본 그룹 및 프로젝트 경로(gitlab-duo/test)를 사용하는 경우, 시더는 시드된 모든 레코드(그룹, 프로젝트, 에픽, 이슈, 머지 리퀘스트 등)에 1_000_000의 고정 기본 ID를 할당합니다. 이렇게 하면 평가 데이터셋이 의존하는 결정론적 ID가 보장됩니다.

위의 환경 변수를 통해 커스텀 경로를 제공하면, 고정 ID가 적용되지 않으며 PostgreSQL이 자동으로 ID를 할당합니다.

커스텀 경로 시드는 GitLab Duo 기능(Duo Chat, 코드 제안 등)의 인터랙티브 사용에는 완전히 기능합니다. 유일한 제한은 Central Evaluation Framework 데이터셋이 기본 경로에서 생성된 고정 ID를 기대한다는 것입니다. 자동화된 평가를 실행해야 하는 경우, 기본 gitlab-duo/test 경로를 사용하십시오.

이 픽스처에 의존하는 프로젝트는 다음과 같습니다:

자세한 내용은 이 아키텍처 문서를 참조하십시오.

개발 시드 파일

GitLab v19.1
원문 보기
요약

개발 시드 파일은 gitlab/db/fixtures/development/ 및 gitlab/ee/db/fixtures/development/ 폴더 아래에 나열되어 있습니다. rake db:seed_fu 태스크를 사용하면 환경 변수로 전달되는 플래그 아래에 있는 시드를 제외한 모든 개발 시드를 실행할 수 있습니다.

개발 시드 파일은 gitlab/db/fixtures/development/gitlab/ee/db/fixtures/development/ 폴더 아래에 나열되어 있습니다. 이 파일들은 차트와 같은 기능이 로컬 호스트에서 예상대로 작동하는지 확인하는 데 도움이 되는 레코드로 데이터베이스를 채우는 데 사용됩니다.

rake db:seed_fu 태스크를 사용하면 환경 변수로 전달되는 플래그 아래에 있는 시드를 제외한 모든 개발 시드를 실행할 수 있습니다.

다음 표는 기능에 대한 데이터를 생성하는 데 사용할 수 있는 시드 및 태스크를 요약합니다.

기능 명령어 시드
DevOps Adoption FILTER=devops_adoption bundle exec rake db:seed_fu 31_devops_adoption.rb
Value Streams Dashboard FILTER=cycle_analytics SEED_VSA=1 bundle exec rake db:seed_fu 17_cycle_analytics.rb
Value Streams Dashboard overview counts FILTER=vsd_overview_counts SEED_VSD_COUNTS=1 bundle exec rake db:seed_fu 93_vsd_overview_counts.rb
Value Stream Analytics FILTER=customizable_cycle_analytics SEED_CUSTOMIZABLE_CYCLE_ANALYTICS=1 bundle exec rake db:seed_fu 30_customizable_cycle_analytics.rb
CI/CD analytics FILTER=ci_cd_analytics SEED_CI_CD_ANALYTICS=1 bundle exec rake db:seed_fu 38_ci_cd_analytics.rb
Contributions AnalyticsProductivity AnalyticsCode review AnalyticsMerge Request Analytics FILTER=productivity_analytics SEED_PRODUCTIVITY_ANALYTICS=1 bundle exec rake db:seed_fu 90_productivity_analytics.rb
Repository Analytics FILTER=14_pipelines NEW_PROJECT=1 bundle exec rake db:seed_fu 14_pipelines.rb
Issue AnalyticsInsights NEW_PROJECT=1 bin/rake gitlab:seed:insights:issues insights Rake task
DORA metrics SEED_DORA=1 FILTER=dora_metrics bundle exec rake db:seed_fu 92_dora_metrics.rb
Code Suggestion data in ClickHouse FILTER=ai_usage_stats bundle exec rake db:seed_fu 94_ai_usage_stats.rb
GitLab Duo SEED_GITLAB_DUO=1 FILTER=gitlab_duo bundle exec rake db:seed_fu 95_gitlab_duo.rb
GitLab Duo: Seed failed CI jobs for Root Cause Analysis (/troubleshoot) evaluation LANGCHAIN_API_KEY=$Key bundle exec rake gitlab:duo_chat:seed:failed_ci_jobs seed_failed_ci_jobs Rake task
Pipeline metrics FILTER=pipeline_metrics SEED_PIPELINE_METRICS=1 bundle exec rake db:seed_fu 98_pipeline_metrics.rb

GitLab Duo를 위한 시드 프로젝트 및 그룹 리소스#

gitlab:duo:setup 설정 스크립트는 GitLab Duo 프로젝트 및 그룹 리소스를 위한 개발 시드 파일을 실행합니다. Self-managed 모드에서는 이 태스크가 멱등성을 가지며, gitlab-duo 그룹이 이미 존재하는 경우 재시딩을 건너뜁니다. 설정 태스크에서 강제로 재시딩하려면 GITLAB_DUO_RESEED=1을 설정하십시오.

설정 태스크 외부에서 직접 시드를 실행하고 모든 리소스를 재생성하려면:

SEED_GITLAB_DUO=1 FILTER=gitlab_duo bundle exec rake db:seed_fu

구성 가능한 경로#

기본적으로 시더는 gitlab-duo에 그룹을 만들고 gitlab-duo/test에 프로젝트를 만들며, test-repo에서 클론합니다. 다음 환경 변수를 사용하여 이러한 기본값을 재정의할 수 있습니다:

환경 변수 기본값 설명
GITLAB_DUO_GROUP_PATH gitlab-duo 생성할 그룹의 경로.
GITLAB_DUO_PROJECT_PATH test 그룹 내에 생성할 프로젝트의 경로.
GITLAB_DUO_PROJECT_CLONE_URL https://gitlab.com/.../test-repo.git 프로젝트 리포지터리로 클론할 Git URL.

예를 들어, 커스텀 그룹 및 프로젝트로 시드하려면:

GITLAB_DUO_GROUP_PATH=my-duo-group GITLAB_DUO_PROJECT_PATH=my-project \
  SEED_GITLAB_DUO=1 FILTER=gitlab_duo bundle exec rake db:seed_fu

동일한 환경 변수는 gitlab:duo:setup Rake 태스크에서도 적용됩니다.

고정 ID 및 평가 프레임워크 호환성#

GitLab Duo 그룹 및 프로젝트 리소스는 자동화된 GitLab Duo 평가를 위한 Central Evaluation Framework에서도 사용됩니다. 일부 평가 데이터셋은 그룹 또는 프로젝트 리소스를 참조합니다(예: Summarize issue #123은 PostgreSQL에 해당 이슈 레코드가 필요합니다).

현재 이 개발 시드 파일과 평가 데이터셋은 별도로 관리됩니다. 통합이 계속 작동하도록 하려면, 이 시더가 매번 동일한 그룹/프로젝트 리소스를 생성해야 합니다. 예를 들어, 삽입된 PostgreSQL 레코드의 ID 및 IID는 이 시딩 프로세스를 실행할 때마다 동일해야 합니다.

기본 그룹 및 프로젝트 경로(gitlab-duo/test)를 사용하는 경우, 시더는 시드된 모든 레코드(그룹, 프로젝트, 에픽, 이슈, 머지 리퀘스트 등)에 1_000_000의 고정 기본 ID를 할당합니다. 이렇게 하면 평가 데이터셋이 의존하는 결정론적 ID가 보장됩니다.

위의 환경 변수를 통해 커스텀 경로를 제공하면, 고정 ID가 적용되지 않으며 PostgreSQL이 자동으로 ID를 할당합니다.

커스텀 경로 시드는 GitLab Duo 기능(Duo Chat, 코드 제안 등)의 인터랙티브 사용에는 완전히 기능합니다. 유일한 제한은 Central Evaluation Framework 데이터셋이 기본 경로에서 생성된 고정 ID를 기대한다는 것입니다. 자동화된 평가를 실행해야 하는 경우, 기본 gitlab-duo/test 경로를 사용하십시오.

이 픽스처에 의존하는 프로젝트는 다음과 같습니다:

자세한 내용은 이 아키텍처 문서를 참조하십시오.