InfoGrab DocsInfoGrab Docs

기본 제공 프로젝트 템플릿에 기여하기

요약

GitLab은 새 프로젝트를 생성할 때 사용할 수 있는 몇 가지 기본 제공 프로젝트 템플릿을 제공합니다. 기본 제공 템플릿은 다음 그룹에서 소싱됩니다: gitlab-org/project-templates 작동하는 GitLab Development Kit (GDK) 환경이 있어야 합니다.

GitLab은 새 프로젝트를 생성할 때 사용할 수 있는 몇 가지 기본 제공 프로젝트 템플릿을 제공합니다.

기본 제공 템플릿은 다음 그룹에서 소싱됩니다:

사전 요구사항:

  • 작동하는 GitLab Development Kit (GDK) 환경이 있어야 합니다. 특히 PostgreSQL, Praefect, sshd가 작동 중이어야 합니다.

  • wget이 설치되어 있어야 합니다.

새 기본 제공 프로젝트 템플릿 추가#

GitLab과 함께 배포되는 새 기본 제공 프로젝트 템플릿에 기여하고 싶다면 따라야 할 몇 가지 단계가 있습니다.

프로젝트 생성#

  • 원하는 네임스페이스에 기여하려는 프로젝트 콘텐츠를 담은 새 공개 프로젝트를 생성합니다. 작동하는 예시를 참고할 수 있습니다.

프로젝트는 불필요한 에셋이나 의존성이 없어야 합니다.

  • 프로젝트가 검토 준비가 되면 프로젝트 링크가 포함된 새 이슈를 생성합니다.

이슈에서 Create:Source Code 그룹의 관련 Backend Engineering Manager와 Product Manager를 @ 멘션합니다.

gitlab-svgs에 로고 추가#

모든 템플릿은 gitlab-svgs 라이브러리에서 아이콘을 가져오므로, 추가하는 템플릿의 아이콘이 없다면 제출해야 합니다.

서드파티 로고 추가 방법을 참고하세요.

로고가 main 브랜치에 추가되면 이 새 릴리즈를 감지하고 gitlab-org/gitlab에 머지 리퀘스트를 생성합니다. 그런 다음 다음 단계로 진행할 수 있습니다.

템플릿 세부 정보 추가#

GitLab에서 사용할 수 있는 두 가지 유형의 기본 제공 템플릿이 있습니다:

  • Standard 템플릿: 모든 GitLab 티어에서 사용 가능합니다.

  • Enterprise 템플릿: GitLab Premium 및 Ultimate에서만 사용 가능합니다.

새 프로젝트를 생성할 때 프로젝트 템플릿을 사용할 수 있도록 하려면 작동하는 템플릿을 만드는 벤더링 프로세스를 따라야 합니다.

Standard 템플릿#

예시는 머지 리퀘스트 25318을 참고하세요.

Standard 템플릿에 기여하려면:

lib/gitlab/project_template.rblocalized_templates_table 메서드에 다음 형식을 사용하여 템플릿 세부 정보를 추가합니다:

ProjectTemplate.new('<template_name>', '<template_short_description>', _('<template_long_description>'), '<template_project_link>', 'illustrations/logos/<template_logo_name>.svg'),

app/assets/javascripts/projects/default_project_templates.js에 템플릿 세부 정보를 추가합니다.

spec/support/helpers/project_template_test_helper.rb에 템플릿 이름을 추가합니다.

Enterprise 템플릿#

예시는 머지 리퀘스트 28187을 참고하세요.

Enterprise 템플릿에 기여하려면:

ee/lib/ee/gitlab/project_template.rblocalized_ee_templates_table 메서드에 다음 형식을 사용하여 템플릿 세부 정보를 추가합니다:

ProjectTemplate.new('<template_name>', '<template_short_description>', _('<template_long_description>'), '<template_project_link>', 'illustrations/logos/<template_logo_name>.svg'),

ee/spec/lib/gitlab/project_template_spec.rblet(:enterprise_templates) 목록에 템플릿 이름을 추가합니다.

ee/app/assets/javascripts/projects/default_project_templates.js에 템플릿 세부 정보를 추가합니다.

템플릿 세부 정보 채우기#

GDK를 시작합니다:

gdk start

gitlab 프로젝트에서 다음을 실행합니다. 여기서 <template_name>gitlab/project_template.rb에서 템플릿에 지정한 이름입니다:

bin/rake "gitlab:update_project_templates[<template_name>]"

gitlab 프로젝트에서 로컬라이제이션 파일을 재생성하고 새 .pot 파일을 커밋합니다:

bin/rake gettext:regenerate

커밋 메시지에 체인지로그 항목을 추가합니다 (예: Changelog: added). 자세한 내용은 체인지로그 항목을 참고하세요.

기존 기본 제공 프로젝트 템플릿 업데이트#

변경 사항에 기여하려면:

