내장 프로젝트 템플릿에 기여하기
새로운 내장 프로젝트 템플릿 추가하기
GitLab과 함께 배포할 새로운 내장 프로젝트 템플릿을 기여하고 싶다면 다음을 수행하세요:
- 선택한 네임스페이스에 원하는 프로젝트 콘텐츠로 새로운 공개 프로젝트를 생성하세요. 작동 예시는 여기에서 확인할 수 있습니다.
- 프로젝트는 가능한 한 간단하며 불필요한 에셋이나 의존성이 없어야 합니다.
- 프로젝트가 검토를 준비하면 GitLab에서 새 이슈를 생성하고 프로젝트에 대한 링크를 추가하세요.
- 해당 이슈에서 Create:Source Code 그룹의 관련 Backend Engineering Manager 및 Product Manager를
@
언급하세요.
- 해당 이슈에서 Create:Source Code 그룹의 관련 Backend Engineering Manager 및 Product Manager를
새 프로젝트를 생성할 때 프로젝트 템플릿을 사용할 수 있도록 하려면 vendoring 프로세스가 완료되어야 합니다:
- 작동하는 템플릿을 생성하세요 (예시)
- GitLab 내에서 2가지 유형의 내장 템플릿을 사용할 수 있습니다:
-
표준 템플릿: GitLab Core, Starter 및 그 이상에서 사용할 수 있습니다 (가장 흔한 내장 템플릿 유형입니다).
- 표준 템플릿을 기여하려면:
-
gitlab/lib/gitlab/project_template.rb
의localized_templates_table
메서드에 템플릿의 세부 정보를 추가하세요, -
all
메서드의 테스트인spec/lib/gitlab/project_template_spec.rb
에 템플릿의 세부 정보를 추가하세요, -
gitlab/app/assets/javascripts/projects/default_project_templates.js
에 템플릿의 세부 정보를 추가하세요. - 예시로 !25318을 참고하세요.
-
- 표준 템플릿을 기여하려면:
-
엔터프라이즈 템플릿: GitLab 12.10에서 소개되었으며 GitLab Gold 및 Ultimate에서만 사용할 수 있습니다.
- 엔터프라이즈 템플릿을 기여하려면:
-
gitlab/ee/lib/ee/gitlab/project_template.rb
의localized_ee_templates_table
메서드에 템플릿의 세부 정보를 추가하세요, -
enterprise_templates
메서드인gitlab/ee/spec/lib/gitlab/project_template_spec.rb
에 템플릿의 세부 정보를 추가하세요, -
gitlab/ee/app/assets/javascripts/projects/default_project_templates.js
에 템플릿의 세부 정보를 추가하세요. - 예시로 !28187을 참고하세요.
-
- 엔터프라이즈 템플릿을 기여하려면:
-
표준 템플릿: GitLab Core, Starter 및 그 이상에서 사용할 수 있습니다 (가장 흔한 내장 템플릿 유형입니다).
- GitLab 내에서 2가지 유형의 내장 템플릿을 사용할 수 있습니다:
-
$name
이gitlab/project_template.rb
에서 지정한 템플릿 이름인 경우 다음을gitlab
프로젝트에서 실행하세요:bin/rake gitlab:update_project_templates[$name]
-
bundle_repo
스크립트를 실행하세요. 올바른 매개변수를 전달해야 하며, 그렇지 않으면 스크립트가 폴더 구조를 손상시킬 수 있습니다. - 내보낸 프로젝트 (
$name.tar.gz
)를gitlab/vendor/project_templates
에 추가하고 결과 생성된 빌드 폴더tar-base
및project
를 제거하세요. -
gitlab
프로젝트에서tooling/bin/gettext_extractor locale/gitlab.pot
을 실행하고 새로운.pot
파일을 커밋하세요. - 커밋 메시지에 변경 로그 항목을 추가하세요 (예:
Changelog: added
). 자세한 정보는 변경 로그 항목을 참고하세요. -
gitlab-svgs
에 아이콘을 추가하세요. 아이콘이 프로젝트에 사용할 수 없는 경우 기본 ‘Tanuki’ 로고를 사용하세요. -
gitlab-svgs
프로젝트에서yarn run svgs
를 실행하고 결과를 커밋하세요. -
gitlab-svgs
프로젝트에서 변경 사항을main
브랜치로 전파하세요. 이를 위해 다음을 수행해야 합니다:-
gitlab-svgs
에서 MR을 Merge합니다. -
The bot이 새 릴리스를 가져와
gitlab-org/gitlab
에서 MR을 생성합니다.
-
- 위에서 생성된 bot에 의한 MR이 Merge되면 템플릿 MR을 업데이트된
master
에 rebase하여 새로운 SVG를 가져오세요. - 모든 것이 작동하는지 테스트하세요.
기존 템플릿 개선 기여하기
기존 템플릿은 project-templates 그룹에서 사용할 수 있습니다.
변경 사항을 기여하려면 해당 프로젝트에서 새로운 MR을 열고 검토가 준비되면 @gitlab-org/manage/import/backend
을 언급하세요.
그런 다음 MR이 승인되면 gitlab
에서 업데이트를 요청하거나 이 지침을 사용하여 vendored 템플릿을 업데이트하는 MR을 엽니다.
GitLab 개발 킷으로 내장 프로젝트 테스트하기
자신의 GitLab 개발 킷 인스턴스에서 프로젝트 템플릿을 테스트하려면 다음 단계를 완료하세요:
-
lib/gitlab/project_template.rb
에서 템플릿에 제공한 이름인<path>/<name>
을 사용하여 다음 Rake 작업을 실행하세요:bin/rake gitlab:update_project_templates\[<path>/<name>\]
GitLab 팀 멤버용
Merge Request이 Merge되기 전에 보안 대응책으로부터 검토를 받았는지 확인하세요.
템플릿을 변경하는 Merge Request을 검토하려면 check-template-changes
스크립트를 실행하세요:
scripts/check-template-changes vendor/project_templates/<template_name>.tar.gz
이 스크립트는 파일 변경 사항의 diff를 출력하고 템플릿 리포지터리가 소스 템플릿 프로젝트와 일치하는지 확인합니다.