ローカル版バージョン管理サービス
Parent page: 高度なトピック
Enterprise Server のインストールでは、Version Control サービスにより、ローカライズされた(かつ集中管理された)バージョン管理が提供されます。このサービスにより、必要な場所であるローカル環境でバージョン管理を利用でき、外部の VCS 管理ソフトウェアを探したり購入したりする必要がありません。
このように集中管理の形で設計リポジトリを定義することで、組織は、設計者がアクセスして使用できるリポジトリを完全に制御できます。
主な利点
この集中管理型 Version Control サービスを使用する主な利点は 2 つあります。
- Altium Designer と SVN の両方で、共通のユーザーおよび権限管理を利用できます。Enterprise Server にサインインすると、Version Control サービスはそのセッション/資格情報で動作します。
- Enterprise Server で定義されたリポジトリ(Enterprise Server Workspace のブラウザベースのインターフェースの VCS ページ(Admin – VCS)から定義)は、ログイン時に Altium Designer に自動的に反映されるため、ユーザーは URL、プロトコル、パスワードなどを気にする必要がありません。Enterprise Server 側で一度設定するだけで、必要に応じて対象ユーザーに共有されます。
リポジトリの作成
リポジトリはローカル Version Control サービス(SVN のみ)を通じて作成でき、また外部リポジトリ(SVN または Git)へ接続することもできます。すべてのリポジトリは、Workspace のブラウザベースのインターフェースの VCS ページ(Admin – VCS)で、次の観点から集中管理されます。
- 表示名、説明、リポジトリパス。
- 設定されたアクセス性――どの特定ユーザーがアクセスできるか(ローカル Version Control サービスで定義されたリポジトリの場合はロール)。
- 利用可否――各設計者が個別にリポジトリを作成・接続するのではなく、集中管理で追加/削除できること。
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 サービスを使用して新規リポジトリを作成するのか、既存の外部リポジトリへリンクするのかによって異なります。
- New – リポジトリ名と説明を指定します。
- Existing – 名前と説明に加えて、リポジトリへの URL と、そのリポジトリへアクセスするための有効な資格情報(User Name、Password)(必要な場合)を指定する必要があります。
Enterprise Server のローカル Version Control サービスを通じて新しい SVN ベースの Design Repository を作成するか、Enterprise Server 外部で作成された既存のリポジトリ(SVN または Git)へリンクします。
リンクされた外部 Design Repository は、リポジトリ一覧で External プロパティにチェックが入っている(
)ことで区別されます。
Design Repository のプロパティを後から編集するには、関連する Edit コントロール(
)をクリックします。Design Repository を削除するには、関連する Remove コントロール(
)をクリックします。
リポジトリの共有
Design Repositories を集中管理したら、特定のリポジトリへのアクセスが必要なユーザー(ボード設計に取り組む設計者を含む)がアクセスできるようにする必要があります。これは、そのリポジトリを共有する、より正確にはアクセス権限を管理することで実現します。これを行うには、リポジトリに関連付けられた Share コントロール(
)をクリックします。
Manage Permissions ウィンドウが表示され、リポジトリを他のユーザーと共有するために必要なコントロールがすべて用意されています。
Design Repositories を集中管理で整理しておけば、他者との共有は各リポジトリの権限を管理するだけで済みます。
注意点:
- Enterprise Server の Version Control サービスで作成されたローカルリポジトリ(外部ではない)の既定権限では、そのリポジトリは作成者ユーザーと Administrators ロールに共有されます。どちらも Read/Write のフルアクセス権を持ちます。
- 外部リポジトリは、既定では誰とも共有されません――インターフェースから接続を追加したユーザーであっても同様です。
- 定義済みの Enterprise Server のロールグループ、または公開(public)として共有できるのは、ローカルリポジトリ(外部ではない)のみです。ロールは個々のユーザーの後に一覧表示されます。
- 権限の観点では、Can Write オプションが有効(
)な場合、ユーザー/ロールは Read/Write アクセスになります。このオプションが無効の場合は Read のみのアクセスになります。
- 既存のユーザー/ロールの共有アクセスを削除するには、関連する 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 ウィンドウで
ボタンをクリックします。
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ウィンドウで
ボタンをクリックします。
Sharing a Local Repository with All Users
リポジトリが外部リポジトリではなくローカルのVersion Controlサービスを通じて作成されている場合、そのリポジトリをWorkspaceの全ユーザーと共有することもできます。Workspaceにサインインできるすべてのユーザーとローカル(外部ではない)リポジトリを共有するには、次の手順を行います。
- Add Anyone Manage Permissionsウィンドウで、Add Anyone コントロールをクリックします。

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

- Manage Permissionsウィンドウで
ボタンをクリックします。
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ウィンドウで
ボタンをクリックします。
ローカルSVN設計リポジトリへの外部アクセス
Enterprise ServerのローカルVersion Control Serviceを通じて作成されたDesign Repositoryは、TortoiseSVNなどのSVNクライアントを使用してアクセスできます。アクセスは通常のネットワークプロトコル(現在はsvn://がサポートされています)で行います。正しいリポジトリアドレスは、次の2か所から参照/コピーできます。
- WorkspaceのブラウザインターフェースのVCSページ:対象リポジトリのRepository Pathフィールド内。
Enterprise Serverから作成された「内部」リポジトリでは、Enterprise Serverに対する相対パスとしてアドレスが表示されます。これはホストPCのlocalhostアドレスです。
- Altium Designer内のPreferencesダイアログにあるData Management – Design Repositories page:対象リポジトリのRepositoryフィールド内。
Altium Designer(またはEnterprise ServerホストPC上にない任意のアプリケーション)の観点では、リポジトリアドレスのパスはホスト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 & 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コントロール(
)をクリックします。
外部リポジトリのエントリは、リポジトリにプロジェクトが含まれているかどうかに関係なく削除できます。一方、ローカルリポジトリ(Enterprise ServerのVersion Controlサービスを通じて内部的に作成されたもの)は、1つ以上のプロジェクトを含む場合は削除できません。この場合は警告が表示されるため、削除を進める前にまずプロジェクトを削除してください。
それでも、ローカルリポジトリにプロジェクトが存在しない場合、実際に削除されるのではなく、アーカイブディレクトリ(Enterprise Serverのデフォルトインストールでは\ProgramData\Altium\Altium365Data\RepositoryDumps)へ移動されます。リポジトリはDumpファイル内に格納され、ユニークIDのプレフィックス(例:775f6c22-b9a1-468c-9f1f-4f217bb3be6b_central design repository.dump)が付与されます。