로컬 버전 관리 서비스

Now reading version 6.0. For the latest, read: 로컬 버전 관리 서비스 for version 7.1
 

Parent page: 고급 주제

Enterprise Server 설치에는 Version Control 서비스가 포함되어 있어, 로컬(및 중앙집중식) 버전 관리를 제공합니다. 이 서비스는 외부 VCS 관리 소프트웨어를 찾아다니거나 비용을 지불하지 않고도, 필요한 곳에서 바로 로컬로 버전 관리를 사용할 수 있게 해줍니다.

이처럼 중앙집중식으로 설계 리포지토리를 정의하면, 조직은 디자이너가 어떤 리포지토리에 접근하고 사용할 수 있는지 완전히 제어할 수 있습니다.

Relevance of the information on this page:

새로 설치한 Enterprise Server는 Workspace의 모든 설계 프로젝트를 수용하기 위한 단일 Git 기반 설계 리포지토리 하나만 제공합니다 – 그게 전부입니다! 이는 Enterprise Server의 로컬 Version Control 서비스와 관련된 설정 및 복잡성을 피하기 위함입니다. 디자이너들이 접근하고 릴리스할 수 있는 단일 설계 리포지토리 – Versioned Storage – 만 존재합니다. 따라서 Workspace 브라우저 인터페이스의 VCS 페이지는 순수하게 정보 제공용이 되며, 새 리포지토리를 추가할 수 없고 단일 Git 리포지토리는 어떤 방식으로도 수정하거나 삭제할 수 없습니다. 그러므로 이 페이지의 정보는 사용자에게 해당되지 않습니다.

Enterprise Server를 Altium Vault 3.0에서 업그레이드한 경우에는 기존(확립된) 설계 흐름을 계속 사용할 수 있도록 SVN 리포지토리 사용도 활성화됩니다. 이 경우 로컬 Version Control 서비스(SVN 전용)를 통해 리포지토리를 계속 생성하거나, 외부 리포지토리(SVN 또는 Git)에 연결할 수 있습니다. 따라서 이 페이지의 정보는 여전히 사용자에게 유효합니다.

Important:그 외의 경우에는 버튼이 비활성화(회색)되며, 리포지토리를 생성/추가하는 기능을 사용할 수 없습니다.

Design Repositories 및 Altium Designer를 통해 이를 사용하는 방법에 대한 자세한 내용은 Using External Version Control을 참조하십시오.

주요 장점

이 중앙집중식 Version Control 서비스를 사용할 때의 핵심 장점은 두 가지입니다.

  1. Altium Designer와 SVN 모두에 대해 공통 사용자 및 권한 관리를 사용할 수 있습니다. Enterprise Server에 로그인하면 Version Control 서비스는 해당 세션/자격 증명으로 동작합니다.
  2. Enterprise Server를 통해 정의된 리포지토리(Enterprise Server Workspace의 브라우저 기반 인터페이스의 VCS 페이지(Admin – VCS)에서 정의)는 로그인 시 Altium Designer로 자동으로 반영되므로, 사용자는 URL, 프로토콜, 비밀번호 등을 신경 쓸 필요가 없습니다. Enterprise Server에서 한 번만 구성해두면, 필요에 따라 대상 사용자에게 공유됩니다.
Enterprise Server의 새 사용자를 생성하면, 해당 사용자에 대해 정의된 Password 는 Enterprise Server와 SVN 서비스 양쪽에 저장됩니다. 후자는 전자에서 비밀번호에 직접 접근할 수 없기 때문입니다.

리포지토리 생성

리포지토리는 로컬 Version Control 서비스(SVN 전용)를 통해 생성할 수 있으며, 또는 외부 리포지토리(SVN 또는 Git)에 연결할 수 있습니다. 모든 리포지토리는 Workspace 브라우저 기반 인터페이스의 VCS 페이지(Admin – VCS)에서 다음 항목 관점으로 중앙에서 함께 관리됩니다.

  • 표시 이름, 설명, 리포지토리 경로.
  • 접근성 설정 – 어떤 특정 사용자가 접근할 수 있는지(또는 로컬 Version Control 서비스로 정의된 리포지토리의 경우 역할).
  • 가용성 – 개별 디자이너가 각각 리포지토리를 생성하고 연결할 필요 없이, 중앙에서 추가/제거.
기본적으로 로컬 Version Control 서비스가 제공하는 Design Repository 두 개가 있으며, 각각 DefaultRepository(SVN 리포지토리)와 Versioned Storage(Git 리포지토리)라는 이름입니다. DefaultRepository 리포지토리는 이름을 변경할 수 없지만, 설명을 추가하고 사용자 접근을 관리하거나 필요에 따라 제거할 수 있습니다. Workspace 프로젝트의 통합 저장소 전용인 Versioned Storage 리포지토리는 이름 변경, 공유, 제거가 불가능합니다.

