Parent page: 高度なトピック
Enterprise Server のインストールには、Version Control サービスによるローカライズ(および集中管理)されたバージョン管理が用意されています。このサービスにより、必要な場所であるローカル環境でバージョン管理を行えるため、外部の VCS 管理ソフトウェアを探したり、費用を支払ったりする必要がありません。
このように集中管理の形で設計リポジトリを定義することで、組織は設計者がアクセスして使用できるリポジトリを完全に制御できます。
Relevance of the information on this page:
Enterprise Server を新規にインストールすると、Workspace のすべての設計プロジェクトを収容するための Git ベースの設計リポジトリが 1 つ提供されます――それだけです。これにより、Enterprise Server のローカル Version Control サービスに関するセットアップや複雑さを回避できます。設計リポジトリは 1 つだけで、Versioned Storage – すべての設計者がアクセスしてリリース先として使用します。そのため、Workspace のブラウザインターフェースにある VCS ページは純粋に情報表示のみとなります。新しいリポジトリを追加することはできず、単一の Git リポジトリは一切変更できず、削除もできません。したがって、このページの情報は該当しません。
Enterprise Server を Altium Vault 3.0 からアップグレードした場合は、従来(確立済み)の設計フローを継続できるように SVN リポジトリの使用も有効になります。この場合、ローカル Version Control サービス(SVN のみ)を通じてリポジトリを引き続き作成するか、外部リポジトリ(SVN または Git)に接続できます。したがって、このページの情報は引き続き有効です。
Important:それ以外の場合、
ボタンはグレーアウトされ、リポジトリの作成/追加は利用できません。
主な利点
この集中管理された Version Control サービスを使用する主な利点は 2 つあります。
- Altium Designer と SVN の両方で、共通のユーザーおよび権限管理を利用できます。Enterprise Server にサインインすると、Version Control サービスはそのセッション/資格情報で動作します。
- 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 サービスにより 2 つの設計リポジトリが提供され、それぞれ DefaultRepository(SVN リポジトリ)および Versioned Storage(Git リポジトリ)という名前になっています。DefaultRepository リポジトリは名前変更できませんが、説明の追加、ユーザーアクセスの管理、必要に応じた削除が可能です。Versioned Storage リポジトリは Workspace プロジェクトの統合ストレージ専用であり、名前変更、共有、削除はできません。
Altium Designer ユーザーが Workspace にサインインすると、そのユーザーが利用可能な設計リポジトリは自動的に Data Management – Design Repositories page(Preferences ダイアログ内)に追加されます。なお、この一覧には、この Preferences ページから手動で追加された「未管理」のリポジトリも含まれます。
組織の設計リポジトリへのアクセスを中央で定義します。リポジトリは、ローカル Version Control サービスを使用して Enterprise Server インストール内に作成する(内部)ことも、Altium Designer 内蔵の SVN、またはサードパーティの SVN/Git サービスを使用して外部に置くこともできます。アクセス制御は Workspace のブラウザベースのインターフェースにある VCS page で行います。ユーザーが Workspace にサインインすると、そのユーザーが利用可能な設計リポジトリは自動的に Data Management – Design Repositories page(Preferences dialog 内)に追加されます。
リポジトリの追加
設計リポジトリを追加するには、ページ右上にある
ボタンをクリックします。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 ベースの設計リポジトリを作成するか、Enterprise Server の外部で作成された既存のリポジトリ(SVN または Git)へリンクします。
リンクされた外部の設計リポジトリは、リポジトリ一覧で External プロパティにチェックが入っている(
)ことで区別されます。
後から設計リポジトリのプロパティを編集するには、該当する Edit コントロール(
)をクリックします。設計リポジトリを削除するには、該当する Remove コントロール(
)をクリックします。
リポジトリ一覧は Name により自動的にアルファベット順で並び替えられ、Version Control サービスで定義されたローカルリポジトリが先に表示され、その後に外部リポジトリが続きます。変更や削除ができない Git ベースの Versioned Storage リポジトリは、常に一覧の最上部に表示されます。
リポジトリの共有
設計リポジトリを集中管理したら、特定のリポジトリへのアクセスが必要な人(ボード設計に取り組む設計者を含む)がアクセスできるようにする必要があります。これは、そのリポジトリを共有する、より正確にはアクセス権限を管理することで実現します。これを行うには、リポジトリに関連付けられた Share コントロール(
)をクリックします。
Manage Permissions ウィンドウが表示され、リポジトリを他のユーザーと共有するために必要なすべてのコントロールが用意されています。
設計リポジトリが中央で整理されていれば、共有は各リポジトリの権限を管理するだけで行えます。
注意点:
- Enterprise Server の Version Control サービスで作成されたローカルリポジトリ(外部ではない)の既定権限では、そのリポジトリは作成者ユーザーと Administrators ロールに共有されます。どちらも Read/Write のフルアクセス権を持ちます。
- 外部リポジトリは、既定では誰とも共有されません。インターフェースから接続を追加したユーザーであっても同様です。
- 定義済みの Enterprise Server のロールグループ、または公開(パブリック)として共有できるのはローカルリポジトリ(外部ではない)のみです。ロールは個々のユーザーの後に一覧表示されます。
- 権限としては、Can Write オプションが有効(
)な場合、ユーザー/ロールは Read/Write アクセスになります。このオプションが無効の場合は Read のみです。
Be Aware: 内部設計リポジトリを共有する際の権限設定は、期待どおりには動作していません。内部設計リポジトリ自体をサーバーユーザーに Read-only で共有した場合でも、そのユーザーはそのリポジトリ内に新しい Workspace プロジェクトを作成でき、作成された対応するプロジェクトフォルダに対してフルの Read/Write 権限を取得してしまいます。この誤った動作が適用されるのは、そのユーザーが作成した新しい Workspace プロジェクトとそのフォルダに限られます。ユーザーは、リポジトリ内の他のフォルダに対して Write 権限は持ちません。
- 既存のユーザー/ロールの共有アクセスを削除するには、該当する Remove コントロール(
)をクリックします。
Sharing a Local Repository with a Workspace User
ローカル(外部ではない)リポジトリを別の Workspace ユーザーと共有するには:
- Manage Permissions ウィンドウで Add User コントロールをクリックします。

