Меню

C8d d365m не работает

Быстрая активация любой версии Windows | Office без программ. Обновления работают

ankyo

Активный участник

Проворные китайцы подняли kms сервер(их много) на весь интернет, который кушает любые ключи

Активируем Windows:
1. Открываем командную строку от имени администратора
2. Вводим поочередно:
slmgr.vbs -ipk Ключ от винды, ниже список или из интернета
slmgr /skms Сервер, ниже список
slmgr /ato

Windows 10 Core TX9XD-98N7V-6WMQ6-BX7FG-H8Q99
Windows 10 Enterprise G YYVX9-NTFWV-6MDM3-9PT4T-4M68B
Windows 10 Enterprise GN 44RPN-FTY23-9VTTB-MP9BX-T84FV
Windows 10 Enterprise 2016 LTSB DCPHK-NFMTC-H88MJ-PFHPY-QJ4BJ
Windows 10 Enterprise 2016 LTSB N QFFDN-GRT3P-VKWWX-X7T3R-8B639
Windows 10 Home TX9XD-98N7V-6WMQ6-BX7FG-H8Q99
Windows 10 Home Country Specific PVMJN-6DFY6-9CCP6-7BKTT-D3WVR
Windows 10 Home N 3KHY7-WNT83-DGQKR-F7HPR-844BM
Windows 10 Home Single Language 7HNRX-D7KGG-3K4RQ-4WPJ4-YTDFH
Windows 10 Education NW6C2-QMPVW-D7KKK-3GKT6-VCFB2
Windows 10 Education N 2WH4N-8QGBV-H22JP-CT43Q-MDWWJ
Windows 10 Enterprise NPPR9-FWDCX-D2C8J-H872K-2YT43
Windows 10 Enterprise 2015 LTSB WNMTR-4C88C-JK8YV-HQ7T2-76DF9
Windows 10 Enterprise 2015 LTSB N 2F77B-TNFGY-69QQF-B8YKP-D69TJ
Windows 10 Enterprise N DPH2V-TTNVB-4X9Q3-TJR4H-KHJW4
Windows 10 Professional Workstation NRG8B-VKK3Q-CXVCJ-9G2XF-6Q84J
Windows 10 Professional Workstation N 9FNHH-K3HBT-3W4TD-6383H-6XYWF
Windows 10 Professional W269N-WFGWX-YVC9B-4J6C9-T83GX
Windows 10 Professional Education 6TP4R-GNPTD-KYYHQ-7B7DP-J447Y
Windows 10 Professional Education N YVWGF-BXNMC-HTQYQ-CPQ99-66QFC
Windows 10 Professional N MH37W-N47XK-V7XM9-C7227-GCQG9
Windows 10 Professional Preview XQHPH-N4D9W-M8P96-DPDFP-TMVPY
Windows 10 Enterprise Preview QNMXX-GCD3W-TCCT4-872RV-G6P4J
Windows 10 Remote Server 7NBT4-WGBQX-MP4H7-QXFF8-YP3KX

Windows 7 Enterprise 33PXH-7Y6KF-2VJC9-XBBR8-HVTHH
Windows 7 Enterprise E C29WB-22CC8-VJ326-GHFJW-H9DH4
Windows 7 Enterprise N YDRBP-3D83W-TY26F-D46B2-XCKRJ
Windows 7 Professional FJ82H-XT6CR-J8D7P-XQJJ2-GPDD4
Windows 7 Professional E W82YF-2Q76Y-63HXB-FGJG9-GF7QX
Windows 7 Professional N MRPKT-YTG23-K7D7T-X2JMM-QY7MG
Windows 7 Embedded POSReady YBYF6-BHCR3-JPKRB-CDW7B-F9BK4
Windows 7 ThinPC 73KQT-CD9G6-K7TQG-66MRP-CQ22C

