InfoGrab Docs

리뷰 앱

요약

리뷰 앱은 각 브랜치 또는 머지 리퀘스트에 대해 자동으로 생성되는 임시 테스트 환경입니다. 동적 환경을 기반으로 구축된 리뷰 앱은 각 브랜치 또는 머지 리퀘스트에 고유한 환경을 제공합니다. 이 환경들은 다음을 통해 개발 워크플로우를 간소화하는 데 도움이 됩니다:

리뷰 앱은 각 브랜치 또는 머지 리퀘스트에 대해 자동으로 생성되는 임시 테스트 환경입니다. 로컬 개발 환경을 설정할 필요 없이 변경 사항을 미리보고 검증할 수 있습니다.

동적 환경을 기반으로 구축된 리뷰 앱은 각 브랜치 또는 머지 리퀘스트에 고유한 환경을 제공합니다.

리뷰 앱 링크가 있는 머지된 결과 파이프라인 상태

이 환경들은 다음을 통해 개발 워크플로우를 간소화하는 데 도움이 됩니다:

  • 변경 사항을 테스트하기 위한 로컬 설정의 필요성 제거.
  • 모든 팀 구성원을 위한 일관된 환경 제공.
  • 이해 관계자가 URL로 변경 사항을 미리볼 수 있도록 지원.
  • 변경 사항이 프로덕션에 도달하기 전에 더 빠른 피드백 사이클 촉진.
Note

Kubernetes 클러스터가 있는 경우 Auto DevOps를 사용하여 리뷰 앱을 자동으로 설정할 수 있습니다.

리뷰 앱 워크플로우#

리뷰 앱 워크플로우는 다음과 유사할 수 있습니다:

Mermaid 다이어그램 (40줄)
소스 코드 보기
%%{init: { "fontFamily": "GitLab Sans" }}%%
flowchart TD
    accTitle: Review app workflow
    accDescr: Diagram showing how review apps fit into the GitLab development workflow.
subgraph Development["Development"]
    TopicBranch["Create topic branch"]
    Commit["Make code changes"]
    CreateMR["Create merge request"]
end