- 表示される Add Users ウィンドウで、Select Users to be added フィールドに Workspace ユーザーの氏名(フルネーム)、ユーザー名、またはメールアドレスを入力し始めると、一致するユーザーの一覧がポップアップ表示されます。この一覧から必要なユーザーを選択します。複数ユーザーを選択できます。ユーザーを削除するには、名前の右側にある削除用の×をクリックします。

- Permission フィールドでユーザーの権限を設定します。ドロップダウンから Read アクセス、または Read/Write アクセスを選択します。

-
ボタンをクリックしてユーザー追加を確定し、Manage Permissions ウィンドウに戻ります。

- Manage Permissions ウィンドウで
ボタンをクリックします。
既存ユーザーの権限を編集するには、Manage Permissions ウィンドウの Can Write オプションを使用し、Read/Write アクセス(有効)と Read-only アクセス(無効)を切り替えます。
Sharing a Local Repository with a defined Role Group
リポジトリが外部リポジトリではなくローカルのVersion Controlサービスを通じて作成されている場合、Workspaceで定義されたロールグループと共有することもできます。ローカル(外部ではない)リポジトリを別のロールグループと共有するには、次の手順を行います。
- Add Group Manage Permissionsウィンドウで、Add Group コントロールをクリックします。

- Add Groups表示されるAdd Groupsウィンドウで、Select Groups to be addedフィールドにロールグループ名を入力し始めると、一致するロールの一覧がポップアップ表示されます。その一覧から必要なロールを選択します。複数のロールを選択できます。ロールを削除するには、名前の右側にある削除用の×をクリックします。

- Permissionフィールドを使用して、ロールグループの権限を設定します。ドロップダウンから、ReadアクセスまたはRead/Writeアクセスを選択します。

-
ボタンをクリックしてロールの追加を確定し、Manage Permissionsウィンドウに戻ります。

- Manage Permissionsウィンドウで
ボタンをクリックします。
既存ロールの権限を編集するには、Manage PermissionsウィンドウのCan Writeオプションを使用し、Read/Writeアクセス(有効)とRead-onlyアクセス(無効)を切り替えます。
Sharing a Local Repository with All Users
リポジトリが外部リポジトリではなくローカルのVersion Controlサービスを通じて作成されている場合、そのリポジトリをWorkspaceの全ユーザーと共有することもできます。ローカル(外部ではない)リポジトリを、Workspaceにサインインできるすべてのユーザーと共有するには、次の手順を行います。
- Add Anyone Manage Permissionsウィンドウで、Add Anyone コントロールをクリックします。

- Anyoneエントリが共有エンティティの一覧に直接追加され、自動的にRead/Writeアクセスで共有されます。

- Manage Permissionsウィンドウで
ボタンをクリックします。
Anyoneエンティティの権限を編集するには、Manage PermissionsウィンドウのCan Writeオプションを使用し、Read/Writeアクセス(有効)とRead-onlyアクセス(無効)を切り替えます。
Sharing an External Repository with a Workspace User
外部リポジトリをWorkspaceユーザーと共有するには、次の手順を行います。
- Add User Manage Permissionsウィンドウで、Add User コントロールをクリックします。