Altium Designer 사용자가 Workspace에 로그인하면, 해당 사용자에게 제공되는 Design Repository가 Data Management – Design Repositories pagePreferences 대화상자에 자동으로 추가됩니다. 또한 이 목록에는 Preferences 페이지에서 수동으로 추가된 ‘관리되지 않는(unmanaged)’ 리포지토리도 포함됩니다.

조직의 Design Repository에 대한 접근을 중앙에서 정의하십시오. 리포지토리는 로컬 Version Control 서비스를 사용해 Enterprise Server 설치 내부에 둘 수도 있고, Altium Designer 내장 SVN 또는 타사 SVN/Git 서비스를 통해 외부로 둘 수도 있습니다. 접근 제어는 Workspace 브라우저 기반 인터페이스의 VCS page에서 수행됩니다. 사용자가 Workspace에 로그인하면, 해당 사용자에게 제공되는 Design Repository가 Data Management – Design Repositories 페이지의 Preferences dialog에 자동으로 추가됩니다.조직의 Design Repository에 대한 접근을 중앙에서 정의하십시오. 리포지토리는 로컬 Version Control 서비스를 사용해 Enterprise Server 설치 내부에 둘 수도 있고, Altium Designer 내장 SVN 또는 타사 SVN/Git 서비스를 통해 외부로 둘 수도 있습니다. 접근 제어는 Workspace 브라우저 기반 인터페이스의 VCS page에서 수행됩니다. 사용자가 Workspace에 로그인하면, 해당 사용자에게 제공되는 Design Repository가 Data Management – Design Repositories 페이지의 Preferences dialog에 자동으로 추가됩니다.

리포지토리 추가

Design Repository를 추가하려면 페이지 오른쪽 상단에 있는 버튼을 클릭합니다. Add Repository 창이 나타나며, 여기에서 리포지토리를 정의합니다.

로컬 Version Control 서비스를 통해 생성할 수 있는 것은 SVN 유형 리포지토리뿐입니다. 기존(외부) 리포지토리는 연결할 수 있으며, SVN 또는 Git 모두 가능합니다.

필요한 속성은 로컬 Version Control 서비스를 사용해 새 리포지토리를 생성하는지, 또는 기존 외부 리포지토리에 연결하는지에 따라 달라집니다.

  • New – 리포지토리 이름과 설명을 지정합니다.
  • Existing – 이름과 설명 외에도, 리포지토리에 대한 URL 및 해당 리포지토리에 접근하기 위한 유효한 자격 증명(User Name, Password)(필요한 경우)을 제공해야 합니다.
Enterprise Server 내부 리포지토리를 생성할 때 이름은 문자로 시작해야 하며, A-Z, a-z 또는 0-9를 포함할 수 있습니다. 밑줄(_), 대시(-), 공백은 이름 중간에 사용할 수 있습니다. 다음 단어는 사용할 수 없습니다: AUX, COM1-COM9, LPT1-LPT9, CON, NUL, PRN. 외부 리포지토리에는 이름 제한이 없습니다.

Enterprise Server의 로컬 Version Control 서비스를 통해 새 SVN 기반 Design Repository를 생성하거나, Enterprise Server 외부에서 생성된 기존 리포지토리(SVN 또는 Git)에 연결하십시오.Enterprise Server의 로컬 Version Control 서비스를 통해 새 SVN 기반 Design Repository를 생성하거나, Enterprise Server 외부에서 생성된 기존 리포지토리(SVN 또는 Git)에 연결하십시오.

연결된 외부 Design Repository는 리포지토리 목록에서 External 속성이 체크됨()으로써 구분됩니다.

나중에 Design Repository의 속성을 편집하려면 해당 Edit 컨트롤()을 클릭합니다. Design Repository를 제거하려면 해당 Remove 컨트롤()을 클릭합니다.

리포지토리 목록은 Name 기준으로 자동으로 알파벳순 정렬되며, Version Control 서비스로 정의된 로컬 리포지토리가 먼저 표시되고 그 다음에 외부 리포지토리가 표시됩니다. 수정 또는 삭제할 수 없는 Git 기반 Versioned Storage 리포지토리는 항상 목록 맨 위에 표시됩니다.

리포지토리 공유

Design Repository를 중앙집중식으로 구성했다면, 특정 리포지토리에 접근해야 하는 사용자(보드 설계를 수행할 디자이너 포함)가 실제로 접근할 수 있도록 해야 합니다. 이는 해당 리포지토리를 공유, 즉 접근 권한을 관리함으로써 달성됩니다. 이를 위해 리포지토리에 연결된 Share 컨트롤()을 클릭합니다.

필요한 모든 공유 컨트롤이 포함된 Manage Permissions 창이 나타납니다.