관련 프로젝트에서 머지 리퀘스트를 열고, 검토 준비가 되면 다음 댓글을 남깁니다:

@gitlab-org/manage/import/backend this is a contribution to update the project
template and is ready for review!

@gitlab-bot ready

머지 리퀘스트가 승인된 경우:

이슈를 열어 업데이트를 요청합니다.

또는 벤더링된 템플릿을 직접 업데이트하고 머지 리퀘스트를 엽니다:

bin/rake "gitlab:update_project_templates[<template_name>]"

GitLab Development Kit으로 기본 제공 프로젝트 테스트#

자체 GDK 인스턴스에서 프로젝트 템플릿을 테스트하려면 다음 단계를 완료합니다:

GDK를 시작합니다:

gdk start

다음 Rake 태스크를 실행합니다. 여기서 <template_name>lib/gitlab/project_template.rb에 있는 템플릿의 이름입니다:

bin/rake "gitlab:update_project_templates[<template_name>]"

브라우저에서 GitLab을 열고 프로젝트 템플릿을 선택하여 새 프로젝트를 생성합니다.

GitLab 팀 멤버를 위한 안내#

모든 머지 리퀘스트를 병합하기 전에 Security 담당자의 검토를 받아야 합니다.

모든 템플릿 업데이트#

템플릿에서 프로젝트를 시작하려면 해당 프로젝트를 내보내야 합니다. 최신 기본 브랜치에서 실행합니다:

gdk start # postgres, praefect, and sshd are required
bin/rake gitlab:update_project_templates
git checkout -b update-project-templates
git add vendor/project_templates
git commit
git push -u origin update-project-templates

이제 머지 리퀘스트를 생성하고 Security 담당자에게 병합을 할당합니다.

단일 템플릿 업데이트#

모든 템플릿 대신 단일 템플릿만 업데이트하려면 대괄호 안에 템플릿 이름을 지정합니다. 예를 들어 jekyll 템플릿의 경우 다음을 실행합니다:

bin/rake "gitlab:update_project_templates[jekyll]"

템플릿 머지 리퀘스트 검토#

하나 이상의 벤더링된 프로젝트 템플릿을 변경하는 머지 리퀘스트를 검토하려면 check-template-changes 스크립트를 실행합니다:

scripts/check-template-changes vendor/project_templates/<template_name>.tar.gz

이 스크립트는 기본 브랜치 대비 파일 변경 사항의 diff를 출력하고, 템플릿 리포지터리가 소스 템플릿 프로젝트와 일치하는지 확인합니다.

기본 제공 프로젝트 템플릿에 기여하기

GitLab v19.1
원문 보기
요약

GitLab은 새 프로젝트를 생성할 때 사용할 수 있는 몇 가지 기본 제공 프로젝트 템플릿을 제공합니다. 기본 제공 템플릿은 다음 그룹에서 소싱됩니다: gitlab-org/project-templates 작동하는 GitLab Development Kit (GDK) 환경이 있어야 합니다.

GitLab은 새 프로젝트를 생성할 때 사용할 수 있는 몇 가지 기본 제공 프로젝트 템플릿을 제공합니다.

기본 제공 템플릿은 다음 그룹에서 소싱됩니다:

사전 요구사항:

  • 작동하는 GitLab Development Kit (GDK) 환경이 있어야 합니다. 특히 PostgreSQL, Praefect, sshd가 작동 중이어야 합니다.

  • wget이 설치되어 있어야 합니다.

새 기본 제공 프로젝트 템플릿 추가#

GitLab과 함께 배포되는 새 기본 제공 프로젝트 템플릿에 기여하고 싶다면 따라야 할 몇 가지 단계가 있습니다.

프로젝트 생성#

  • 원하는 네임스페이스에 기여하려는 프로젝트 콘텐츠를 담은 새 공개 프로젝트를 생성합니다. 작동하는 예시를 참고할 수 있습니다.

프로젝트는 불필요한 에셋이나 의존성이 없어야 합니다.

  • 프로젝트가 검토 준비가 되면 프로젝트 링크가 포함된 새 이슈를 생성합니다.

이슈에서 Create:Source Code 그룹의 관련 Backend Engineering Manager와 Product Manager를 @ 멘션합니다.

gitlab-svgs에 로고 추가#

모든 템플릿은 gitlab-svgs 라이브러리에서 아이콘을 가져오므로, 추가하는 템플릿의 아이콘이 없다면 제출해야 합니다.

서드파티 로고 추가 방법을 참고하세요.

로고가 main 브랜치에 추가되면 이 새 릴리즈를 감지하고 gitlab-org/gitlab에 머지 리퀘스트를 생성합니다. 그런 다음 다음 단계로 진행할 수 있습니다.

템플릿 세부 정보 추가#

GitLab에서 사용할 수 있는 두 가지 유형의 기본 제공 템플릿이 있습니다:

  • Standard 템플릿: 모든 GitLab 티어에서 사용 가능합니다.

  • Enterprise 템플릿: GitLab Premium 및 Ultimate에서만 사용 가능합니다.

