Система контроля версий позволяет командам разработчиков выполнять задачи, вытекающие из ее названия: определять, какая версия проекта или репозитория данных является основной, при этом отслеживать и фиксировать все изменения в версиях. Системы контроля версий прекрасно подходят для отслеживания и поддержки баз кода и не требуют выполнять привычные для разработчиков печатных плат операции копирования, вставки, архивирования и отправки по эл. почте. Кроме того, они позволяют клонировать проекты и собирать историю изменений из репозитория кода.
Если вы разрабатываете аппаратные средства, как вам воспользоваться преимуществами систем контроля версий для своего проекта? Внешние системы контроля версий вводят дополнительный этап в рабочий процесс, на котором файлы должны быть извлечены, изменены, а изменения снова внесены в систему контроля версий. Пользователи Altium Designer могут воспользоваться возможностями синхронизации в Altium 365, чтобы их система контроля версий зеркально отражалась на управляемой облачной платформе. Пользователи также могут перенести свой внешний репозиторий SVN или Git в систему контроля версий на Altium 365.
Обсудив эту тему с несколькими разработчиками, я пришел к выводу, что у крупных компаний есть интересные способы каталогизации и организации своих проектов, документации по печатным платам, схем, библиотек и любой другой информации, которая необходима для проектирования печатных плат. Пожалуй, два наиболее распространенных способа организации проектных данных — по проектам или по типам файлов и номерам частей/проектов. В любом случае, если система контроля версий отсутствует, команда, скорее всего, хранит большую группу проектов где-то в папке.
В некоторых случаях целесообразно размещать проекты аппаратных средств и печатных плат в системе контроля версий
Системы контроля версий помогают упростить решение этих задач, а команда разработчиков печатных плат должна решить, какую систему контроля версий ей использовать. Пользователи Altium Designer могут использовать встроенный Git-репозиторий Altium 365.
Преимущество внутренней системы контроля версий Altium 365 заключается в том, что любые проекты можно синхронизировать и открывать непосредственно в Altium Designer. Процесс проверки файлов вручную не требуется, а изменения проекта синхронизируются с Altium 365 за пару щелчков мыши. Кроме того, все содержимое проекта печатной платы может быть синхронизировано и перенесено в Altium 365.
Однако в некоторых случаях важно иметь внешнюю систему контроля версий. Проекты печатных плат могут быть очень сложными и включать в себя гораздо больше, чем просто печатную плату: механические параметры, документацию, код прошивки и другие существенные элементы, которые еще не представлены в качестве управляемых объектов в Altium 365. Кроме того, возможна ситуация, когда компания работает с конфиденциальными данными и не имеет права размещать их на сервере, который она непосредственно не контролирует. В таких случаях имеет смысл синхронизировать только необходимые данные проекта печатной платы, а остальные данные хранить во внешнем репозитории.
Если вы когда-нибудь пользовались Altium Designer с системой контроля версий, то, возможно, замечали среди папок проекта скрытую папку .git. Эта папка служит сигналом для Altium Designer о том, что в проекте активна система контроля версий. Как только эта папка .git обнаруживается в папке проекта, Altium Designer переходит в режим Simple Sync и готовится к синхронизации с Altium 365.
Существует несколько вариантов локальной синхронизации с системой контроля версий:
Создайте локальную папку .git в вашей проектной папке с помощью следующих команд в командной строке Git Bash:
Используйте TortoiseGit или другой инструмент для создания локальной папки .git
Используйте команду Make Available Online (Сделать доступным онлайн) на панели Projects (Проекты).
После открытия проекта в Altium Designer папка .git запустит синхронизацию в режиме Simple Sync. Затем с помощью стандартных команд Push и Commit вы можете передать проект под контроль версий в формате Altium 365. Использование внешних инструментов контроля версий позволяет создавать эти репозитории локально в пакетном режиме, и при необходимости их можно синхронизировать с Altium 365 Workspace.
Когда управляемый проект открывается в Altium Designer, файлы извлекаются из внутреннего или внешнего контроля версий аналогичным образом. Это отличный вариант для компаний с большим объемом данных во внешней системе контроля версий, поскольку они могут обеспечить синхронизацию проектов Altium с основной системой. Однако, если вы хотите полностью перейти на систему контроля версий Altium 365, это можно сделать несколькими способами.
Самый простой способ отключить систему контроля версий проекта — удалить папку .git из папки вашего проекта. К сожалению, при этом удаляется вся история изменений, так что это не самый аккуратный способ извлечь проект из внешней системы контроля версий.
После извлечения проекта из внешней системы его можно сразу же ввести во внутреннюю систему контроля версий Altium 365, используя предложенные выше способы. Наверное, самый лучший вариант — использовать Project Packager:
Project Packager создаст моментальный снимок проекта без контроля версий. Он также удалит все ссылки на проект, если он ранее был доступен в вашем рабочем пространстве.
Теперь вы можете удалить проект из старого репозитория или вообще отключиться от него. Вы можете сохранить этот репозиторий для других целей, которые могут иметь отношение к вашему проекту, но не связаны с задачами в Altium Designer.
Наконец, если у вас более смелые намерения и вы хотите, чтобы все системы контроля версий синхронизировались между собой, вам потребуется создать скрипт, выполняющий зеркалирование. Ари Махпур (Ari Mahpour) поделился с нами своими замечательными статьями о создании рабочего процесса на основе Git для пользователей Altium Designer:
Все, о чем говорилось выше, обсуждалось с точки зрения Git, но можно создавать управляемые SVN-репозитории с контролем версий. Ознакомьтесь с этим руководством в документации, чтобы узнать больше.
Современные производители и разработчики печатных плат могут обмениваться проектными данными и легко сотрудничать на платформе Altium 365™. Команды разработчиков печатных плат могут использовать внутренние функции контроля версий для управления проектными данными, и все это интегрируется с инструментами проектирования мирового класса в Altium Designer®. Altium 365 позволяет обмениваться проектными данными с другими проектировщиками, производителями и заказчиками в безопасной среде.
Мы лишь поверхностно рассмотрели некоторые возможности Altium Designer на Altium 365. Вы можете зайти на страницу продукта, чтобы посмотреть более подробное описание функций, или посетить один из Вебинаров по запросу.