Design Repository가 중앙에서 정리되어 있으면, 다른 사용자와의 공유는 각 리포지토리의 권한을 관리하는 것만으로 간단히 처리됩니다.Design Repository가 중앙에서 정리되어 있으면, 다른 사용자와의 공유는 각 리포지토리의 권한을 관리하는 것만으로 간단히 처리됩니다.

유의 사항:

  • Enterprise Server의 Version Control 서비스(즉, 외부가 아님)를 통해 생성된 로컬 리포지토리의 기본 권한은, 리포지토리를 생성한 사용자와 Administrators 역할에 해당 리포지토리를 공유합니다. 이 둘은 모두 전체 읽기/쓰기(Read/Write) 권한을 가집니다.
  • 외부 리포지토리는 기본적으로 누구와도 공유되지 않습니다. 인터페이스를 통해 연결을 추가한 사용자조차도 기본 공유 대상이 아닙니다.
  • 로컬 리포지토리(외부가 아님)만 Enterprise Server에 정의된 역할 그룹 또는 공개로 공유할 수 있습니다. 역할은 개별 사용자 뒤에 나열됩니다.
  • 권한 측면에서, 사용자/역할은 Can Write 옵션이 활성화()되어 있을 때 읽기/쓰기(Read/Write) 권한을 가집니다. 이 옵션이 비활성화되어 있으면 읽기(Read) 전용 권한만 가집니다.
Be Aware: 내부 설계 리포지토리를 공유할 때의 권한 설정은 기대한 대로 정확히 동작하지 않습니다. 내부 설계 리포지토리 자체를 서버 사용자에게 읽기 전용으로 공유하더라도, 해당 사용자는 그 리포지토리 내에서 새 Workspace 프로젝트를 생성할 수 있으며, 생성된 해당 프로젝트 폴더에 대해서는 전체 읽기/쓰기 권한을 얻게 됩니다. 이 잘못된 동작은 해당 사용자가 생성한 새 Workspace 프로젝트 및 그 폴더에만 적용됩니다. 사용자는 리포지토리 내 다른 폴더에 대해서는 쓰기 권한을 갖지 않습니다.
  • 기존 사용자/역할의 리포지토리 공유 접근을 제거하려면 해당 Remove 컨트롤()을 클릭합니다.

로컬 SVN 설계 리포지토리에 대한 외부 액세스