- Add Users表示されるAdd Usersウィンドウで、Select Users to be addedフィールドにWorkspaceユーザーの氏名(フルネーム)、ユーザー名、またはメールアドレスを入力し始めると、一致するユーザーの一覧がポップアップ表示されます。その一覧から必要なユーザーを選択します。ユーザーを削除するには、名前の右側にある削除用の×をクリックします。
SVN Userフィールドには、外部リポジトリ(SVNまたはGit)に登録されており、アクセス権を持つ名前を入力します。通常は、リポジトリに登録されているユーザーの対応する名前になります。

-
ボタンをクリックしてユーザー追加を確定し、Manage Permissionsウィンドウに戻ります。上記手順2と同様に、さらにユーザーを追加するにはAdd Userをクリックします。下の2つ目の例の画像では、ユーザーBarryは一般的なServerAdmin名ではなく、リポジトリ側で一致する名前BarrySmithを使用するように設定されている点に注意してください。

- Manage Permissionsウィンドウで
ボタンをクリックします。
Workspaceユーザーは、外部SVNリポジトリ内の任意の有効なユーザー名にマッピングできます。また、複数のWorkspaceユーザーを外部SVNリポジトリ内の単一ユーザー名にマッピングすることも可能です。
- アクセス権(Read-onlyまたはRead/Write)は、最終的には外部リポジトリの構成によって決まります。Enterprise Serverは外部リポジトリのユーザー認可に影響しないため、Enterprise Server側からこれらの権限を管理することはできません。
- Altium DesignerからEnterprise Serverの外部リポジトリにアクセスする際(新規プロジェクト作成時など)、以前に設定していない場合はリポジトリ接続の資格情報の入力を求められることがあります。これらの資格情報は、その後このリポジトリに対する操作で自動的に使用されます。
ローカルSVN設計リポジトリへの外部アクセス
Enterprise ServerのローカルVersion Control Serviceを通じて作成されたDesign Repositoryは、TortoiseSVNなどのSVNクライアントを使用してアクセスできます。アクセスは通常のネットワークプロトコル(現在はsvn://がサポートされています)で行います。正しいリポジトリアドレスは、次の2か所から参照/コピーできます。
- WorkspaceのブラウザインターフェースのVCSページ — 対象リポジトリのRepository Pathフィールド内。
Enterprise Serverから作成された「内部」リポジトリでは、Enterprise Serverに対する相対パスとしてアドレスが表示されます。これはホストPCのlocalhostアドレスです。
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の内容を参照しているところ。
ローカルVersion Controlサービスを通じて作成されたDesign Repositoryは、(Enterprise Serverのデフォルトインストールでは)\ProgramData\Altium\Altium365Data\Repositoryフォルダ内の対応するサブフォルダに内部データが保存されます。保守目的でIT担当者が行う場合を除き、このフォルダ内のファイルは変更・編集しないことを推奨します。
Enterprise Server & VCSユーザー同期
Workspaceに新しいユーザーを作成すると、そのユーザーの定義済み資格情報(User NameおよびPassword)は、Enterprise ServerのデータベースとVersion Controlサービスの両方に保存されます。これは、後者が前者からパスワードへ直接アクセスできないためです。パスワードはVersion Controlサービス側ではプレーンテキスト形式(\ProgramData\Altium\Altium365Data\Repository\passwdファイル内)で保存されます。
この一覧のエントリにより、Altium Designerを通じてサービスを利用する際にEnterprise ServerのSVNリポジトリへアクセスできます。ユーザーの資格情報がファイルに含まれない場合があります。たとえば、最初のSVNリポジトリが作成された時点でWorkspaceユーザーがすでに存在していた場合(通常とは逆の順序)などです。これは、該当する名前/パスワードの組み合わせをpasswdファイルに手動で追加するか、Workspace内の各ユーザープロファイルでパスワードを再入力することで対処できます。後者の方法では、Enterprise Server PCへ直接アクセスすることなく、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サービスを通じて内部的に作成されたもの)は、1つ以上のプロジェクトを含む場合は削除できません。その旨が通知されるため、削除を進める前にまずプロジェクトを削除してください。
それでも、ローカルリポジトリにプロジェクトが存在しない場合、実際に削除されるのではなく、アーカイブディレクトリ(Enterprise Serverのデフォルトインストールでは\ProgramData\Altium\Altium365Data\RepositoryDumps)へ移動されます。リポジトリはDumpファイル内に格納され、ユニークIDのプレフィックス(例:775f6c22-b9a1-468c-9f1f-4f217bb3be6b_central design repository.dump)が付与されます。