새 프로젝트를 생성할 때 프로젝트 템플릿을 사용할 수 있도록 하려면 작동하는 템플릿을 만드는 벤더링 프로세스를 따라야 합니다.

Standard 템플릿#

예시는 머지 리퀘스트 25318을 참고하세요.

Standard 템플릿에 기여하려면:

lib/gitlab/project_template.rblocalized_templates_table 메서드에 다음 형식을 사용하여 템플릿 세부 정보를 추가합니다:

ProjectTemplate.new('<template_name>', '<template_short_description>', _('<template_long_description>'), '<template_project_link>', 'illustrations/logos/<template_logo_name>.svg'),

app/assets/javascripts/projects/default_project_templates.js에 템플릿 세부 정보를 추가합니다.

spec/support/helpers/project_template_test_helper.rb에 템플릿 이름을 추가합니다.

Enterprise 템플릿#

예시는 머지 리퀘스트 28187을 참고하세요.

Enterprise 템플릿에 기여하려면:

ee/lib/ee/gitlab/project_template.rblocalized_ee_templates_table 메서드에 다음 형식을 사용하여 템플릿 세부 정보를 추가합니다:

ProjectTemplate.new('<template_name>', '<template_short_description>', _('<template_long_description>'), '<template_project_link>', 'illustrations/logos/<template_logo_name>.svg'),

ee/spec/lib/gitlab/project_template_spec.rblet(:enterprise_templates) 목록에 템플릿 이름을 추가합니다.

ee/app/assets/javascripts/projects/default_project_templates.js에 템플릿 세부 정보를 추가합니다.

템플릿 세부 정보 채우기#

GDK를 시작합니다:

gdk start

gitlab 프로젝트에서 다음을 실행합니다. 여기서 <template_name>gitlab/project_template.rb에서 템플릿에 지정한 이름입니다:

bin/rake "gitlab:update_project_templates[<template_name>]"

gitlab 프로젝트에서 로컬라이제이션 파일을 재생성하고 새 .pot 파일을 커밋합니다:

bin/rake gettext:regenerate

커밋 메시지에 체인지로그 항목을 추가합니다 (예: Changelog: added). 자세한 내용은 체인지로그 항목을 참고하세요.

기존 기본 제공 프로젝트 템플릿 업데이트#

변경 사항에 기여하려면:

관련 프로젝트에서 머지 리퀘스트를 열고, 검토 준비가 되면 다음 댓글을 남깁니다:

@gitlab-org/manage/import/backend this is a contribution to update the project
template and is ready for review!

@gitlab-bot ready

머지 리퀘스트가 승인된 경우:

이슈를 열어 업데이트를 요청합니다.

또는 벤더링된 템플릿을 직접 업데이트하고 머지 리퀘스트를 엽니다:

bin/rake "gitlab:update_project_templates[<template_name>]"

GitLab Development Kit으로 기본 제공 프로젝트 테스트#

자체 GDK 인스턴스에서 프로젝트 템플릿을 테스트하려면 다음 단계를 완료합니다:

GDK를 시작합니다:

gdk start

다음 Rake 태스크를 실행합니다. 여기서 <template_name>lib/gitlab/project_template.rb에 있는 템플릿의 이름입니다:

bin/rake "gitlab:update_project_templates[<template_name>]"

브라우저에서 GitLab을 열고 프로젝트 템플릿을 선택하여 새 프로젝트를 생성합니다.

GitLab 팀 멤버를 위한 안내#

모든 머지 리퀘스트를 병합하기 전에 Security 담당자의 검토를 받아야 합니다.

모든 템플릿 업데이트#

템플릿에서 프로젝트를 시작하려면 해당 프로젝트를 내보내야 합니다. 최신 기본 브랜치에서 실행합니다:

gdk start # postgres, praefect, and sshd are required
bin/rake gitlab:update_project_templates
git checkout -b update-project-templates
git add vendor/project_templates
git commit
git push -u origin update-project-templates

이제 머지 리퀘스트를 생성하고 Security 담당자에게 병합을 할당합니다.

단일 템플릿 업데이트#

모든 템플릿 대신 단일 템플릿만 업데이트하려면 대괄호 안에 템플릿 이름을 지정합니다. 예를 들어 jekyll 템플릿의 경우 다음을 실행합니다:

bin/rake "gitlab:update_project_templates[jekyll]"

템플릿 머지 리퀘스트 검토#

하나 이상의 벤더링된 프로젝트 템플릿을 변경하는 머지 리퀘스트를 검토하려면 check-template-changes 스크립트를 실행합니다:

scripts/check-template-changes vendor/project_templates/<template_name>.tar.gz

이 스크립트는 기본 브랜치 대비 파일 변경 사항의 diff를 출력하고, 템플릿 리포지터리가 소스 템플릿 프로젝트와 일치하는지 확인합니다.