내장 프로젝트 템플릿에 기여하기

새로운 내장 프로젝트 템플릿 추가하기

GitLab과 함께 배포할 새로운 내장 프로젝트 템플릿에 기여하려면 다음 단계를 수행하세요:

  1. 원하는 네임스페이스에 원하는 프로젝트 콘텐츠를 포함한 공개 프로젝트를 생성합니다. 작동 예시는 여기에서 확인할 수 있습니다.
    • 프로젝트는 가능한 간단하며 불필요한 자산이나 종속성이 없어야 합니다.
  2. 프로젝트가 검토를 위해 준비되면 GitLab에서 새로운 이슈를 생성하고 프로젝트에 대한 링크를 첨부합니다.

새 프로젝트를 생성할 때 프로젝트 템플릿을 사용할 수 있도록 하려면 다음 단계를 수행해야 합니다:

  1. 작동하는 템플릿을 생성합니다 (예시)
    • GitLab 내에서 2가지 유형의 내장 템플릿이 사용 가능합니다:
      • 표준 템플릿: GitLab Core, Starter 및 이상에서 사용 가능 (가장 일반적인 내장 템플릿 유형).
        • 표준 템플릿에 기여하려면:
          • gitlab/lib/gitlab/project_template.rblocalized_templates_table 메서드에 템플릿의 세부 정보를 추가,
          • all 메서드에 대한 테스트인 gitlab/spec/lib/gitlab/project_template_spec.rb에 템플릿의 세부 정보를 추가, 그리고
          • gitlab/app/assets/javascripts/projects/default_project_templates.js에 템플릿의 세부 정보를 추가합니다.
          • 예시는 MR !25318를 참조하세요
      • 기업 템플릿: GitLab 12.10에서 소개되었으며 GitLab Gold 및 Ultimate에서만 사용 가능합니다.
        • 기업 템플릿에 기여하려면:
          • gitlab/ee/lib/ee/gitlab/project_template.rblocalized_ee_templates_table 메서드에 템플릿의 세부 정보를 추가,
          • enterprise_templates 메서드에 대한 테스트인 gitlab/ee/spec/lib/gitlab/project_template_spec.rb에 템플릿의 세부 정보를 추가, 그리고
          • gitlab/ee/app/assets/javascripts/projects/default_project_templates.js에 템플릿의 세부 정보를 추가합니다.
          • 예시는 MR !28187를 참조하세요.
  2. $namegitlab/project_template.rb에서 지정한 템플릿 이름인 경우, 다음을 gitlab 프로젝트에서 실행합니다:

    bin/rake gitlab:update_project_templates[$name]
    
  3. bundle_repo 스크립트를 실행합니다. 올바른 인수를 전달해야 하며, 그렇지 않으면 스크립트가 폴더 구조를 손상시킬 수 있습니다.
  4. 내보낸 프로젝트 ($name.tar.gz)를 gitlab/vendor/project_templates에 추가하고 생성된 빌드 폴더 tar-baseproject를 제거합니다.
  5. gitlab 프로젝트에서 tooling/bin/gettext_extractor locale/gitlab.pot를 실행하고 새 .pot 파일을 커밋합니다.
  6. 커밋 메시지에 변경 내용 항목을 추가합니다 (예: Changelog: added). 자세한 내용은 변경 로그 항목을 참조하세요.
  7. gitlab-svgs에 아이콘을 추가하고, 이 예시에서 보여지는 대로 진행합니다. 프로젝트에 로고가 없는 경우 기본 ‘Tanuki’ 로고를 사용하세요.
  8. gitlab-svgs 프로젝트에서 yarn run svgs를 실행하고 결과를 커밋합니다.
  9. gitlab-svgs 프로젝트의 변경 사항을 main 브랜치에 전파합니다. 다음 단계를 포함합니다:
    • gitlab-svgs의 MR을 병합합니다.
    • The bot이 새 릴리스를 수집하고 gitlab-org/gitlab에서 MR을 생성합니다.
  10. 위에서 생성된 bot이 만든 MR이 병합되면 템플릿 MR을 업데이트된 master에 리베이스합니다. 새로운 SVG를 적용하려면 이 단계를 수행해야 합니다.
  11. 모든 것이 작동하는지 테스트합니다.

기존 템플릿을 개선하기

기존 템플릿은 project-templates 그룹에서 사용할 수 있습니다.

변경 사항을 기여하기 위해 관련 프로젝트에서 MR을 오픈하고 검토를 위해 준비되었을 때 @gitlab-org/manage/import/backend을 언급합니다.

그런 다음, 만약 당신의 MR이 승인되면, gitlab에서 업데이트를 요청하는 이슈를 엽니다. 또는 이 지침을 사용하여 vendored 템플릿을 업데이트할 MR을 엽니다.

GitLab 개발 키트 내장 프로젝트를 테스트하세요

자체 GitLab 개발 키트 인스턴스에서 프로젝트 템플릿을 테스트하려면 다음 단계를 완료하세요:

  1. 다음 Rake 작업을 실행하세요. 여기서 <path>/<name>lib/gitlab/project_template.rb에서 템플릿에 지정한 이름입니다:

    bin/rake gitlab:update_project_templates\[<path>/<name>\]
    

GitLab 팀 멤버용

병합 요청이 병합되기 전에 보안 대응 담당자에 의해 검토되었는지 확인하세요.

벤더된 프로젝트 템플릿을 변경하는 병합 요청을 검토하려면 check-template-changes 스크립트를 실행하세요:

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

이 스크립트는 파일 변경 사항에 대한 차이점을 출력하고, 템플릿 리포지토리가 소스 템플릿 프로젝트와 일치하는지도 확인합니다.