Windows 8 Core BN3D2-R7TKB-3YPBD-8DRP2-27GG4
Windows 8 Core Country Specific 4K36P-JN4VD-GDC6V-KDT89-DYFKP
Windows 8 Core N 8N2M2-HWPGY-7PGT9-HGDD8-GVGGY
Windows 8 Core Single Language 2WN2H-YGCQR-KFX6K-CD6TF-84YXQ
Windows 8 Professional WMC GNBB8-YVD74-QJHX6-27H4K-8QHDG
Windows 8 Embedded Industry Professional RYXVT-BNQG7-VD29F-DBMRY-HT73M
Windows 8 Embedded Industry Enterprise NKB3R-R2F8T-3XCDP-7Q2KW-XWYQ2
Windows 8 Enterprise 32JNW-9KQ84-P47T8-D8GGY-CWCK7
Windows 8 Enterprise N JMNMF-RHW7P-DMY6X-RF3DR-X2BQT
Windows 8 Professional NG4HW-VH26C-733KW-K6F98-J8CK4
Windows 8 Professional N XCVCF-2NXM9-723PB-MHCB7-2RYQQ

Windows 8.1 Core M9Q9P-WNJJT-6PXPY-DWX8H-6XWKK
Windows 8.1 Core ARM XYTND-K6QKT-K2MRH-66RTM-43JKP
Windows 8.1 Core Country Specific NCTT7-2RGK8-WMHRF-RY7YQ-JTXG3
Windows 8.1 Core N 7B9N3-D94CG-YTVHR-QBPX3-RJP64
Windows 8.1 Core Single Language BB6NG-PQ82V-VRDPW-8XVD2-V8P66
Windows 8.1 Professional Student MX3RK-9HNGX-K3QKC-6PJ3F-W8D7B
Windows 8.1 Professional Student N TNFGH-2R6PB-8XM3K-QYHX2-J4296
Windows 8.1 Professional WMC 789NJ-TQK6T-6XTH8-J39CJ-J8D3P
Windows 8.1 Core Connected 3PY8R-QHNP9-W7XQD-G6DPH-3J2C9
Windows 8.1 Core Connected Country Specific R962J-37N87-9VVK2-WJ74P-XTMHR
Windows 8.1 Core Connected N Q6HTR-N24GM-PMJFP-69CD8-2GXKR
Windows 8.1 Core Connected Single Language KF37N-VDV38-GRRTV-XH8X6-6F3BB
Windows 8.1 Enterprise MHF9N-XY6XB-WVXMC-BTDCT-MKKG7
Windows 8.1 Enterprise N TT4HM-HN7YT-62K67-RGRQJ-JFFXW
Windows 8.1 Professional GCRJD-8NW9H-F2CDX-CCM8D-9D6T9
Windows 8.1 Professional N HMCNV-VVBFX-7HMBH-CTY9B-B4FXY
Windows 8.1 Embedded Industry Professional NMMPB-38DD4-R2823-62W8D-VXKJB
Windows 8.1 Embedded Industry Automotive VHXM3-NR6FT-RY6RT-CK882-KW2CJ
Windows 8.1 Embedded Industry Enterprise FNFKF-PWTVT-9RC8H-32HB2-JB34X

Windows 10 Enterprise Preview 2MP7K-98NK8-WPVF3-Q2WDG-VMD98
Windows 10 Professional Preview MTWNQ-CKDHJ-3HXW9-Q2PFX-WB2HQ
Windows 10 Professional WMC Preview MY4N9-TGH34-4X4VY-8FG2T-RRDPV
Windows 8.x Preview MPWP3-DXNP9-BRD79-W8WFP-3YFJ6