Enterprise Server의 로컬 Version Control Service를 통해 생성된 Design Repository는 TortoiseSVN과 같은 SVN 클라이언트를 사용해 접근할 수 있습니다. 접근은 일반 네트워크 프로토콜(현재는 svn://이(가) 지원됨)을 사용해 이루어집니다. 올바른 리포지토리 주소는 다음 두 위치에서 확인/복사할 수 있습니다:

  • Workspace 브라우저 인터페이스의 VCS 페이지 – 대상 리포지토리의 Repository Path 필드에서.

Enterprise Server에서 생성된 ‘내부’ 리포지토리는 Enterprise Server에 대한 상대 경로로 주소가 표시되며, 이는 호스트 PC의 localhost 주소입니다.Enterprise Server에서 생성된 ‘내부’ 리포지토리는 Enterprise Server에 대한 상대 경로로 주소가 표시되며, 이는 호스트 PC의 localhost 주소입니다.

Altium Designer(또는 Enterprise Server 호스트 PC에 설치되지 않은 모든 애플리케이션)의 관점에서 리포지토리 주소 경로는 호스트 PC의 이름을 기준으로 합니다.Altium Designer(또는 Enterprise Server 호스트 PC에 설치되지 않은 모든 애플리케이션)의 관점에서 리포지토리 주소 경로는 호스트 PC의 이름을 기준으로 합니다.

표시되는 주소는 Enterprise Server가 설치된 동일한 머신에서 리포지토리에 접근하는지(svn://localhost/<RepositoryName>), 또는 원격 PC에서 접근하는지(svn://<ComputerName>/<RepositoryName>, 여기서 ComputerName는 Enterprise Server가 상주하는 PC의 이름) 여부에 따라 달라집니다.

획득한 주소를 Subversion 클라이언트의 리포지토리 탐색 기능에 사용합니다. 최초 접근 시 유효한 연결 자격 증명을 요청하는 중간 Authentication 대화상자가 열립니다. 계속하려면 Workspace 사용자 계정의 이름과 비밀번호를 입력합니다. 이 자격 증명이 유효하려면 다음 조건을 만족해야 합니다:

  • 사용자 계정이 Enterprise Server에서 리포지토리가 생성되기 after 전에 추가되어 있어야 합니다. 생성된 리포지토리에 적용되는 사용자는 Enterprise Server PC의 \ProgramData\Altium\Altium365Data\Repository 폴더에 있는 passwd 파일에서 확인할 수 있습니다(아래 참조).
  • 서버의 Manage Permissions for <repository name> 창에서 Add User 명령을 통해 해당 사용자 이름을 추가하여 리포지토리가 해당 사용자 계정과 공유되어 있어야 합니다. 이는 Enterprise Server PC의 \ProgramData\Altium\Altium365Data\Repository 폴더에 있는 리포지토리의 authz 파일에서 확인할 수 있습니다.

Enterprise Server 설치의 로컬 SVN 기반 Version Control 서비스로 생성된 Design Repository의 콘텐츠를 탐색하는 모습.Enterprise Server 설치의 로컬 SVN 기반 Version Control 서비스로 생성된 Design Repository의 콘텐츠를 탐색하는 모습.

로컬 Version Control 서비스로 생성된 Design Repository는 내부 데이터가 \ProgramData\Altium\Altium365Data\Repository 폴더(Enterprise Server 기본 설치 기준)의 해당 하위 폴더에 저장됩니다. 유지보수 목적의 IT 담당 작업을 제외하고는 해당 폴더의 파일을 변경하거나 편집하지 않는 것을 권장합니다.

Enterprise Server & VCS 사용자 동기화

Workspace에 새 사용자가 생성되면, 해당 사용자의 정의된 자격 증명(User NamePassword)은 Enterprise Server 데이터베이스와 Version Control 서비스 양쪽에 저장됩니다. 이는 Version Control 서비스가 전자의 비밀번호에 직접 접근할 수 없기 때문입니다. 비밀번호는 Version Control 서비스 측에 일반 텍스트 형식(\ProgramData\Altium\Altium365Data\Repository\passwd 파일)에 저장됩니다.

이 목록의 항목은 Altium Designer를 통해 서비스에서 작업할 때 Enterprise Server SVN 리포지토리에 대한 액세스를 제공합니다. Workspace 사용자가 이미 존재한 상태에서 첫 SVN 리포지토리가 생성되는 경우(그 반대가 아니라) 등, 사용자의 자격 증명이 파일에 포함되지 않는 경우가 있을 수 있습니다. 이는 해당 이름/비밀번호 조합을 passwd 파일에 수동으로 추가하거나, Workspace에서 각 사용자 프로필의 비밀번호를 다시 입력함으로써 해결할 수 있습니다. 후자의 방법은 Enterprise Server PC에 직접 접근하지 않고도 passwd 파일을 그에 맞게 채웁니다.

Enterprise Server 기본 설치에서는 Version Control 서비스용 사용자 자격 증명이 연결된 Passwd 파일에 저장됩니다.Enterprise Server 기본 설치에서는 Version Control 서비스용 사용자 자격 증명이 연결된 Passwd 파일에 저장됩니다.

리포지토리 삭제

Enterprise Server의 Version Control 서비스에서 리포지토리를 삭제하려면, Workspace 브라우저 기반 인터페이스의 VCS 페이지에서 해당 리포지토리와 연결된 Remove 컨트롤()을 클릭합니다.

Altium Designer의 Preferences 대화상자에 있는 Data Management – Design Repositories page에서 리포지토리를 제거하는 것은, 해당 Altium Designer 인스턴스에서만 그 리포지토리를 사용하지 않도록 제거하는 것뿐입니다. Enterprise Server의 Version Control 서비스에서 리포지토리를 삭제하는 것은 아닙니다. Enterprise Server에서 로그아웃했다가 다시 로그인하면, 해당 리포지토리는 해당 Altium Designer 인스턴스에서 사용 가능한 리포지토리 목록에 다시 나타납니다.

외부 리포지토리 항목은 리포지토리에 프로젝트가 포함되어 있는지 여부와 관계없이 삭제할 수 있습니다. 반면 로컬 리포지토리(Enterprise Server의 Version Control 서비스로 내부 생성된 리포지토리)는 하나 이상의 프로젝트를 포함하고 있으면 삭제할 수 없습니다. 이 경우 경고가 표시되며, 삭제를 진행하기 전에 먼저 프로젝트를 제거해야 합니다.

그렇더라도 로컬 리포지토리에 프로젝트가 하나도 없으면 실제로 삭제되지는 않고, 아카이브 디렉터리(\ProgramData\Altium\Altium365Data\RepositoryDumps, Enterprise Server 기본 설치 기준)로 이동됩니다. 리포지토리는 고유 ID 접두사가 붙은 Dump 파일(예: 775f6c22-b9a1-468c-9f1f-4f217bb3be6b_central design repository.dump)에 포함됩니다.

AI-LocalizedAI로 번역됨
만약 문제가 있으시다면, 텍스트/이미지를 선택하신 상태에서 Ctrl + Enter를 누르셔서 저희에게 피드백을 보내주세요.
콘텐츠