AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: База знаний и проекты
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 01.12.2006, 10:15   #1  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
? NightlyBuild
Вот такая задача: хочу сделать еженощную компиляция с перестроением перекрестных ссылок. Для этого по виндовому расписанщику (aka scheduler aka "Назначенные задания") запускается аксапта с -startupcmd=batch_dev
в пакете, грубо говоря, компиляция с экспортом лога и выход.

Проблемы:
  • иногда это дело не доходит до конца непонятно почему
  • иногда ругается в инфолог на что-то связанное с принтером
  • непонятно по какому признаку в протокол то попадают ворнинги, то не попадают

Исходники прикреплены.

Компиляция приосходит так
X++:
void run()
{
;
    SysCompileAll::compile();
    this.exportLog();
}
void exportLog()
{
    SysCompilerOutput   sysCompilerOutput;

    if (SysdictClass::isEqualOrSuperClass(classidget(infoLog.compilerOutput()), classNum(SysCompilerOutput)))
    {
        sysCompilerOutput = infoLog.compilerOutput();
        sysCompilerOutput.xmlExport(xinfo::directory(DirectoryType::Log)  + strFmt('compile.all.%1.log.html', today()));
    }
}
Вложения
Тип файла: zip NightlyBuild.zip (7.3 Кб, 140 просмотров)
Старый 01.12.2006, 13:30   #2  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Naughty Build
Старый 01.12.2006, 13:45   #3  
konopello is offline
konopello
SAP
SAP
 
628 / 76 (4) ++++
Регистрация: 08.11.2005
Адрес: Минск
да полезная штука
Старый 01.12.2006, 14:16   #4  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
делал так.
1. Для admin указывал в настройках сетевое имя и галку "Перекрестные ссылки"
2. Указывал пути для логов
3. В том же планировщике запускал -startupcmd=compileAll (от имени admin-пользователя)
Работает как часы, перекомпилирует все приложения (разработка, тест и т.п.) - утром смотрим логи в htm

Последний раз редактировалось Wamr; 05.12.2006 в 10:08.
За это сообщение автора поблагодарили: belugin (10), Kabardian (3).
Старый 20.04.2007, 09:09   #5  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Post
Изменения:
  • вместо пакетного сервера используется команда запуска SysStartupCmd
  • протокол компиляции преобразуется в html и рассылается по почте

Установка:
  • после импорта компилятор ругнется на #fromAddress и #toAddress, каковые надо заменить почтовыми адресами
  • Надо кинуть compilerOutput.xsl в Include\Templates
  • Надо подключить команду запуска DEV_SysStartupCmdNightlyBuild в construct SysStartupCmd
Вложения
Тип файла: zip NightlyBuild.zip (4.7 Кб, 149 просмотров)
Старый 04.05.2007, 10:02   #6  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Еси установить приложенный шаблон, то пути в рассылаемлом протоколе компиляции станут ссылками AxPath
Миниатюры
Нажмите на изображение для увеличения
Название: Clipboard.png
Просмотров: 393
Размер:	6.1 Кб
ID:	2606  
Вложения
Тип файла: zip compilerOutput.zip (1.6 Кб, 149 просмотров)
Старый 09.12.2008, 17:06   #7  
NetBus is offline
NetBus
Участник
 
200 / 85 (3) ++++
Регистрация: 08.07.2005
Адрес: Москва
На 4-ку не кто не переделывал данную утилитку?
Старый 09.12.2008, 19:45   #8  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
->
Цитата:
Сообщение от Wamr Посмотреть сообщение
1. Для admin указывал в настройках сетевое имя и галку "Перекрестные ссылки"
Что-то не нахожу эту птичку...
__________________
Zhirenkov Vitaly
Старый 09.12.2008, 21:01   #9  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
Параметры/Компилятор/Перекрестные ссылки
__________________
Axapta v.3.0 sp5 kr2
За это сообщение автора поблагодарили: ZVV (1).
Старый 10.12.2008, 01:01   #10  
Mykola Galak is offline
Mykola Galak
Участник
 
40 / 39 (2) +++
Регистрация: 24.01.2008
Адрес: Copenhagen
У меня стояла подобная задача. Но делаю я немного иначе: код компилируется только тот, что зачекинен в вершин контрол. После компиляции в дроп локейшин ложится смердженые объекты в один xpo файл, AOD нужного слоя, лейбл файл и лог. Получается очень удобно - всегда готовый билд под рукой, который можно показать заказчику. Дополнительный набор скриптов устанавливает нужный билд на указаную машину.
Более подробно сдесь - http://daxandsurround.blogspot.com/

Перекресные ссылки апдейтятся батч джобой:
Код:
xRefUpdate::main(new Args(classstr(SysCompileAll)));
За это сообщение автора поблагодарили: belugin (5).
Старый 10.12.2008, 22:14   #11  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,323 / 3547 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Цитата:
Сообщение от Wamr Посмотреть сообщение
3. В том же планировщике запускал -startupcmd=compileAll (от имени admin-пользователя)
Вообще-то, если повнимательнее посмотреть классы SysStartupCmd, то легко видно - что команда -startupcmd=compileAll_+ (именно с плюсом через подчеркивание) как раз и делает глобальную компиляцию с построением перекрестных ссылок. Лог пишется. После отработки - Аксапта выходит из приложения.

Подводные грабли тут могут быть только в том, что если у пользователя, под которым запускается Аксапта стоит большой уровень ошибок и Аксапте не хватает памяти все "зафиксировать" (ведь она сначала все собирает в память, а потом все пишет) - она падает. Проверяется это путем сравнения времени создания файла лога и временем запуска Аксапты. У меня разница составляла 3-4 часа. Поэтому - у этого пользователя имеет смысл ставить уровень компилятора 3 или даже может 2. (С уровнем 3 у меня прокатывало на среднестатистическом девелоперском серваке).

И еще момент - который приходилось делать. Странно вообще-то что это приходилось делать, т.к. в коде черным по белом это написано... Но... факт. Где-то после 2-3 недель ежедневных построений по будням было видно, что процесс оставался в памяти (висел ax32.exe). Изящный Truncate таблиц xRef* перед построением ссылок - спасал ситуацию. Но это в коде и так прописано ... Поэтому не понимаю, почему это спасало... Может конечно какие другие факторы наложились
__________________
Возможно сделать все. Вопрос времени

Последний раз редактировалось sukhanchik; 10.12.2008 в 22:21.
За это сообщение автора поблагодарили: denny (1), ZVV (1).
Теги
faq, инструменты, полезное, приложение

 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 14:29.