Windows Server 2008 Web WYR28-R7TFJ-3X2YQ-YCY4H-M249D
Windows Server 2008 Compute Cluster RCTX3-KWVHP-BR6TB-RB6DM-6X7HP
Windows Server 2008 Standard TM24T-X9RMF-VWXK6-X8JC9-BFGM2
Windows Server 2008 Standard without Hyper-V W7VD6-7JFBR-RX26B-YKQ3Y-6FFFJ
Windows Server 2008 Enterprise YQGMW-MPWTJ-34KDK-48M3W-X4Q6V
Windows Server 2008 Enterprise without Hyper-V 39BXF-X8Q23-P2WWT-38T2F-G3FPG
Windows Server 2008 Datacenter 7M67G-PC374-GR742-YH8V4-TCBY3
Windows Server 2008 Datacenter without Hyper-V 22XQ2-VRXRG-P8D42-K34TD-G3QQC
Windows Server 2008 for Itanium 4DWFP-JF3DJ-B7DTH-78FJB-PDRHK
Windows MultiPoint Server 2010 736RG-XDKJK-V34PF-BHK87-J6X3K

Windows Server 2008 R2 Web 6TPJF-RBVHG-WBW2R-86QPH-6RTM4
Windows Server 2008 R2 HPC Edition TT8MH-CG224-D3D7Q-498W2-9QCTX
Windows Server 2008 R2 Standard YC6KT-GKW9T-YTKYR-T4X34-R7VHC
Windows Server 2008 R2 Enterprise 489J6-VHDMP-X63PK-3K798-CPX3Y
Windows Server 2008 R2 Datacenter 74YFP-3QFB3-KQT8W-PMXWJ-7M648
Windows Server 2008 R2 for Itanium Enterprise GT63C-RJFQ3-4GMB6-BRFB9-CB83V

Windows Server 2012 Datacenter 48HP8-DN98B-MYWDG-T2DCC-8W83P
Windows Server 2012 MultiPoint Premium XNH6W-2V9GX-RGJ4K-Y8X6F-QGJ2G
Windows Server 2012 MultiPoint Standard HM7DN-YVMH3-46JC3-XYTG7-CYQJJ
Windows Server 2012 Standard XC9B7-NBPP2-83J2H-RHMBY-92BT4

Windows Server 2012 R2 Cloud Storage 3NPTF-33KPT-GGBPR-YX76B-39KDD
Windows Server 2012 R2 Datacenter W3GGN-FT8W3-Y4M27-J84CP-Q3VJ9
Windows Server 2012 R2 Essentials KNC87-3J2TX-XB4WP-VCPJV-M4FWM
Windows Server 2012 R2 Standard D2N9P-3P6X9-2R39C-7RTCD-MDVJX

Windows Server 2016 Azure Core VP34G-4NPPG-79JTQ-864T4-R3MQX
Windows Server 2016 Cloud Storage QN4C6-GBJD2-FB422-GHWJK-GJG2R
Windows Server 2016 Datacenter CB7KF-BWN84-R7R2Y-793K2-8XDDG
Windows Server 2016 Essentials JCKRF-N37P4-C2D82-9YXRT-4M63B
Windows Server 2016 Standard WC2BQ-8NRM3-FDDYY-2BFGV-KHKQY
Windows Server 2016 Datacenter Preview VRDD2-NVGDP-K7QG8-69BR4-TVFHB

Windows Vista Business YFKBB-PQJJV-G996G-VWGXY-2V3X8
Windows Vista Business N HMBQG-8H2RH-C77VX-27R82-VMQBT
Windows Vista Enterprise VKK3X-68KWM-X2YGT-QR4M6-4BWMV
Windows Vista Enterprise N VTC42-BM838-43QHV-84HX6-XJXKV

Источник

Не могу включить режим безопасной загрузки для установки Winows 11

Добрый день. В связи с выходом windows 11 решил из любопытства лично посмотреть на новую версию OC от Microsoft. К сожалению, я столкнулся с очень неприятной проблемой во время выполнения требования для установки новой версии OC, суть которой заключалось не включающимся режиме безопасной загрузки на моем компьютере. Изначально установщик Windows 11 сообщал мне, что мое устройство не поддерживается из-за выключенной безопасной загрузки на моем пк. С горем пополам я смог включить эту функцию в UEFI своей матери:

После этого, на мое удивление, в сведениях о системе меня ждала следующая картина:

В интернете я пока не нашел решения моей проблемы, поэтому хочу обратиться сюда за помощью с ее решением. Вдруг здесь кто-то тоже сталкивался с подобной ситуацией и знает как ее решить.

Меняешь разметку системного диска с MBR на GPT (Ютуб и гугл в помощь, я делал через утилиту AOMEI), отключаешь CSM в биосе и включаешь безопасную загрузку. Все достаточно просто и быстро делается. ред.

То же самое. Нужно диск конвертить из mbr в gpt.

Не поможет.У него система установлена в legacy режиме и выключение режима совместимости просто не даст загрузиться системе.Нужно все сносить.Такая же проблема, только я положил на обновление.Данные важнее. ред.

Читайте также:  Как сказать мужу что не хочу работать

Вообще он нигде не пишет о том, что хотел именно обновиться, поэтому я исходил из того, что ему нужно просто установить систему

Скорее всего достаточно переставить загрузчик.

Есть же конвертор в gpt, не надо все сносить

Пробовали конвертировать системный диск?
Я читал об этом, но говорят, что система после такого может не запуститься. ред.

Вроде после этого в настройках биоса надо легаси отключить и запускается.
(сам ставить не стал, так как не нашел для себя ни единой причины это делать, там даже обновлений до 22 года не обещают)

Лично пробовал. У меня был включен старый bios legacy. Сначала конвертировал диск из MBR в GPT из под винды через cmd для UEFI/Secure Boot для Windows 11. Вроде конвертировал, но включить UEFI вместо BIOS не смог, поскольку тупо не было выбора UEFI. Потом перезагрузил снова пк, захожу в сведения о системе и вижу, что режим биоса поменялся на UEFI. Видать конвертация диска из MBR в GPT помогла и он сам системно переключился.

Какие команды для конвертации использовал?
Я знаю лишь тот, который чистит данные на диске.

1. Проверьте, что конвертация возможна — запускаем командную строку с правами админа и в ней пишем команду mbr2gpt /validate /allowFullOS

2. Если все нормально — диск MBR и может быть отконвертирован — перегружаем ПК через опцию Advanced Startup в разделе Восстановления настроек Windows

3. ПК перегрузится в режим расширенного загрузка (синий экран) — там выбираем Troubleshoot (устранение неполадок), далее — Advanced options (дополнительные опции) — и, после — Command Prompt (Командная строка).

4. В запустившейся командной строке запускаем команду mbr2gpt /convert и ждем окончание конвертации диска.

5. После окончания конвертации перегрузите компьютер, зайдите в BIOS и переключите опции UEFI, Secure Boot и правильность загрузки — она поменяется на Windows Boot Manager

На днях буквально узнал, что можно сконвертировать через ПО AOMEI PARTITION ASSISTENT PRO. Там в две кнопки можно сконвертировать, без лишних действий из под винды с cmd. Друзья через вот это ПО себе диски сконвертировали без потери данных.

Источник

Разработка первого проекта на платформе Microsoft Dynamics 365 For Finance and Operations

Всем привет! Меня зовут Таня, я тимлид группы разработки Axapta в компании Lamoda. В этой статье речь пойдет про разработку нашего первого проекта на платформе Microsoft Dynamics 365 For Finance and Operations.

Я расскажу про подходы, которые мы использовали, про ошибки, которые допускали, поделюсь знаниями и приобретенным опытом. Эта статья может быть интересна тем, кто начинает разработку проекта в D365 или только задумывается об этом.

Это вольная расшифровка доклада с митапа Mycrosoft Dynamics 365 & Power Platform Meetup.

Цель проекта и технические основы

Наш филиал в Германии закупает товары и продает их российскому юридическому лицу. Ранее мы использовали систему Tsenit, которая позволяла вести учет только на уровне финансовых данных, но не справлялась с учетом товара и логистическими задачами. Для решения этих задач у нас были дополнительные инструменты. Данные хранились сразу в нескольких базах. Всё это отрицательно влияло на скорость и надежность всей системы.

