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 つの Design Repository が提供され、それぞれ DefaultRepository(SVN リポジトリ)および Versioned Storage(Git リポジトリ)という名前になっています。DefaultRepository リポジトリは名前変更できませんが、説明の追加、ユーザーアクセスの管理、必要に応じた削除が可能です。Versioned Storage リポジトリは、Workspace プロジェクトの統合ストレージ専用であり、名前変更、共有、削除はできません。
Altium Designer ユーザーが Workspace にサインインすると、そのユーザーが利用可能な Design Repositories は自動的に Data Management – Design Repositories page(Preferences ダイアログ内)に追加されます。なお、この一覧には、この Preferences ページから手動で追加された「管理外(unmanaged)」リポジトリも含まれます。
組織の Design Repositories へのアクセスを集中管理で定義します。リポジトリは、ローカル Version Control サービスを使用して Enterprise Server インストール内に内部リポジトリとして定義することも、Altium Designer 内蔵の SVN、またはサードパーティの SVN/Git サービスを使用して外部リポジトリとして利用することもできます。アクセス制御は、Workspace のブラウザベースのインターフェースの VCS page で行います。ユーザーが Workspace にサインインすると、そのユーザーが利用可能な Design Repositories は自動的に 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 で始まる必要があり、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)へリンクします。
リンクされた外部 Design Repository は、リポジトリ一覧で External プロパティにチェックが入っている(
)ことで区別されます。
Design Repository のプロパティを後から編集するには、関連する Edit コントロール(
)をクリックします。Design Repository を削除するには、関連する Remove コントロール(
)をクリックします。
リポジトリ一覧は Name により自動的にアルファベット順でソートされ、Version Control サービスで定義されたローカルリポジトリが先に、その後に外部リポジトリが続きます。変更や削除ができない Git ベースの Versioned Storage リポジトリは、常に一覧の最上部に表示されます。
リポジトリの共有
Design Repositories を集中管理したら、特定のリポジトリへのアクセスが必要なユーザー(ボード設計に取り組む設計者を含む)がアクセスできるようにする必要があります。これは、そのリポジトリを共有する、より正確にはアクセス権限を管理することで実現します。これを行うには、リポジトリに関連付けられた Share コントロール(
)をクリックします。
Manage Permissions ウィンドウが表示され、リポジトリを他のユーザーと共有するために必要なコントロールがすべて用意されています。
Design Repositories を集中管理で整理しておけば、他者との共有は各リポジトリの権限を管理するだけで済みます。
注意点:
- Enterprise Server の Version Control サービスで作成されたローカルリポジトリ(外部ではない)の既定権限では、そのリポジトリは作成者ユーザーと Administrators ロールに共有されます。どちらも Read/Write のフルアクセス権を持ちます。
- 外部リポジトリは、既定では誰とも共有されません――インターフェースから接続を追加したユーザーであっても同様です。
- 定義済みの Enterprise Server のロールグループ、または公開(public)として共有できるのは、ローカルリポジトリ(外部ではない)のみです。ロールは個々のユーザーの後に一覧表示されます。
- 権限の観点では、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)が付与されます。