- PVSM.RU - https://www.pvsm.ru -
Вы когда нибудь задумывались, почему вы пишете код на Caché Object Script, а он экспортируется в XML файл?
Так вот, пора меняться. Начиная с выхода новой среды разработки Atelier и версии Caché 2016.2, у вас будет возможность экспортировать и импортировать файлы в формате, в котором вы пишете в студии, так называемый формат UDL (Universal Definition Language). Теперь вы сможете писать код, который не только быстро работает, но еще и приятен глазу в экспортированном виде. Но, возникает другая, не менее важная проблема: если все новые проекты будут находиться в UDL формате, то, кто позаботиться об обратной совместимости?
В InterSystems очень серьезно относятся к вопросу об обратной совместимости, поэтому мы решили дать новую жизнь некоторым старым проектам и добавить новую возможность — работа с UDL.
Первым на очереди стоял довольно-таки простой, но очень полезный проект, который называется Cache Source Control. Его задача очень проста — брать все файлы проекта и экспортировать их в какую то папку после каждой удачной компиляции, а также импортировать новые файлы, которые появляются в папке. До перерождения этот контроль версий [2] мог экспортировать файлы в двух форматах:
Сейчас же достаточно поменять параметр ExpMode на формат UDL для того, чтобы все заработало.
Для установки достаточно выполнить 4 простых шага:
do ##class(Util.SourceControl).Init()
А что, если я хочу сделать экспорт в другую папку?
В принципе, в связке с git этот проект дает все необходимые функции.
Следующим проектом в списке на воскрешение стоял CacheUpdater. Его функцию можно отлично понять на примере. Допустим, у вас есть GitHub репозиторий и 100500 серверов, которые его используют. Это будет ночным кошмаром, если вы захотите изменить что-то (Вам везде придется ручками обновлять каждый сервер). Как раз таки эту проблему и решает CacheUpdater — он периодически обновляет локальные файлы, скачивая их с GitHub.
Его установка немного сложнее:
Вы готовы к бою, никаких дополнительных настроек производить не нужно.
Этот же проект является полностью состоявшейся системой для непрерывной интеграции с GitHub.
Set pVars("Namespace") = "{namespace}"
Set pVars("IP") = "{IP}"
Do ##class(CacheGitHubCI.Install).setup(.pVars)
где, namespace — это область, куда вы хотите установить проект. Если ее нет, то она будет создана автоматически;
IP — это опциональный параметр вашего сервера(используется для работы webhook).
Например,
Set pVars("Namespace") = "SAMPLES"
Set pVars("IP") = "45.45.45.45:57776"
Do ##class(CacheGitHubCI.Install).setup(.pVars)
Готово, для проверки работоспособности хватит. Затем, нужно будет провести такие же манипуляции с созданием Task, как и в CacheUpdater'е. Отлично, все работает! И, наверное, ненароком в голове у вас появился вопрос — «А зачем же мне CacheGitHubCI, если я могу использовать CacheUpdater?».
Пока мы только обновили 3 репозитория. Есть к чему стремится, в списке находится Cache Tort Git [5], который представляет полноценную работу с git в связке с TortoiseGit [6].
Автор: InterSystems
Источник [7]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/razrabotka/187484
Ссылки в тексте:
[1] Caché Source Control: https://github.com/intersystems-ru/cache-source-control
[2] контроль версий: https://ru.wikipedia.org/wiki/%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0_%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F_%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D1%8F%D0%BC%D0%B8
[3] CacheUpdater: https://github.com/intersystems-ru/CacheUpdater/
[4] CacheGitHubCI: https://github.com/intersystems-ru/CacheGitHubCI/
[5] Cache Tort Git: https://github.com/intersystems-ru/cache-tort-git
[6] TortoiseGit: https://tortoisegit.org/
[7] Источник: https://habrahabr.ru/post/308936/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best
Нажмите здесь для печати.