Мы хотели, чтобы учетная система помогала немецкому филиалу сдавать отчетность, платить налоги и проходить аудиторские проверки. Прошлая ERP с трудом решала эти задачи, поэтому мы решили разработать и запустить собственную учетную систему. Наша ERP должна была объединить в единый контур финансы, бухгалтерию и логистику филиала. В качестве основного программного обеспечения мы выбрали Microsoft Dynamics 365 — бывшую Dynamics AX, она же Axapta.

Бизнесовая составляющая описана в статье “Технологии, аутсорс и менталитет”. Здесь же будем говорить про техническую реализацию. Итак, нам требовалось автоматизировать несколько бизнес-процессов:

  • Закупка товара у поставщиков;
  • Продажа российскому юридическому лицу;
  • Интеграция между D365 и Ax2012, учетной системой российского юридического лица;
  • Автоматизация подбора налоговых схем;
  • Сдача отчетности согласно требованиям немецкого законодательства.

В проекте мы решили внедрить облачное решение Microsoft Dynamics 365, поскольку в немецком офисе не было ни IT-инфраструктуры, чтобы развернуть приложение, ни людей, которые бы за нее отвечали. Для небольших удаленных филиалов схема SaaS оптимальна, поскольку позволяет получить все необходимое ПО и среды разработки, чтобы начать внедрение, сразу после подписания договора с провайдером.

У нас были сжатые сроки: необходимо было выполнить всю разработку за 3 месяца. Поскольку в старой системе товарный учет велся в электронных таблицах, перенос всего набора исторических данных был бы неподъемной задачей в середине финансового года. Зато в начале отчетного периода достаточно перенести только балансы. Таким образом, запуск необходимо было произвести либо 1 января 2019 года, либо отложить его еще на год.

Читайте также:  Глобал сити нет не работает

Наша команда не имела опыта разработки в D365. Несмотря на все обстоятельства, мы планировали максимально быстро начать этот проект. Дальше я отдельно опишу все этапы разработки. Подробно остановлюсь на каждой итерации: какой опыт мы получили и какие ошибки допустили.

Первая итерация, модификации на версии приложения 7.3

Для того, чтобы быстро приступить к делу, сначала мы разработали простую архитектуру приложений. Она состояла из окружений для разработки – DevBox 1-tier окружения. Все компоненты были установлены на одном сервере/виртуальной машине: Application Object Server (AOS), база данных, Dynamics 365 Retail и Management Reporter.

Для тестирования мы решили использовать SAT окружение – Standard Acceptance Test 2- tier окружение.

2- tier окружение – это Multi-box окружение, компоненты которого устанавливаются в нескольких облачных сервисах и обычно включают в себя более одного Application Object Server (AOS). По сути, оно максимально приближено к продуктивной среде, поэтому мы решили тестировать на нем.

Мы разворачивали первые окружения разработки на имеющейся on-premise инфраструктуре, однако ее мощностей было недостаточно для дальнейшего развития проекта. Поэтому, когда к проекту подключились еще два разработчика, мы быстро и элегантно развернули для них DevBox в облаке.

Управление нашими облачными окружениями происходило через Lifecycle services портал.

Закончив с окружениями, команда приступила к разработке. Мы настроили среды разработки на Visual Studio и подключили их к контролю версий Azure DevOps, предварительно создав ветку для выгрузки кода. Далее мы разработали подход к разработке и переносу изменений на SAT окружение.

В архитектуре D365 нет слоев, весь стандартный код был разложен в модели. Модификации переносились на SAT-окружение через LCS-портал пакетом, содержащим скомпилированную модель.

Модель – это минимальная единица переноса изменений на прод, поэтому мы решили делать одну модель – одну модификацию, чтобы независимо переносить наши модификации для тестирования и далее в прод.

Для начала мы реализовали самую простую и распространенную модификацию – добавление нового поля в стандартную таблицу, его инициализации при создании записи и вывод на стандартную форму.

