본문 바로가기
IT/Mendix

[Mendix] 버전 관리 사용 - Intermediate 자격증 공부 - DevelopMoon

by developmoon 2024. 11. 10.

 

버전 관리 사용

  • Mendix는 Team Server라는 버전 관리 도구를 기본으로 제공한다.
  • Team Server는 Git을 사용하여 백엔드를 처리하고 앱에 대한 모든 변경 사항을 추적할 수 있다.

 

History

  • 앱의 기록을 통해 지금까지 앱에 적용된 변경 사항을 볼 수 있다.
  • Mendix Portal이나 Studio Pro에서 기록을 볼 수 있다.
  • Mendix Portal의 앱 페이지에서  General > Team Server로 이동하면 네 가지 유형의 이벤트를 볼 수 있다.
    1. Commits
    2. Created tags
    3. Created branch lines
    4. Deleted branch lines
  • 각 이벤트 줄에는 다음과 같은 정보가 표시된다.
    1.  A descriptive message(설명적인 메시지)
    2. The date and time of the event(행사 날짜 및 시간)
    3. The name of the actor who has triggered the event(이벤트를 트리거한 행위자의 이름)
    4. The Studio Pro version used (For tag events, we do not show the Mendix Studio Pro version) - 사용된 Studio Pro 버전(태그 이벤트의 경우 Mendix Studio Pro 버전은 표시하지 않음)
    5. The related user stories(관련 사용자 스토리)
  • Mendix Studio Pro 내에서 Version Control > History…로 이동하면 다음 두 가지 유형의 이벤트를 볼 수 있다.
    1. Commits
    2. Created branch line
  • 각 이벤트 줄에는 다음과 같은 정보가 표시된다.
    1. The revision number(개정 번호)
    2. A symbol, indicating the type of change(변화의 종류를 나타내는 기호)
    3. The author of the event(이벤트 작성자)
    4. The date of the event(이벤트 일자)
    5. The time of the event(이벤트 시간)
    6. The message of the event(이벤트의 메시지)
    7. The related user stories(관련 사용자 스토리)
    8. The changes in the model(모델의 변화)
    9. The changes on disk (repository) - 디스크(저장소)의 변경 사항

 

Including Snapshots(스냅샷 포함)

  • Mendix에는 로컬 배포에 사용할 수 있는 자체 기본 데이터베이스가 있기 때문에 외부 데이터베이스에 의존하지 않고 내장 데이터베이스를 사용하여 로컬에서 테스트하고 실행할 수 있다.
  • 데이터베이스를 팀과 공유하여 팀원도 데이터 세트를 사용하여 앱을 테스트 할 수 있다.
  • Version control > Add a snapshot of data에서 데이터 스냅샷을 생성할 수 있다. 이렇게 하면 데이터의 스냅샷이 생성되고 앱의 배포 디렉토리에 zip 파일(data-snapshot.zip)이 추가 된다.
  • 다음에 커밋할 때 전체 팀이 지정된 배포 폴더에서 이것을 압축 해제하여 이 데이터베이스를 사용할 수 있다.

 

Conflicts and How to Resolve Them(갈등과 해결 방법)

  • 앱에서 함께 작업할 때 Team Server에 새 변경 사항을 커밋하기 전에 해결해야 하는 다양한 유형의 충돌이 발생할 수 있다.
  • 이러한 충돌은(document conflicts(문서 충돌), 예 : pages, microflows 등) 또는 repository의 일부인 다른 문서(App conflicts(앱 충돌))와 관련될 수 있다.

 

Document Conflicts(문서 충돌)

  • 애플리케이션 모델 내에서 마지막 업데이트 이후 로컬 작업 사본에 적용한 변경 사항을 나열하는 변경 사항 도크를 열 수 있다.
    • Mendix에서 "변경 사항 도크"는 애플리케이션 모델에서 마지막 업데이트 이후 로컬에서 수행한 변경 사항을 확인할 수 있는 창이며, 이 도크를 통해 현재 로컬 작업 사본에 어떤 수정이 있었는지 한눈에 볼 수 있다.
  • 로컬 작업 사본을 온라인 버전으로 업데이트 시, 팀원이 적용한 변경 사항이 로컬 버전으로 다운로드된다.
  • 만약, 팀원이 동일한 문서(예: pages 또는 microflows)에서 작업한 경우 Studio Pro는 다운로드한 문서 버전과 로컬에 저장된 문서 버전 간에 불일치가 있음을 나타내는 충돌을 식별한다.
  • Studio Pro에서는 모든 커밋이 충돌 없이 진행되어야 하므로, 커밋하기 전에 충돌을 해결해야 한다.
  • 충돌 해결 방안
    • 새로 업데이트된 버전과 로컬 앱 버전 간의 차이점을 파악.
    • 갈등이 있는 문서를 변경한 팀원과 연락하여 어떤 버전의 진실을 사용해야 할지 함께 결정.
    • 충돌 문서의 두 버전(예: 마이크로플로우)을 보려면 Mendix Studio Pro에서 자신의 문서 사본을 만들 수 있지만 '그들의 버전을 사용하여 해결'을 선택하면 원본 문서가 그들의 버전으로 바뀐다. 그러면 앱 탐색기에서 두 버전을 모두 검사할 수 있다.
  •  두 가지 주요 충돌 유형
    • modify – modify(수정-수정)
      • 해당 충돌은 귀하와 다른 팀원이 동일한 문서를 수정했을 때 발생한다.
    • modify – delete(수정-삭제)
      • 군가가 제거한 요소를 변경할 때 발생한다.
    • 위 두 가지 문제 외에도 동일한 이름(pages, microflows and etc documents)의 문서를 추가하거나 동일한 마켓플레이스 모듈을 가져올 때 충돌이 발생할 수 있다.

 

Opening Older Revisions(이전 개정판 열기)

  • Mendix Studio Pro는 모든 앱 계정을 추적하고 자동으로 저장한다.
  • 이전 리비전을 열려면 해당 리비전에서 브랜치를 생성한 다음 새 Studio Pro 세션에서 해당 브랜치를 열 수 있다.
  • 이 브랜치는 보기 및 분석 목적(viewing and analyzing purposes)으로만 사용하고, 해당 리비전 이후에 이미 여러 커밋을 했으므로 이 브랜치를 변경하면 안된다.

Reference

https://academy.mendix.com/link/paths