PCB設計プロジェクトでのバージョンコントロール選択ガイド

Zachariah Peterson
|  投稿日 2021/04/5, 月曜日  |  更新日 2021/04/6, 火曜日
バージョンコントロールのガイド

開発チームはバージョンコントロールシステムを通じて、その名のとおり、プロジェクトのマスターバージョンとなるプロジェクトやデータリポジトリのバージョンを管理できるようになります。バージョン間の変更はすべてタイムスタンプ付きで追跡されます。バージョンコントロールシステムは、大半のPCB設計者になじみのあるコピー、貼り付け、圧縮、メール送信といった旧式の手順を使用せずにコードベース全体を追跡し、維持管理するのに最適です。プロジェクトのクローンを作成し、コードリポジトリからレビジョン履歴を構築するという問題もあります。

ハードウェア設計者はハードウェアプロジェクトでバージョンコントロールシステムをどのように活用できるでしょうか。外部のバージョンコントロールシステムを使用するとワークフローで実行するステップが増えます。たとえば、ファイルを確認、変更し、レビジョンをバージョンコントロールにコミットし直す必要が生じます。Altium DesignerではAltium365の同期機能を活用できるため、マネージド型クラウドプラットフォームでのバージョンコントロールシステムのミラーリングに役立ちます。また、外部のSVNやGitリポジトリをAltium365のバージョンコントロールシステムに移行できます。

PCB設計ソフトウェアでバージョンコントロールソフトウェアを使用する理由

このトピックについて複数の設計者に話を聞いた結果、大規模な企業はプロジェクト、PCB文書、回路図、ライブラリ、PCB設計プロジェクトで必要な他の情報をカタログ化して整理する独自の方法を用意していることがわかりました。中でも設計データの最も一般的な整理方法として、プロジェクト別、またはファイル型やパーツ/プロジェクト番号別を挙げることができます。いずれの場合でも、バージョンコントロールシステムが不在の場合、大きなプロジェクトグループはフォルダーかどこかに保持されます。

ハードウェアプロジェクトやPCBプロジェクトで、バージョンコントロールシステムの使用が効果的なケースがいくつかあります。たとえば、次のようなケースです。

  • プロジェクトに共同作業者が複数いる場合
  • プロジェクトのレビジョンを繰り返しコピーすることなく経時的に追跡する必要がある場合
  • プロジェクトの前バージョンにロールバックする必要がある場合
  • 後日、再使用するためにプロジェクトのクローンをすばやく作成する必要がある場合
  • プロジェクトの特定ファイルについて、クローン作成、追跡、ロールバックが必要になる場合

バージョンコントロールシステムは上記すべてのタスクの合理化に役立ち、PCB設計チームが使用するバージョンコントロールシステムを選択することになります。Altium DesignerではAltium 365に組み込まれるGitリポジトリを使用することができます。

内部または外部のバージョンコントロール

Altium365に内蔵されているバージョンコントロールシステムを使用するメリットは、バージョンコントロールのあらゆるプロジェクトを同期し、Altium Designerで直接開くことができる点にあります。手動でファイルをチェックアウトする手間を経ずに、数クリックでプロジェクトレビジョンをAltium 365に同期し直すことができます。さらに、PCB設計コースプロジェクトのあらゆる要素がAltium 365への同期と移行の対象となります。

ただし、外部のバージョンコントロールシステムを維持することが重要となる場合もあります。PCB設計プロジェクトはかなり複雑になることがあり、回路基板だけでなく、メカニズム、各種文書、埋め込みソフトウェア/ファームウェアのコードなど、マネージドオブジェクトとしてAltium 365にまだ導入されていない基本的要素がかかわる可能性があります。また、企業が扱っているデータが設計に関する秘匿特権の対象となる場合、直接管理でないサーバーにデータを格納できないこともあります。このような場合、特権の対象となるPCBプロジェクトデータのみを同期し、他のデータは外部リポジトリに保持した方が合理的です。

簡易同期による内部バージョンコントロールへの同期

バージョンコントロールシステムとAltium Designerを併用したことがある場合、プロジェクトフォルダーに「.git」フォルダーが隠されていることに気づいたかもしれません。Altium Designerはこのフォルダーを手がかりにして、該当プロジェクトでバージョンコントロールシステムが有効であることを認識します。Altium Designerはこの「.git」フォルダーがプロジェクトフォルダーにあることを認識次第、簡易同期モードに入り、Altium 365に同期し直す準備をします。

バージョンコントロールGit
このフォルダーを手がかりにして、バージョンコントロールシステムがこのファイルセットで有効かどうかを判断します。

バージョンコントロールへのローカルでの同期方法は以下のとおりいくつかあります。