Даже в таком простом проекте есть новые типы объектов. Мы сделали расширение для добавления новых полей в стандартную таблицу. Для вывода поля на стандартную форму мы сделали новый тип объектов – расширение для формы. А для инициализации поля мы создали класс, который расширяет методы таблицы. Он позволил проинициализировать поле при создании записи.

На такой простой модификации мы увидели один из основных принципов D365 – не изменение, а расширение стандартных объектов.

Следующей модификацией было создание новой формы. Теперь при создании формы требовалось обязательно указывать её паттерн. Паттерн – это шаблон, который полностью определяет структуру дизайна формы. Пока мы полностью не воспроизведем структуру, заложенную в шаблоне, наша форма не будет компилироваться. Изменить шаблон уже готовой формы невозможно. Поэтому перед началом разработки мы заранее продумывали, как будет выглядеть наша форма.

У нас также сохранялась возможность управлять дизайном формы самостоятельно. Если мы указывали pattern – Custom, то полностью сами отвечали за дизайн формы: какие объекты на ней были и с какой вложенностью.

Выводы после первой итерации

1. Не изменять стандарт, а только расширять его.

2. Ссылаться на модель, если используем её объекты в другой модели. Это одно из отличий моделей D365 от предыдущих версий: объект существует только в одной модели.

3.В изменении свойств стандартных объектов есть ограничения. Не все свойства стандартных полей можно изменить в своих расширениях стандартных объектов. Например, расширение таблицы PurchTable – поле LineDisc. Мы можем управлять видимостью поля и меткой, а такие свойства, как обязательность и редактируемость, изменить нельзя.

4. В D365 нет джобов, все делается через классы.

5. Мы слишком мелко побили модели, и оказалось, что наш принцип “одна модификация = одна модель” не работает.

Вторая итерация и переход на одну модель

Модель в D365 – это набор исходных файлов, расположенных в отдельной директории. При компиляции они собираются в отдельную библиотеку, имеющую связь с другими библиотеками.

Поэтому слияние в одну модель на DevBox свелось к перекладыванию файлов из одной директории в другую и удалению старых директорий.

Итак, мы сбилдили новую модель, получили ее последнюю версию на каждом DevBox, после чего продолжили работать в рамках одной модели на окружениях разработки.

Естественно, мы уже перенесли пару моделей для тестирования на SAT-окружение. Поэтому надо было удалить их, и зарелизить одну новую.

Все обновления SAT-окружения делались с помощью пакетов, в том числе и удаление моделей. Мы создали пакет с пустыми моделями, которые нужно удалить, и добавили в него скрипт с названиями этих моделей. Далее собрали пакет с новой моделью и накатили на SAT-окружение. Таким образом, SAT обзавелся новой моделью.

Когда объединяли модели, мы заметили, что каждый разработчик называет расширения объектов по-своему. Договорились о правилах наименования объектов по шаблону: PurchTable.LamodaModelFormExtension, PurchTableTypeLamodaModelClass_Extension.

Читайте также:  Почему не работает dropdown bootstrap

Также мы договорились в команде, что для одного стандартного объекта мы создаем только одно расширение и все в него вносим изменения.

Я выбрала несколько интересных модификаций, которые мы сделали на этом этапе. Они показывают возможные подходы к разработке в D365.

В разноске накладной по заказу на продажу необходимо было подменить номер накладной на номер из заказа. Для этого мы определили стандартный класс с возможностью расширения, который позволил нам выполнить эту модификацию.

Мы сделали расширение стандартного класса SalesInvoiceJourCreate. В его методе getNumAndVoucher() есть Next – это наш новый super, он говорит о вызове стандартного кода метода. После вызова стандартного кода мы заменили номер накладной нужным значением.

Это один из наших подходов разработки: использование расширений и добавление своего кода до или после (как вариант – и до, и после) исполнения стандартного кода.

Нужно было изменить отображение итогов заказа на покупку: сгруппировать итоги по номеру накладной поставщика из строк заказа на покупку. В этом случае мы не нашли места для расширения без падения производительности в два раза, поэтому сделали свой вариант итогов, не трогая стандартные.

