26.08.2019, 07:19 | #1 |
Участник
|
организация инфраструктуры разработки в D365FO
Товарищи, кто активно разрабатывает в D365FO, а расскажите, как у вас построена инфраструктура разработки.
Как я понял из описаний на docs.microsoft.com и около, предполагается примерно следующее: -для каждого разработчика отдельная DEV-среда -связываем их все через какой-нибудь VSTS -имеем TEST-среду (а туда как обновления разработанные разработчиками ставим - через тот же VSTS? или уже пакетами?) -имеем несколько отдельных DEV-TEST сред, с версией кода/метаданных аналогичных TEST, которые смотря на базу TESTа позволяют нам его дебажить, не мешая тамошним пользователям (как описано здесь - https://docs.microsoft.com/en-us/dyn...ario-debugdiag) Какие-то ещё хитрости и тонкости? Может быть эта тема уже на форуме обсуждалась? ткните тогда носом, пожалуйста |
|
02.09.2019, 14:25 | #2 |
Участник
|
Цитата:
Сообщение от Pandasama
-имеем несколько отдельных DEV-TEST сред, с версией кода/метаданных аналогичных TEST, которые смотря на базу TESTа позволяют нам его дебажить, не мешая тамошним пользователям (как описано здесь - https://docs.microsoft.com/en-us/dyn...ario-debugdiag)
Простая схема
Посложнее
Еще сложнее
И еще сложнее, когда версии кода разные для TEST и UAT
Еще сложнее, когда программистов много и не хочется чтобы кто-то зачекинил код, который поломает билд - просто будет ошибка компиляции
Для разных проектов - разные настройки и разная сложность инфраструктуры для разработки. Для некоторых решения надо просто дорасти самому проекту. |
|
|
За это сообщение автора поблагодарили: fed (5), EVGL (10), Vadik (1), trud (5), raz (5), sukhanchik (7), Ivanhoe (5), wojzeh (1), iCloud (2). |
02.09.2019, 17:55 | #3 |
Участник
|
Применительно к локальным развертываниям. У МС есть некая топология Sandbox, которая сетапится, аналогично проду https://docs.microsoft.com/en-us/dyn...e-requirements
Минимум на 7 виртуалок. Это типа UAT, и туда же можно шедулить через LCS установку обновлений и тестировать их. Кто-то может сказать - стоит-ли овчика выделки или можно заменить ее одной виртуалкой OneBox? |
|
02.09.2019, 18:06 | #4 |
Участник
|
Цитата:
Сообщение от imir
Применительно к локальным развертываниям. У МС есть некая топология Sandbox, которая сетапится, аналогично проду https://docs.microsoft.com/en-us/dyn...e-requirements
Минимум на 7 виртуалок. Это типа UAT, и туда же можно шедулить через LCS установку обновлений и тестировать их. Кто-то может сказать - стоит-ли овчика выделки или можно заменить ее одной виртуалкой OneBox? только там не 7 виртуалок, а чутка больше. но в этом инстансе недоступен Visual Studio и дебаггер. И на установку всего этого надо угрохать пару недель жизни. У нас на всех проектах используются Tier1 (oneBox) VM Даже для проекта с LBD/on-prem И только перед деплоем на ПРОД у нас есть специальный инстанс LBD/on-prem для проверки деплоя и финальной проверки функциональности. |
|
02.09.2019, 18:12 | #5 |
Участник
|
>>есть специальный инстанс LBD/on-prem
Да, вот этот инстанс для проверки, именно на on-prem - собирать и сетапить рядом с продом второй инсталляцией по сути, на 7= виртуалках? Или же есть опция так же заменить его на OneBox.. |
|
02.09.2019, 18:21 | #6 |
Участник
|
Цитата:
должно быть
|
|
03.09.2019, 09:32 | #7 |
Moderator
|
Цитата:
Сообщение от vmoskalenko
И еще сложнее, когда версии кода разные для TEST и UAT
|
|
03.09.2019, 09:55 | #8 |
Участник
|
Цитата:
Удобно из-за того, что после мерджа, этот ченджсет пропадает из списка DEV --> MAIN. Можно даже отчеты строить, чем отличается DEV от MAIN с точки зрения DevOps (VSTS). Совет, сверху списка самые свежие ченджсеты. А вот начинать мерджить надо с самого низу и подниматься вверх. Т.е., от самых старых к самым новым ченджсетам. Если делать наоборот, то в MAIN ветке будет слишком много конфликтов и вы не будете видеть где новый код а где старый код. Просто следуйте хронологии. Можно мерджить несколько ченджсетов подряд. Вобщем вам Visual Studio сам скажет что нельзя одновременно мерджить. Для некоторых сложных проектов мы можем использовать три ветки:
Ветки можно добавлять по мере необходимости. Еще полезняшка - это добавить правила чтобы девелопер заполнял комментарий и номер Work Item из DevOps (VSTS) всегда. Обязательное поле. После этого, будет видно, в самом DevOps Work Item что он был включен в билд такой-то. Еще можно будет собрать создание автоматического Release Notes по каждой из веток. |
|
|
За это сообщение автора поблагодарили: fed (2). |
03.09.2019, 15:14 | #9 |
Участник
|
Есть еще галка, которая выглядит полезной - Enable multiple check-out, которую если снять - нельзя будет одновременно двум людям менять один и тот же объект. По идее это должно привести к отсутствию конфликтов при check-in. Кто-нибудь пользовался?
|
|
03.09.2019, 16:00 | #10 |
Участник
|
Цитата:
Подробности тут https://developercommunity.visualstu...t-allowed.html Надо смириться с тем что придётся резолвить конфликты в коде. Это кстати, одна из причин установки CI на Build Server. Тогда если ты и чекинишь что-то устаревшее и тебе приходится разрешать конфликт кода, тогда ты уверен что твой код будет компилиться. И тут появляется первое правило для Девелопера - Рабочий день начинается с Get Latest. Второе правило - Не держи долго задачу в разработке. Если есть что чекинить и это не поломает что-то другое - зачекинь. Нажми кнопку Save для своего кода. |
|
03.09.2019, 16:18 | #11 |
Участник
|
Вроде как работает, если все вокспейсы сделают серверными и публичными. Меняется в свойствах вокспейса, кнопка Advanced. А если очень хочется таки извлечь и потом мержить - меняешь тип у своего на локальный (по-умолчанию) и извлекаешь, видимо поэтому написали, что не является ошибкой.
|
|
03.09.2019, 19:18 | #12 |
Участник
|
Цитата:
Сообщение от imir
Вроде как работает, если все вокспейсы сделают серверными и публичными. Меняется в свойствах вокспейса, кнопка Advanced. А если очень хочется таки извлечь и потом мержить - меняешь тип у своего на локальный (по-умолчанию) и извлекаешь, видимо поэтому написали, что не является ошибкой.
Зачем так делать? Только потому что без этого TFS/VSTS в AX 2012 не работал? Ну так теперь работает. Работает и без этого костыля. Еще причины есть? Я так делал в 2015 году для AX7, когда она в бете была. Помогало при редактировании таблиц. А вот с лейблами - была полная засада. После этого не включал ни разу. |
|
Теги |
d365 for operations, d365fo |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|