.gitフォルダーをローカルで作成するために、プロジェクトフォルダーから次のGit Bashコマンドラインエントリーを使用します。

  • git init
  • git add *.*
  • git remote add [repo_name] [https://repo_address]

TortoiseGitまたは別のツールを使用してローカルの.gitフォルダを作成します

プロジェクトパネルの「Make Project Available Online(プロジェクトにオンラインでアクセスできるようにする)」コマンドを使用します

Altium Designerでプロジェクトを開くと、.gitフォルダーがあることにより簡易同期機能がトリガーされます。トリガーされたら、標準的なpushとcommitコマンドを使用して、Altium 365の正式バージョンコントロールにプロジェクトを配置できます。外部のバージョンコントロールツールを使用すると、これらリポジトリはバッチ単位でローカルに作成できるようになり、必要なときにAltium 365 Workspaceに同期し直すことができます。

外部バージョンコントロールと移行の無効化

管理プロジェクトをAltium Designerで開くと、ファイルは内部または外部のバージョンコントロールから同じ形態でチェックアウトされます。これによりAltiumプロジェクトを主要バージョンコントロールシステムと確実に同期させることができるため、外部のバージョンコントロールで大量のデータを扱う企業にとって優れた仕組みです。一方、Altium 365のバージョンコントロールシステムに完全に移行する場合は、いくつかの方法が考えられます。

プロジェクトでバージョンコントロールを無効にするには、プロジェクトフォルダーで.gitフォルダーを削除するのが最も簡単な方法です。残念ながらこの方法ではレビジョン履歴がすべて削除されるため、外部のバージョンコントロールシステムからプロジェクトを最も整然とプルする方法とは言えません。

外部のシステムからプロジェクトをプルしたら、上記オプションを使用してAltium 365内部のバージョンコントロールシステムにプロジェクトをすぐ入力できます。次の手順でプロジェクトパッケージャーを使用するのが、最適な選択肢と言えるでしょう。

  1. 外部バージョンコントロールから既存の管理対象プロジェクトをプルします。
  2. プルしたプロジェクトをAltium Designerで開きます。
  3. Altium Designerのプロジェクトパッケージャーを使用して、プロジェクトのコピーを作成します。
  4. プロジェクトパネルの「Make Project Available Online(プロジェクトにオンラインでアクセスできるようにする)」コマンドを使用して、この新しいプロジェクトをAltium 365内のバージョンコントロールと同期します。

プロジェクトパッケージャーによってバージョンコントロールの手間をかけずに、プロジェクトのスナップショットが作成されます。また、以前にワークスペースでアクセス可能とされたプロジェクトへのリンクも削除されます。

バージョンコントロールGit
外部バージョンコントロールからプロジェクトを削除する際の重要コマンド2つ。

これで、古いリポジトリからプロジェクトを削除したり、リポジトリを完全に破棄したりできるようになりました。このリポジトリは、プロジェクトに関連し、かつAltium Designerのタスクを伴わない他の用途のために残しておくこともできます。

最後に、一歩踏み込んで、バージョンコントロールシステム全体であらゆる要素を同期する場合は、ミラーリングを実行するスクリプトを作成する必要があります。この点に関しては、Gitベースのワークフローの作成に関してAri MahpourがAltium Designerユーザー向けに執筆した次の記事が参考になります。

ちなみに、上記記事はGitに焦点を当てて執筆されていますが、バージョンコントロール付きのマネージド型SVNリポジトリを作成することもできます。詳細は、ドキュメンテーションのこちらのガイドをお読みください。

PCBメーカーや設計者は、Altium 365™プラットフォームを使用して、プロジェクトデータを共有し、手軽に共同作業を行えるようになっています。PCB設計チームは設計データの管理に内部バージョンコントロール機能を利用でき、Altium Designer®に搭載される世界クラスの設計ツールはあらゆるものと統合可能です。Altium 365では、他の設計者やメーカー、顧客とプロジェクトデータを安全な環境で共有できます。

ここでは、Altium 365とAltium Designerでできることについて、その一部を紹介したに過ぎません。より詳細な機能の説明については、製品ページまたはオンデマンドのWebセミナーをご覧ください。

筆者について

筆者について

Zachariah Petersonは、学界と産業界に広範な技術的経歴を持っています。PCB業界で働く前は、ポートランド州立大学で教鞭をとっていました。化学吸着ガスセンサーの研究で物理学修士号、ランダムレーザー理論と安定性に関する研究で応用物理学博士号を取得しました。科学研究の経歴は、ナノ粒子レーザー、電子および光電子半導体デバイス、環境システム、財務分析など多岐に渡っています。彼の研究成果は、いくつかの論文審査のある専門誌や会議議事録に掲載されています。また、さまざまな企業を対象に、PCB設計に関する技術系ブログ記事を何百も書いています。Zachariahは、PCB業界の他の企業と協力し、設計、および研究サービスを提供しています。IEEE Photonics Society、およびアメリカ物理学会の会員でもあります。

関連リソース

関連する技術文書

ホームに戻る
Thank you, you are now subscribed to updates.