subgraph ReviewAppCycle["Review app cycle"]
    direction LR
    Pipeline["CI/CD pipeline runs"]
    ReviewApp["Review app deployed"]
    Testing["Review and testing"]
    Feedback["Feedback provided"]
    NewCommits["Address feedback
    with new commits"]
end

subgraph Deployment["Deployment"]
    Approval["Merge request approved"]
    Merge["Merged to default branch"]
    Production["Deployed to production"]
end

TopicBranch --> Commit
Commit --> CreateMR
CreateMR --> Pipeline

Pipeline --> ReviewApp
ReviewApp --> Testing
Testing --> Feedback
Feedback --> NewCommits
NewCommits --> Pipeline

Testing --> Approval
Approval --> Merge
Merge --&gt; Production</code></pre></details></div>

리뷰 앱 구성#

각 브랜치 또는 머지 리퀘스트에 대한 애플리케이션의 미리보기 환경을 제공하려면 리뷰 앱을 구성하세요.

사전 요구 사항:

  • 프로젝트에 대한 Developer, Maintainer 또는 Owner 권한이 있어야 합니다.
  • 프로젝트에 CI/CD 파이프라인을 사용할 수 있어야 합니다.
  • 리뷰 앱을 호스팅하고 배포할 인프라를 설정해야 합니다.

프로젝트에서 리뷰 앱을 구성하려면:

  1. 상단 표시줄에서 검색 또는 이동을 선택하고 프로젝트를 찾으세요.

  2. 빌드 > 파이프라인 편집기를 선택하세요.

  3. .gitlab-ci.yml 파일에서 동적 환경을 생성하는 작업을 추가하세요. 미리 정의된 CI/CD 변수를 사용하여 각 환경을 구분할 수 있습니다. 예를 들어 CI_COMMIT_REF_SLUG 미리 정의된 변수 사용:

    review_app:
      stage: deploy
      script:
        - echo "Deploy to review app environment"
        # Add your deployment commands here
      environment:
        name: review/$CI_COMMIT_REF_SLUG
        url: https://$CI_COMMIT_REF_SLUG.example.com
      rules:
        - if: $CI_COMMIT_BRANCH && $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH
    
  4. 선택 사항. 작업에 when: manual을 추가하여 리뷰 앱을 수동으로만 배포하세요.

  5. 선택 사항. 더 이상 필요하지 않을 때 리뷰 앱을 중지하는 작업을 추가하세요.

  6. 커밋 메시지를 입력하고 변경 사항 커밋을 선택하세요.

리뷰 앱 템플릿 사용#

GitLab은 기본적으로 머지 리퀘스트 파이프라인용으로 구성된 내장 템플릿을 제공합니다.

이 템플릿을 사용하고 커스텀화하려면:

  1. 상단 표시줄에서 검색 또는 이동을 선택하고 프로젝트를 찾으세요.

  2. 운영 > 환경을 선택하세요.

  3. 리뷰 앱 활성화를 선택하세요.

  4. 나타나는 리뷰 앱 활성화 다이얼로그에서 YAML 템플릿을 복사하세요:

    deploy_review:
      stage: deploy
      script:
        - echo "Add script here that deploys the code to your infrastructure"
      environment:
        name: review/$CI_COMMIT_REF_NAME
        url: https://$CI_ENVIRONMENT_SLUG.example.com
      rules:
        - if: $CI_PIPELINE_SOURCE == "merge_request_event"
    
  5. 빌드 > 파이프라인 편집기를 선택하세요.

  6. 템플릿을 .gitlab-ci.yml 파일에 붙여넣으세요.

  7. 배포 필요에 맞게 템플릿을 커스텀화하세요:

    • 인프라와 함께 작동하도록 배포 스크립트와 환경 URL을 수정하세요.
    • 머지 리퀘스트 없이 브랜치에 대한 리뷰 앱을 트리거하려면 규칙 섹션을 조정하세요.

    예를 들어 Heroku에 배포하는 경우:

    deploy_review:
      stage: deploy
      image: ruby:latest
      script:
        - apt-get update -qy
        - apt-get install -y ruby-dev
        - gem install dpl
        - dpl --provider=heroku --app=$HEROKU_APP_NAME --api-key=$HEROKU_API_KEY
      environment:
        name: review/$CI_COMMIT_REF_NAME
        url: https://$HEROKU_APP_NAME.herokuapp.com
        on_stop: stop_review_app
      rules:
        - if: $CI_PIPELINE_SOURCE == "merge_request_event"
    

    이 구성은 머지 리퀘스트에 대해 파이프라인이 실행될 때마다 Heroku에 자동 배포를 설정합니다. Ruby의 dpl 배포 도구를 사용하여 프로세스를 처리하고 지정된 URL을 통해 접근할 수 있는 동적 리뷰 환경을 생성합니다.

  8. 커밋 메시지를 입력하고 변경 사항 커밋을 선택하세요.

리뷰 앱 중지#

리소스를 절약하기 위해 수동 또는 자동으로 중지되도록 리뷰 앱을 구성할 수 있습니다.

리뷰 앱에 대한 환경 중지에 관한 자세한 내용은 환경 중지를 참조하세요.

머지 시 리뷰 앱 자동 중지#

연결된 머지 리퀘스트가 머지되거나 브랜치가 삭제될 때 리뷰 앱이 자동으로 중지되도록 구성하려면:

  1. 배포 작업에 on_stop 키워드를 추가하세요.
  2. environment:action: stop을 사용하여 중지 작업을 생성하세요.
  3. 선택 사항. 중지 작업에 when: manual을 추가하여 언제든지 리뷰 앱을 수동으로 중지할 수 있도록 하세요.

예를 들어:

# In your .gitlab-ci.yml file
deploy_review:
  # Other configuration...
  environment:
    name: review/${CI_COMMIT_REF_NAME}
    url: https://${CI_ENVIRONMENT_SLUG}.example.com
    on_stop: stop_review_app  # References the stop_review_app job

stop_review_app:
  stage: deploy
  script:
    - echo "Stop review app"
    # Add your cleanup commands here
  environment:
    name: review/${CI_COMMIT_REF_NAME}
    action: stop
  when: manual  # Makes this job manually triggerable
  rules:
    - if: $CI_PIPELINE_SOURCE == "merge_request_event"

시간 기반 자동 중지#

일정 기간 후 리뷰 앱이 자동으로 중지되도록 구성하려면 배포 작업에 auto_stop_in 키워드를 추가하세요:

# In your .gitlab-ci.yml file
review_app:
  script: deploy-review-app
  environment:
    name: review/$CI_COMMIT_REF_SLUG
    auto_stop_in: 1 week  # Stops after one week of inactivity
  rules:
    - if: $CI_MERGE_REQUEST_ID

리뷰 앱 보기#

리뷰 앱을 배포하고 접근하려면:

  1. 머지 리퀘스트로 이동하세요.
  2. 선택 사항. 리뷰 앱 작업이 수동인 경우 실행([play])을 선택하여 배포를 트리거하세요.
  3. 파이프라인이 완료되면 앱 보기를 선택하여 브라우저에서 리뷰 앱을 여세요.

구현 예시#

이 프로젝트들은 다양한 리뷰 앱 구현을 보여줍니다:

리뷰 앱의 다른 예시:

라우트 맵#

라우트 맵을 사용하면 소스 파일에서 리뷰 앱 환경의 해당 공개 페이지로 직접 이동할 수 있습니다. 이 기능을 사용하면 머지 리퀘스트에서 특정 변경 사항을 더 쉽게 미리볼 수 있습니다.

구성되면 라우트 맵은 매핑 패턴과 일치하는 파일의 리뷰 앱 버전을 볼 수 있는 컨텍스트 링크를 추가합니다. 이 링크들은 다음에 표시됩니다:

  • 머지 리퀘스트 위젯.
  • 커밋 및 파일 보기.

라우트 맵 구성#

라우트 맵을 설정하려면:

  1. 리포지터리에 .gitlab/route-map.yml 파일을 생성하세요.
  2. 소스 경로(리포지터리에서)와 공개 경로(리뷰 앱 인프라 또는 웹사이트에서) 간의 매핑을 정의하세요.

라우트 맵은 각 항목이 source 경로를 public 경로에 매핑하는 YAML 배열입니다.

라우트 맵의 각 매핑은 다음 형식을 따릅니다:

- source: 'path/to/source/file'  # Source file in repository
  public: 'path/to/public/page'  # Public page on the website

두 가지 유형의 매핑을 사용할 수 있습니다:

  • 정확히 일치: 작은따옴표로 묶인 문자열 리터럴
  • 패턴 일치: 슬래시로 묶인 정규식

정규식을 사용한 패턴 매칭의 경우:

  • 정규식은 전체 소스 경로와 일치해야 합니다(^$ 앵커가 암시됨).
  • 캡처 그룹 ()을 사용할 수 있으며 public 경로에서 참조할 수 있습니다.
  • 발생 순서대로 \N 표현식을 사용하여 캡처 그룹을 참조하세요(\1, \2 등).
  • 슬래시(/)를 \/로, 마침표(.)를 \.로 이스케이프하세요.

GitLab은 정의 순서대로 매핑을 평가합니다. 일치하는 첫 번째 source 표현식이 public 경로를 결정합니다.

라우트 맵 예시#

다음 예시는 GitLab 웹사이트에서 사용되는 정적 사이트 생성기인 Middleman의 라우트 맵을 보여줍니다:

# Team data
- source: 'data/team.yml'  # data/team.yml
  public: 'team/'  # team/

# Blogposts
- source: /source\/posts\/([0-9]{4})-([0-9]{2})-([0-9]{2})-(.+?)\..*/  # source/posts/2017-01-30-around-the-world-in-6-releases.html.md.erb
  public: '\1/\2/\3/\4/'  # 2017/01/30/around-the-world-in-6-releases/

# HTML files
- source: /source\/(.+?\.html).*/  # source/index.html.haml
  public: '\1'  # index.html

# Other files
- source: /source\/(.*)/  # source/images/blogimages/around-the-world-in-6-releases-cover.png
  public: '\1'  # images/blogimages/around-the-world-in-6-releases-cover.png

이 예시에서:

  • 매핑은 순서대로 평가됩니다.
  • 세 번째 매핑은 source/index.html.haml이 포괄적인 /source\/(.*)/ 대신 /source\/(.+?\.html).*/와 일치하도록 합니다. 이렇게 하면 index.html.haml 대신 index.html의 공개 경로가 생성됩니다.

매핑된 페이지 보기#

라우트 맵을 사용하여 소스 파일에서 리뷰 앱의 해당 페이지로 직접 이동하세요.

사전 요구 사항:

  • .gitlab/route-map.yml에 라우트 맵이 구성되어 있어야 합니다.
  • 브랜치 또는 머지 리퀘스트에 대해 리뷰 앱이 배포되어 있어야 합니다.

머지 리퀘스트 위젯에서 매핑된 페이지를 보려면:

  1. 머지 리퀘스트 위젯에서 앱 보기를 선택하세요. 드롭다운 목록에 최대 5개의 매핑된 페이지가 표시됩니다(더 많은 경우 필터링 포함).

매핑된 항목과 필터 표시줄이 있는 라우트 맵이 있는 머지 리퀘스트 위젯.

파일에서 매핑된 페이지를 보려면:

  1. 다음 방법 중 하나를 사용하여 라우트 맵과 일치하는 파일로 이동하세요:
    • 머지 리퀘스트에서: 변경 사항 탭에서 **파일 보기 @ [커밋]**을 선택하세요.
    • 커밋 페이지에서: 파일 이름을 선택하세요.
    • 비교에서: 리비전을 비교할 때 파일 이름을 선택하세요.
  2. 파일 페이지에서 오른쪽 상단에 [환경 이름]에서 보기([external-link])를 선택하세요.

커밋에서 매핑된 페이지를 보려면:

  1. 리뷰 앱 배포가 있는 커밋으로 이동하세요:
    • 브랜치 파이프라인의 경우: 왼쪽 사이드바에서 코드 > 커밋을 선택하고 파이프라인 배지가 있는 커밋을 선택하세요.
    • 머지 리퀘스트 파이프라인의 경우: 머지 리퀘스트에서 커밋 탭을 선택하고 커밋을 선택하세요.
    • 머지된 결과 파이프라인의 경우: 머지 리퀘스트에서 파이프라인 탭을 선택하고 파이프라인 커밋을 선택하세요.
  2. 라우트 맵과 일치하는 파일 이름 옆의 리뷰 앱 아이콘([external-link])을 선택하세요. 아이콘을 클릭하면 리뷰 앱의 해당 페이지가 열립니다.
Note

머지된 결과 파이프라인은 브랜치를 대상 브랜치와 병합하는 내부 커밋을 생성합니다. 이 파이프라인의 리뷰 앱 링크에 접근하려면 커밋 탭이 아닌 파이프라인 탭의 커밋을 사용하세요.

리뷰 앱

Tier: Free, Premium, Ultimate
Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
원문 보기
요약

리뷰 앱은 각 브랜치 또는 머지 리퀘스트에 대해 자동으로 생성되는 임시 테스트 환경입니다. 동적 환경을 기반으로 구축된 리뷰 앱은 각 브랜치 또는 머지 리퀘스트에 고유한 환경을 제공합니다. 이 환경들은 다음을 통해 개발 워크플로우를 간소화하는 데 도움이 됩니다:

리뷰 앱은 각 브랜치 또는 머지 리퀘스트에 대해 자동으로 생성되는 임시 테스트 환경입니다. 로컬 개발 환경을 설정할 필요 없이 변경 사항을 미리보고 검증할 수 있습니다.

동적 환경을 기반으로 구축된 리뷰 앱은 각 브랜치 또는 머지 리퀘스트에 고유한 환경을 제공합니다.

리뷰 앱 링크가 있는 머지된 결과 파이프라인 상태

이 환경들은 다음을 통해 개발 워크플로우를 간소화하는 데 도움이 됩니다:

  • 변경 사항을 테스트하기 위한 로컬 설정의 필요성 제거.
  • 모든 팀 구성원을 위한 일관된 환경 제공.
  • 이해 관계자가 URL로 변경 사항을 미리볼 수 있도록 지원.
  • 변경 사항이 프로덕션에 도달하기 전에 더 빠른 피드백 사이클 촉진.
Note

Kubernetes 클러스터가 있는 경우 Auto DevOps를 사용하여 리뷰 앱을 자동으로 설정할 수 있습니다.

리뷰 앱 워크플로우#

리뷰 앱 워크플로우는 다음과 유사할 수 있습니다:

Mermaid 다이어그램 (40줄)
소스 코드 보기
%%{init: { "fontFamily": "GitLab Sans" }}%%
flowchart TD
    accTitle: Review app workflow
    accDescr: Diagram showing how review apps fit into the GitLab development workflow.
subgraph Development["Development"]
    TopicBranch["Create topic branch"]
    Commit["Make code changes"]
    CreateMR["Create merge request"]
end

subgraph ReviewAppCycle["Review app cycle"]
    direction LR
    Pipeline["CI/CD pipeline runs"]
    ReviewApp["Review app deployed"]
    Testing["Review and testing"]
    Feedback["Feedback provided"]
    NewCommits["Address feedback
    with new commits"]
end

subgraph Deployment["Deployment"]
    Approval["Merge request approved"]
    Merge["Merged to default branch"]
    Production["Deployed to production"]
end

TopicBranch --&gt; Commit
Commit --&gt; CreateMR
CreateMR --&gt; Pipeline

Pipeline --&gt; ReviewApp
ReviewApp --&gt; Testing
Testing --&gt; Feedback
Feedback --&gt; NewCommits
NewCommits --&gt; Pipeline

Testing --&gt; Approval
Approval --&gt; Merge
Merge --&gt; Production</code></pre></details></div>

리뷰 앱 구성#

각 브랜치 또는 머지 리퀘스트에 대한 애플리케이션의 미리보기 환경을 제공하려면 리뷰 앱을 구성하세요.

사전 요구 사항:

  • 프로젝트에 대한 Developer, Maintainer 또는 Owner 권한이 있어야 합니다.
  • 프로젝트에 CI/CD 파이프라인을 사용할 수 있어야 합니다.
  • 리뷰 앱을 호스팅하고 배포할 인프라를 설정해야 합니다.

프로젝트에서 리뷰 앱을 구성하려면:

  1. 상단 표시줄에서 검색 또는 이동을 선택하고 프로젝트를 찾으세요.

  2. 빌드 > 파이프라인 편집기를 선택하세요.

  3. .gitlab-ci.yml 파일에서 동적 환경을 생성하는 작업을 추가하세요. 미리 정의된 CI/CD 변수를 사용하여 각 환경을 구분할 수 있습니다. 예를 들어 CI_COMMIT_REF_SLUG 미리 정의된 변수 사용:

    review_app:
      stage: deploy
      script:
        - echo "Deploy to review app environment"
        # Add your deployment commands here
      environment:
        name: review/$CI_COMMIT_REF_SLUG
        url: https://$CI_COMMIT_REF_SLUG.example.com
      rules:
        - if: $CI_COMMIT_BRANCH && $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH
    
  4. 선택 사항. 작업에 when: manual을 추가하여 리뷰 앱을 수동으로만 배포하세요.

  5. 선택 사항. 더 이상 필요하지 않을 때 리뷰 앱을 중지하는 작업을 추가하세요.

  6. 커밋 메시지를 입력하고 변경 사항 커밋을 선택하세요.

리뷰 앱 템플릿 사용#

GitLab은 기본적으로 머지 리퀘스트 파이프라인용으로 구성된 내장 템플릿을 제공합니다.

이 템플릿을 사용하고 커스텀화하려면:

  1. 상단 표시줄에서 검색 또는 이동을 선택하고 프로젝트를 찾으세요.

  2. 운영 > 환경을 선택하세요.

  3. 리뷰 앱 활성화를 선택하세요.

  4. 나타나는 리뷰 앱 활성화 다이얼로그에서 YAML 템플릿을 복사하세요:

    deploy_review:
      stage: deploy
      script:
        - echo "Add script here that deploys the code to your infrastructure"
      environment:
        name: review/$CI_COMMIT_REF_NAME
        url: https://$CI_ENVIRONMENT_SLUG.example.com
      rules:
        - if: $CI_PIPELINE_SOURCE == "merge_request_event"
    
  5. 빌드 > 파이프라인 편집기를 선택하세요.

  6. 템플릿을 .gitlab-ci.yml 파일에 붙여넣으세요.

  7. 배포 필요에 맞게 템플릿을 커스텀화하세요:

    • 인프라와 함께 작동하도록 배포 스크립트와 환경 URL을 수정하세요.
    • 머지 리퀘스트 없이 브랜치에 대한 리뷰 앱을 트리거하려면 규칙 섹션을 조정하세요.

    예를 들어 Heroku에 배포하는 경우:

    deploy_review:
      stage: deploy
      image: ruby:latest
      script:
        - apt-get update -qy
        - apt-get install -y ruby-dev
        - gem install dpl
        - dpl --provider=heroku --app=$HEROKU_APP_NAME --api-key=$HEROKU_API_KEY
      environment:
        name: review/$CI_COMMIT_REF_NAME
        url: https://$HEROKU_APP_NAME.herokuapp.com
        on_stop: stop_review_app
      rules:
        - if: $CI_PIPELINE_SOURCE == "merge_request_event"
    

    이 구성은 머지 리퀘스트에 대해 파이프라인이 실행될 때마다 Heroku에 자동 배포를 설정합니다. Ruby의 dpl 배포 도구를 사용하여 프로세스를 처리하고 지정된 URL을 통해 접근할 수 있는 동적 리뷰 환경을 생성합니다.

  8. 커밋 메시지를 입력하고 변경 사항 커밋을 선택하세요.

리뷰 앱 중지#

리소스를 절약하기 위해 수동 또는 자동으로 중지되도록 리뷰 앱을 구성할 수 있습니다.

리뷰 앱에 대한 환경 중지에 관한 자세한 내용은 환경 중지를 참조하세요.

머지 시 리뷰 앱 자동 중지#

연결된 머지 리퀘스트가 머지되거나 브랜치가 삭제될 때 리뷰 앱이 자동으로 중지되도록 구성하려면:

  1. 배포 작업에 on_stop 키워드를 추가하세요.
  2. environment:action: stop을 사용하여 중지 작업을 생성하세요.
  3. 선택 사항. 중지 작업에 when: manual을 추가하여 언제든지 리뷰 앱을 수동으로 중지할 수 있도록 하세요.

예를 들어:

# In your .gitlab-ci.yml file
deploy_review:
  # Other configuration...
  environment:
    name: review/${CI_COMMIT_REF_NAME}
    url: https://${CI_ENVIRONMENT_SLUG}.example.com
    on_stop: stop_review_app  # References the stop_review_app job

stop_review_app:
  stage: deploy
  script:
    - echo "Stop review app"
    # Add your cleanup commands here
  environment:
    name: review/${CI_COMMIT_REF_NAME}
    action: stop
  when: manual  # Makes this job manually triggerable
  rules:
    - if: $CI_PIPELINE_SOURCE == "merge_request_event"

시간 기반 자동 중지#

일정 기간 후 리뷰 앱이 자동으로 중지되도록 구성하려면 배포 작업에 auto_stop_in 키워드를 추가하세요:

# In your .gitlab-ci.yml file
review_app:
  script: deploy-review-app
  environment:
    name: review/$CI_COMMIT_REF_SLUG
    auto_stop_in: 1 week  # Stops after one week of inactivity
  rules:
    - if: $CI_MERGE_REQUEST_ID

리뷰 앱 보기#

리뷰 앱을 배포하고 접근하려면:

  1. 머지 리퀘스트로 이동하세요.
  2. 선택 사항. 리뷰 앱 작업이 수동인 경우 실행([play])을 선택하여 배포를 트리거하세요.
  3. 파이프라인이 완료되면 앱 보기를 선택하여 브라우저에서 리뷰 앱을 여세요.

구현 예시#

이 프로젝트들은 다양한 리뷰 앱 구현을 보여줍니다:

리뷰 앱의 다른 예시:

라우트 맵#

라우트 맵을 사용하면 소스 파일에서 리뷰 앱 환경의 해당 공개 페이지로 직접 이동할 수 있습니다. 이 기능을 사용하면 머지 리퀘스트에서 특정 변경 사항을 더 쉽게 미리볼 수 있습니다.

구성되면 라우트 맵은 매핑 패턴과 일치하는 파일의 리뷰 앱 버전을 볼 수 있는 컨텍스트 링크를 추가합니다. 이 링크들은 다음에 표시됩니다:

  • 머지 리퀘스트 위젯.
  • 커밋 및 파일 보기.

라우트 맵 구성#

라우트 맵을 설정하려면:

  1. 리포지터리에 .gitlab/route-map.yml 파일을 생성하세요.
  2. 소스 경로(리포지터리에서)와 공개 경로(리뷰 앱 인프라 또는 웹사이트에서) 간의 매핑을 정의하세요.

라우트 맵은 각 항목이 source 경로를 public 경로에 매핑하는 YAML 배열입니다.

라우트 맵의 각 매핑은 다음 형식을 따릅니다:

- source: 'path/to/source/file'  # Source file in repository
  public: 'path/to/public/page'  # Public page on the website

두 가지 유형의 매핑을 사용할 수 있습니다:

  • 정확히 일치: 작은따옴표로 묶인 문자열 리터럴
  • 패턴 일치: 슬래시로 묶인 정규식

정규식을 사용한 패턴 매칭의 경우:

  • 정규식은 전체 소스 경로와 일치해야 합니다(^$ 앵커가 암시됨).
  • 캡처 그룹 ()을 사용할 수 있으며 public 경로에서 참조할 수 있습니다.
  • 발생 순서대로 \N 표현식을 사용하여 캡처 그룹을 참조하세요(\1, \2 등).
  • 슬래시(/)를 \/로, 마침표(.)를 \.로 이스케이프하세요.

GitLab은 정의 순서대로 매핑을 평가합니다. 일치하는 첫 번째 source 표현식이 public 경로를 결정합니다.

라우트 맵 예시#

다음 예시는 GitLab 웹사이트에서 사용되는 정적 사이트 생성기인 Middleman의 라우트 맵을 보여줍니다:

# Team data
- source: 'data/team.yml'  # data/team.yml
  public: 'team/'  # team/

# Blogposts
- source: /source\/posts\/([0-9]{4})-([0-9]{2})-([0-9]{2})-(.+?)\..*/  # source/posts/2017-01-30-around-the-world-in-6-releases.html.md.erb
  public: '\1/\2/\3/\4/'  # 2017/01/30/around-the-world-in-6-releases/

# HTML files
- source: /source\/(.+?\.html).*/  # source/index.html.haml
  public: '\1'  # index.html

# Other files
- source: /source\/(.*)/  # source/images/blogimages/around-the-world-in-6-releases-cover.png
  public: '\1'  # images/blogimages/around-the-world-in-6-releases-cover.png

이 예시에서:

  • 매핑은 순서대로 평가됩니다.
  • 세 번째 매핑은 source/index.html.haml이 포괄적인 /source\/(.*)/ 대신 /source\/(.+?\.html).*/와 일치하도록 합니다. 이렇게 하면 index.html.haml 대신 index.html의 공개 경로가 생성됩니다.

매핑된 페이지 보기#

라우트 맵을 사용하여 소스 파일에서 리뷰 앱의 해당 페이지로 직접 이동하세요.

사전 요구 사항:

  • .gitlab/route-map.yml에 라우트 맵이 구성되어 있어야 합니다.
  • 브랜치 또는 머지 리퀘스트에 대해 리뷰 앱이 배포되어 있어야 합니다.

머지 리퀘스트 위젯에서 매핑된 페이지를 보려면:

  1. 머지 리퀘스트 위젯에서 앱 보기를 선택하세요. 드롭다운 목록에 최대 5개의 매핑된 페이지가 표시됩니다(더 많은 경우 필터링 포함).

매핑된 항목과 필터 표시줄이 있는 라우트 맵이 있는 머지 리퀘스트 위젯.

파일에서 매핑된 페이지를 보려면:

  1. 다음 방법 중 하나를 사용하여 라우트 맵과 일치하는 파일로 이동하세요:
    • 머지 리퀘스트에서: 변경 사항 탭에서 **파일 보기 @ [커밋]**을 선택하세요.
    • 커밋 페이지에서: 파일 이름을 선택하세요.
    • 비교에서: 리비전을 비교할 때 파일 이름을 선택하세요.
  2. 파일 페이지에서 오른쪽 상단에 [환경 이름]에서 보기([external-link])를 선택하세요.

커밋에서 매핑된 페이지를 보려면:

  1. 리뷰 앱 배포가 있는 커밋으로 이동하세요:
    • 브랜치 파이프라인의 경우: 왼쪽 사이드바에서 코드 > 커밋을 선택하고 파이프라인 배지가 있는 커밋을 선택하세요.
    • 머지 리퀘스트 파이프라인의 경우: 머지 리퀘스트에서 커밋 탭을 선택하고 커밋을 선택하세요.
    • 머지된 결과 파이프라인의 경우: 머지 리퀘스트에서 파이프라인 탭을 선택하고 파이프라인 커밋을 선택하세요.
  2. 라우트 맵과 일치하는 파일 이름 옆의 리뷰 앱 아이콘([external-link])을 선택하세요. 아이콘을 클릭하면 리뷰 앱의 해당 페이지가 열립니다.
Note

머지된 결과 파이프라인은 브랜치를 대상 브랜치와 병합하는 내부 커밋을 생성합니다. 이 파이프라인의 리뷰 앱 링크에 접근하려면 커밋 탭이 아닌 파이프라인 탭의 커밋을 사용하세요.