Задача 3
Еще одна интересная модификация: в строки формы заказа на покупку нужно было добавить поля из справочника номенклатуры с возможностью фильтрации. В прошлых версиях модификация была совершенно неинтересной и решалась простым добавлением таблицы как datasource на форму и перекрытием двух методов.

В версии 7.3 мы не могли расширять методы на datasource стандартной формы. Чтобы сделать фильтрацию и не создавать для этого новую форму, мы добавили view как datasource на форму.

Возможность расширять методы на datasource появилась в версии 8.1 D365.

Выводы после второй итерации

На этом этапе мы разработали основные модификации, необходимые для запуска проекта.

  1. Мы ввели правила наименования расширений. Они не только помогли сделать наименования единообразными и понятными, но и в дальнейшем упростили обновление, поскольку наши названия не совпадали с названиями стандартных объектов из пакета обновления.
  2. Порадовало, насколько быстро происходит построение перекрестных ссылок при билде проекта или модели – очень удобно организовано в этой версии.
  3. Обновление моделей в разных типах окружения происходит по-разному. Мы убедились в этом на примере слияния моделей.
  4. Перед началом разработки новой модификации нужно получать последнюю версию модели, поскольку разработка ведется в рамках одной модели.
  5. Механизм работы data entity для загрузок и выгрузок данных в Excel при обновлениях данных на проде оказался очень удобным. Сейчас наш департамент Data & Analytics использует его для получения данных из нашей облачной D365.

Основную разработку мы сделали в срок. Выход в Go Live состоялся, модель в проде. А перед нами встала проблема релизов только протестированных модификаций в рамках модели. Также нам хотелось облегчить процесс дебага во время тестирования модификаций и ускорить обновление тестового окружения.

Как всё работает теперь

В последней итерации мы добавили два окружения: билд и тест. После того как все окружения были настроены и проверены, мы упростили тестирование и научились релизить только протестированные модификации в рамках модели.

Для тестирования мы развернули 1-tier окружение и подключили его к ветке разработки в системе контроля версий. Обновление теперь состояло из получения последней версии самой модели и ее сборки. В этом окружении мы дебажили, как в обычном DevBox.

Сборка пакетов для релиза теперь осуществлялась на новом билд-окружении. Протестированные модификации переносились в новую ветку в системе контроля версий changeset’ами (пакетами изменений, выгруженными в систему контроля версий), по принципу от самых ранних к последнему.

Дальше мы деплоили пакет на SAT-окружение, где проходило пользовательское тестирование, после чего ставили пакет в расписание на LCS-портале для релиза на прод. Так мы наладили процесс релизов с использованием билд-окружения.

А ещё мы решили ревьюить не проекты, а changeset’ы по модификации, выгруженные в контроль версий.

Первое обновление облачной версии

Мы работали на облачной версии, поэтому нам необходимо было регулярно обновляться. Первое обновление было переходом с версии 7.3 на версию 8.0. Оно заняло около двух недель.

Основные проблемы мы, конечно, создали себе сами, но и победили тоже сами:

  1. Мы не сразу договорились о правилах наименования стандартных объектов. В первом же обновлении наши названия объектов совпали с названиями объектов в пакете обновления.
  2. При обновлении облачных окружений мы обязательно разлогинивались из AOS-машин, иначе процесс обновления не мог завершиться при залогиненом пользователе.
  3. Пакет обновлений для прод и SAT окружений необходимо было объединять с пакетом модели.

На сегодня обновление всех наших окружений занимает около 3-4 дней и проходит без привлечения разработчиков. Мы можем даже выпустить релиз одновременно с обновлением, главное, чтобы билд, SAT и прод имели одну версию.

Процесс обновления состоит из скачивания на lcs портале пакета обновления. Первыми обновляются DevBox и тест, далее обновляется билд, последними идут SAT и прод.

Источник

Adblock
detector