ローカル版バージョン管理サービス
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 は自動的に Preferences ダイアログの Data Management – Design Repositories page に追加されます。なお、この一覧には、Preferences ページから手動で追加された「未管理」のリポジトリも含まれます。
組織の Design Repositories へのアクセスを中央で定義します。リポジトリは、ローカル Version Control サービスを使用して Enterprise Server インストール内に作成することも、Altium Designer 内蔵の SVN、またはサードパーティの SVN/Git サービスを使用して外部に用意することもできます。アクセス制御は、Workspace のブラウザベースのインターフェースにある VCS ページで行います。ユーザーが Workspace にサインインすると、そのユーザーが利用可能な Design Repositories は自動的に Preferences ダイアログの Data Management – Design Repositories ページに追加されます。
リポジトリの追加
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 のグループ)または公開で共有できるのは、ローカルリポジトリ(外部ではない)のみです。グループは個別ユーザーの後に一覧表示されます。
-
権限については、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 Group
リポジトリが外部リポジトリではなくローカルのVersion Controlサービスを通じて作成されている場合、Workspaceで定義されたグループと共有することもできます。ローカル(外部ではない)リポジトリを別のグループと共有するには、次の手順を行います。
- Manage PermissionsウィンドウでAdd Group コントロールをクリックします。
- 表示される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にサインインできるすべてのユーザーとローカル(外部ではない)リポジトリを共有するには、次の手順を行います。
- Manage PermissionsウィンドウでAdd Anyone コントロールをクリックします。
- Anyoneエントリが共有エンティティの一覧に直接追加され、読み取り/書き込みアクセスで自動的に共有されます。
-
Manage Permissionsウィンドウで
ボタンをクリックします。
Sharing an External Repository with a Workspace User
外部リポジトリをWorkspaceユーザーと共有するには、次の手順を行います。
- Manage PermissionsウィンドウでAdd User コントロールをクリックします。
-
表示される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でリポジトリが作成される前に、そのユーザーアカウントが追加されていること。作成済みリポジトリに適用されるユーザーは、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)。