GitLab의 URL
GitLab의 URL에 대해 설명합니다.
개요 # GitLab은 URL이 생성되고 해석되는 방식에 영향을 미치는 여러 배포 구성을 지원합니다. 하드코딩되거나 절대적인 URL을 사용하면 다음 시나리오에서 기능이 중단될 수 있습니다: 상대 URL 설치 - 경로 접두사가 있는 GitLab 배포(예: https://example.com/gitlab/ ) Geo 배포 - 다른 URL을 가진 기본 및 보조 사이트 조직 범위 라우트 - 조직 컨텍스트를 기반으로 하는 동적 URL 구조 모든 배포 구성에서 URL이 올바르게 작동하도록 하려면 아래 가이드라인을 따르십시오. 일반 가이드라인 # URL 생성을 위해 Rails를 단일 진실의 원천으로 사용하십시오. 프론트엔드에 URL이 필요한 경우 Rails에서 생성하고 프론트엔드로 전달하십시오. 내부 애플리케이션 링크에 상대 URL을 사용하십시오. 절대 URL은 다음과 같은 경우에만 사용하십시오: 이메일용 링크 생성. 외부 서비스용 URL 구성. 웹 인터페이스 외부에서 작동해야 하는 클론 또는 다운로드 URL 빌드. 백엔드 가이드라인 # 경로 및 URL 헬퍼 # URL을 생성하려면 Rails 경로 및 URL 헬퍼 를 사용하십시오. 모든 내부 애플리케이션 링크에 *_path 헬퍼를 사용하십시오. 다음과 같이 애플리케이션 외부에서 사용해야 하는 링크에만 *_url 헬퍼를 사용하십시오: 이메일용 링크. 외부 서비스용 URL. 웹 인터페이스 외부에서 작동해야 하는 클론 또는 다운로드 URL. # 올바른 예 - 상대 경로 redirect_to project_path( @project ) # 잘못된 예 - 절대 URL redirect_to project_url( @project ) 프론트엔드 가이드라인 # JavaScript 및 Vue # JavaScript 또는 Vue에서 URL을 하드코딩하거나 구성하지 마십시오. Rails에서 URL을 생성하고 데이터 속성, GraphQL 쿼리 또는 REST API를 통해 프론트엔드로 전달하십시오. // 잘못된 예 - 프론트엔드에서 URL을 구성하지 마십시오 const endpoint = ` ${gon.relative_url_root} / ${projectPath} /-/refs` ; 올바른 대안은 다음 섹션을 참조하십시오. 데이터 속성으로 URL 전달 # data-* 속성을 사용하여 Rails에서 프론트엔드로 URL을 전달하십시오. 예: #js-my-app{ data: { base_path: project_iteration_cadences_path(project) } } const initMyApp = ( ) => { const el = document . getElementById ( 'js-my-app' ); if (!el) return false ; const { basePath } = el. dataset } GraphQL 쿼리 # webUrl 필드 사용을 피하십시오. 대신 webPath 또는 다른 상대 URL 필드(예: adminEditPath )를 사용하십시오. 해당 GraphQL 유형에 webPath 필드가