Altium On-Prem Enterprise Server를 통한 로컬 버전 관리 서비스

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

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

Relevance of the information on this page:

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

SVN 리포지토리 사용이 활성화되어 있던 버전 또는 서버 제품에서 Enterprise Server로 업그레이드한 경우, 업그레이드 후에도 SVN 리포지토리는 계속 활성화됩니다(Altium On-Prem Enterprise Server 라이선스를 새로 고침했는지 확인하세요). 이를 통해 기존(그리고 이미 정착된) 디자인 플로우를 계속 사용할 수 있습니다. 이 경우 로컬 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 2개가 있으며, 각각 DefaultRepository(SVN 리포지토리)와 Versioned Storage(Git 리포지토리)라는 이름입니다. DefaultRepository 리포지토리는 이름을 변경할 수 없지만, 필요에 따라 설명을 추가하고 사용자 접근을 관리하거나 제거할 수 있습니다. 반면 Versioned Storage 리포지토리는 Workspace 프로젝트의 통합 저장만을 위한 것이므로, 이름 변경, 공유, 제거가 불가능합니다.

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

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

리포지토리 추가

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로 시작해야 하며, 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: 내부 디자인 리포지토리를 공유할 때의 권한 설정은 기대한 대로 정확히 동작하지 않습니다. 내부 디자인 리포지토리 자체를 서버 사용자에게 Read-only로 공유하더라도, 해당 사용자는 그 리포지토리 내에 NEW Workspace 프로젝트를 생성할 수 있으며, 생성되는 해당 프로젝트 폴더에 대해 전체 Read/Write 권한을 얻게 됩니다. 이 잘못된 동작은 해당 사용자가 새로 생성한 Workspace 프로젝트 및 그 폴더에만 적용됩니다. 사용자는 리포지토리 내 다른 폴더에 대해서는 Write 권한을 갖지 않습니다.
  • 기존 사용자/그룹의 공유 접근을 제거하려면 해당 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 서비스에 일반 텍스트 형식(\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 서비스로 내부 생성된 리포지토리)는 하나 이상의 프로젝트를 포함하고 있으면 삭제할 수 없습니다. 이 경우 경고가 표시되며, 삭제를 진행하기 전에 먼저 프로젝트를 제거해야 합니다.

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

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