Сказ про то, как я DevOps-ом занимался (OneScript, Deployka, Jenkins)

Публикация № 795197

Методология - DevOps

Хранилище конфигурации хранилище автоматизация DevOps OneScript OScript 1Script Jenkins CI Deployka Oscript-librari

Решаем задачу: автоматизировать обновление тестовых баз 1С из хранилища конфигурации при появлении в нём новых изменений. Данная статья родилась в муках хождения по граблям и поиска безопасного форватора среди подводных камней. Изложение постарался представить в виде инструкции для новичка, в которой собрал всё, с чем пришлось столкнуться. Сам я не DevOps-ер, ни на что не претендую, просто делюсь опытом :)

Вводная

Обзаводимся софтом

Составление сценария запуска

   Запуск RAS как сервис

Установка Jenkins

   Решение проблемы занятого порта 8080

      Вариант 1. Как открыть порт в брендмауэре Windows

      Вариант 2. Как переопределить рабочий порт Jenkins

   Первоначальная настройка и установка плагинов

Настройка проекта в Jenkins

Вместо заключения. Запуск сценария и мониторинг результата

Перед началом хочу поблагодарить коллег из коллективов SilverBulleters и xDD за бесценную консультационную поддержку.

Итак, поехали!

Вводная

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

Обзаводимся софтом

Для решения задачи нам понадобится:

С установкой OneScript затруднений никаких не возникает. После установки самого 1Script, ставим Деплойку из командной строки:

opm install deployka

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

На установке 1С-ки вообще не вижу смысла останавливаться :) Переходим к сути.

Составление сценария запуска

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

deployka session lock -ras dev-td:2845 -rac "C:\Program Files\1cv8\8.3.10.2466\bin\rac.exe" -db "zup cb fin test" -db-user "Admin" -lockmessage "Плановое обновление" -lockuccode update

deployka session kill -ras dev-td:2845 -rac "C:\Program Files\1cv8\8.3.10.2466\bin\rac.exe" -db "zup cb fin test" -db-user "Admin" -lockmessage "Плановое обновление, 5 мин" -lockuccode update

deployka loadrepo "/IBConnectionString""Srvr=dev-td:2841;Ref='zup cb fin test'""" \\dit-dev1\1C-Storage\8.3\hrm_test_fin -db-user "Admin" -storage-user admin -storage-pwd 777 -uccode update

deployka dbupdate "/IBConnectionString""Srvr=dev-td:2841;Ref='zup cb fin test'""" -db-user "Admin" -allow-warnings -uccode update

deployka session unlock -ras dev-td:2845 -rac "C:\Program Files\1cv8\8.3.10.2466\bin\rac.exe" -db "zup cb fin test" -db-user "Admin"

То есть, порядок такой:

  1. Блокируем сессии для входа в базу, оставляем себе лазейку в параметре -lockuccode;
  2. Убиваем все текущие сессии;
  3. Загружаем изменения конфигурации из хранилища. Тут столкнулся с проблемой правильного написания строки соединения с базой, которую требует первый параметр команды loadrepo. Решения было найдено здесь (есть пример строки подключения для файловой и клиент-серверной базы);
  4. Обновляем конфигурацию базы данных. Здесь ключевой момент - наличие ключа -allow-warnings. Он необходим на случай, если в конфигурации были изменения структуры, то их необходимо принять безоговорочно. В интерактивном режиме мы привыкли видеть дополнительное окно с перечислением изменений структуры, в котором нажимаем на кнопку "Принять", после чего обновление успешно завершается. Так вот, ключ -allow-warnings как раз "нажимает" на эту кнопку;
  5. Снимаем блокировку сессий, чтобы с базой могли работать пользователи.

Какие здесь есть нюансы:

  • Сервер RAC используем той версии платформы, на которой крутится целевая база;
  • Имя пользователя прописываю латиницей (завёл отдельного пользователя для этого). Когда используешь командную консоль, Jenkin и еще какой-нибудь редактор текста, то договориться между ними о кодировках кириллицы - это отдельный тур вальса с бубном, на нём останавливаться не буду.
  • Предварительно должен быть запущен сервер RAS.

Запуск RAS как сервис

Сервер RAS можно разово запустить отдельным bat-файлом, а можно запустить его как сервисную службу. Я пошёл вторым путём, команда для запуска следующая:

sc create "1C:Enterprise RAS" binpath="\"C:\Program Files\1cv8\8.3.10.2466\bin\ras.exe\" cluster --service --port=2845 localhost:2840"

Номера портов следует прописывать, исходя из того, на каких портах "сидит" соответствующий сервер 1С: Предприятия.

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

На данном этапе сценарием уже можно пользоваться из командной строки или в виде bat-файла. Но наша задача - обернуть ещё это всё в CI и автоматизировать процесс.

Установка Jenkins

Скачиваем установочный пакет под нужную ОС по ссылке в начале статьи.

Запускаем, устанавливаем всё по умолчанию. После установки, Jenkins будет доступен из браузера по адресу: localhost:8080. Должен появиться приветственный экран Jenkins:

Рисунок 1. Приветственная страничка Jenkins

Рисунок 1

Если экран появился, можно переходить к первоначальным настройкам системы. В противном случает придётся еще побороться с закрытым портом 8080.

Здесь описан порядок подключения на локальной машине. В общем случае, в адресной строке браузера следует писать IP сервера, на котором установлен Jenkins: http://[IP-адрес сервера]:8080

Про более сложную распределенную установку Jenkins на сервере/клиентах написано здесь.

Другие способы установки Jenkins:

 

Решение проблемы занятого порта 8080

Если после установки Jenkins в браузере появляется что угодно, но только не то, что изображено на рисунке 1, значит порт 8080 на вашем компьютере закрыт или занят другим приложением (PS а заодно проверьте статус работы сервиса Jenkins и наличие оперативной памяти, Jenkins потребляем от 256Мб до 1Гб оперативы). Решения проблемы два: либо открыть порт средствами Windows, либо переопределить номер порта для Jenkins.

Вариант 1. Как открыть порт в брандмауэре Windows

Открываем брандмауэр: нажимаем [Win+R], даём команду firewall.cpl. В открывшемся окне переходим в «Дополнительные параметры», затем открываем раздел «Правила для входящих подключений». Должно появиться окно:

Рисунок 2

В правой колонке нажимаем «Создать правило…».

Шаг 1. Выбираем тип правила «Для порта» и нажимаем «Далее».

Рисунок 3

Шаг 2. В поле «Определённые локальные порты» вводим номер нашего порта 8080, и нажимаем «Далее»

Рисунок 4

Шаг 3. Выбираем вариант «Разрешить подключение» и жмём «Далее»

Рисунок 5

Шаг 4. Оставляем всё по умолчанию и нажимаем «Далее»

Рисунок 6

Шаг 5. На заключительном шаге указываем имя для нового правила файервола и нажимаем «Готово».

Рисунок 7

Если и после этого Jenkins не запустится, добавьте еще одно такое же правило, только на шаге 2 укажите правило UDP.

Вариант 2. Как переопределить рабочий порт Jenkins

Чтобы Jenkins подключался к другому порту, в файле \Program Files\Jenkins\jenkins.xml нужно найти ключ:

--httpPort=8080

и поменять номер на желаемый, после чего перезапустить сервис Jenkins.

Первоначальная настройка и установка плагинов

После того, как установка выполнена, в браузере мы попадаем в окно приветствия (см. Рисунок 1). Здесь нужно вставить пароль из файла \Program Files\Jenkins\secrets\initialAdminPassword и нажат «Продолжить». На следующем шаге выбираем режим установки плагинов: Install suggested plugins.

Рисунок 8

Для решения нашей задачи нам понадобится плагин Filesystem Trigger Plug-in, его и устанавливаем.

После установки создаём профиль администратора, имя пользователя и пароль запоминаем для использования в дальнейшей работе. Нажимаем «Продолжить», на экране появится сообщение, свидетельствующее о готовности Jenkins к работе.

Рисунок 9

Нажимаем «Start using Jenkins» и переходим в рабочую панель системы.

Дополнительно:

 

Настройка проекта в Jenkins

Теперь, когда Jenkins настроен и готов к работе, создадим наш сценарий. Выбираем на главной странице Jenkins команду «Создать Item» («New Job»). Задаём название нашему проекту, выбираем тип «Создать задачу со свободной конфигурацией» («Free-style project») и нажимаем OK.

Рисунок 10

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

Рисунок 11

Переходим в раздел "Триггеры сборки". Здесь настраиваются условия, при которых наш сценарий будет выполняться. Нам нужно, чтобы сборка производилась при изменении файла хранилища конфигурации.

Устанавливаем флажок [FSTrigger] - Monitor files, далее ставим флажки Inspect fila contents (собственно проверка, а не поменялся ли файл?) и Ignore modification data (дабы избежать ложных срабатываний сценария). В поле File Path прописываем полный путь к файлу *.1cd хранилища конфигурации.

В поле «Расписание» («Schedule») прописываем строку: */15 * * * *. Это означает, что проверка изменений файла (а значит и необходимости дальнейшего запуска сборки) будет выполняться каждые 15 минут. Подробнее о формате написания этой строки можно почитать в справке, которая открывается по «знаку вопроса» справа от поля ввода.

Рисунок 12

В разделе «Сборка» выбираем команду «Добавить шаг сборки – Выполнить команду Windows», и в появившемся поле ввода прописываем команду соответствующего шага. Затем повторяем то же самое для остальных шагов. В результате должно получиться то, что показано на рисунке 13.

Рисунок 13

Еще один вариант:

 

Нажимаем «Сохранить».

Поздравляю! Вы автоматизировали одну из рутинных операций в своей работе. Добро пожаловать в мир DevOps-а! :))

Вместо заключения. Запуск сценария и мониторинг результата

После сохранения сценария открывается страница управления этим сценарием. Если выбрать команду «Собрать сейчас», то сценарий будет запущен, а результат появится в разделе «История сборок».

Рисунок 14

Из контекстного меню конкретного запуска сценария можно через команду «Console Output» посмотреть детали выполнения.

Рисунок 15

Также запустить сценарий можно из контекстного меню конкретного проекта в списке главного окна системы.

Рисунок 16

 

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. necropunk 7 17.06.18 17:42 Сейчас в теме
Плюс за первопроходчество. Вечно нет времени нормально полазить по граблям.
3. olegtymko 535 18.06.18 02:19 Сейчас в теме
(1) Так Серебрянная пуля давно это делает и методичку выпустила.
OerlandHue; +1 Ответить
8. necropunk 7 18.06.18 11:09 Сейчас в теме
(3) При всем уважении к их безусловно полезному труду - пару раз пробовал осилить, еще до методички, но времени катастрофически не хватало. А сейчас читаю - и узнаю проблемы, на которые натыкался. Думаю, я не один такой, может кому поможет и хорошо. Все-таки лично мне по этому пути пока тяжеловато следовать.
12. t.v.s. 94 18.06.18 11:48 Сейчас в теме
(3) А где почитать эту самую методичку?
17. olegtymko 535 18.06.18 12:29 Сейчас в теме
(12) Я покупал у Серебряной пули. Можно посмотреть на их сайте.
27. lustin 19.06.18 15:17 Сейчас в теме
(17) https://isthisdesign.org/bookoneorder

Это печатный вариант - настройка gitLab, Jenkins + OScript
2. sytkosa 17.06.18 22:05 Сейчас в теме
Однозначно плюс за информацию. Автор можешь добавить код для файловых баз в статью для полноты картины ?
4. Gureev 18.06.18 09:43 Сейчас в теме
Можете обосновать выбор дженкинса взамен обычного шедулера?
И почему не PoSh?
6. awk 714 18.06.18 09:55 Сейчас в теме
(4) А обычный шедулер умеет консолидировано запускать задачи на разных серверах?
7. ImHunter 192 18.06.18 10:17 Сейчас в теме
(6) Это уж слишком "продвинутый" пример)
(4) На примере публикации - если внимательно прочитать, то можно увидеть, что используется не просто шедулинг. Этот шедулинг зажигает триггер в зависимости от модифицированности отслеживаемого файла. Аналогично такое сделать на ПоШ - уже думать надо.
Можно немного развить тему публикации и повысить безопасность - Дженкинс позволяет хранить пароли в специальном хранилище. И их (пароли) можно потом не хардкодить в скрипты. Как аналогичное сделать в ПоШ - сходу и не знаю.
Вообще, публикация охватывает совсем маленький кусочек функционала Дженкинс'а. И кажется, что зачем он (Джен) вообще нужен. Но аппетит приходит во время еды.
Захотим мы, к примеру, выгружать cf обновленной конфы в artifactory. В Джен мы добавим 2-3 шага. И это заработает.
В ПоШ, да, мы тоже это сможем сделать. Только сначала почитаем кучку доков, (напишем-отладим) * N раз. И потратим на это в 10 раз больше времени и нервов.
21. grumagargler 649 18.06.18 16:21 Сейчас в теме
(7) еще один вариант :-) всё в тестере написать, на 1с, и работу по блокировке пользователей, и пакетный запуск конфигуратора и мониторинг изменения файла по расписанию или событию (правда компонента только под виндовс).
10. Gureev 18.06.18 11:30 Сейчас в теме
(6) обычный шедулер умеет запускать задание по расписанию ) легко, быстро, не жрет ресурсы, и не требует установки)
Задания пишутся в скрипте на питоне или ПоШе, которые умеют намного больше чем дженкинс)
11. t.v.s. 94 18.06.18 11:38 Сейчас в теме
(10)А по событию из системы контроля версий умеет? А отслеживать изменения, и запускать билд, только когда что-то поменялось?
Не, я не спорю, можно все скриптами сделать, даже сам некоторые вещи предпочитаю писать на питоне, чем использовать готовое. Но меру во всем нужно знать.
13. Gureev 18.06.18 11:50 Сейчас в теме
(11) Ну так это не задачи шедулера, это задачи скрипта.
Просто забавляет, что 1Сники узнали про jenkins и пихают его везде куда пихается.
14. ImHunter 192 18.06.18 11:54 Сейчас в теме
(13) Ну видишь ли, мы привыкли к простому/хорошему. А ты, вероятно, си-шник в душе?
CodeNull; Boulala; +2 Ответить
15. Gureev 18.06.18 11:56 Сейчас в теме
(14) Не люблю когда пиццу доставляют камазом)
16. t.v.s. 94 18.06.18 11:56 Сейчас в теме
(13) Не хочу спорить. Любую задачу можно решить сотней разных способов, каждый выбирает для себя.
23. herfis 363 18.06.18 17:22 Сейчас в теме
(13) Не куда пихается, а по прямому назначению - для сборки и диплоя.
Да, можно было обойтись скриптами. Но это как если тебя просят простой складской учет, а ты вместо установки типовой конфы фигачишь самописку за три минуты. Все, вроде бы, отлично и требованиям (текущим) удовлетворяет (в принципе). Но вот дальше возникают ньюансы :)
JohnyDeath; +1 Ответить
19. awk 714 18.06.18 14:14 Сейчас в теме
(10) Когда напишите подобие TeamCity, TFS или Jenkins - дай знать, я заценю... :)))
JohnyDeath; +1 Ответить
22. Gureev 18.06.18 16:34 Сейчас в теме
24. awk 714 18.06.18 22:12 Сейчас в теме
(22) Так Jenkins то же со скриптов начинался... Хочешь изобретать велосипед - изобретай. Получиться лучше - буду использовать.
5. awk 714 18.06.18 09:53 Сейчас в теме
С кодировкой проблем нет. Просто надо прописать в реестре: HKCU\Console\CodePage = 65001
9. Evil Beaver 6705 18.06.18 11:30 Сейчас в теме
Супер, спасибо за статью
18. herfis 363 18.06.18 12:41 Сейчас в теме
Плюс не глядя (почти).
JohnyDeath; +1 Ответить
20. pumbaE 634 18.06.18 15:09 Сейчас в теме
sleep не хватает пред тем как делать kill, если же это не быстрый bugfix.
Теоретически алгоритм должен быть таким:
 
lock
loadrepo
sleep (до времени, которое поставили в lock)
kill
dbupdate
unlock 
SirYozha; awk; +2 Ответить
25. awk 714 18.06.18 22:27 Сейчас в теме
(20) Мое почтение. И конвеера должно быть два (если по феншую):

1. сборка (copydb, loadrepo, test, publish) - запускать по изменению хранилища
2. обновление (loadcf,backup, updatedb, userupdate) - запускать по расписанию и наличию обновления
SirYozha; +1 Ответить
26. nicxxx 236 19.06.18 10:44 Сейчас в теме
28. kuzyara 1013 21.06.18 04:04 Сейчас в теме
29. boggonzikov 398 21.11.18 13:50 Сейчас в теме
кодировках кириллицы - это отдельный тур вальса с бубном, на нём останавливаться не буду.

Мне помогло:
1. jenkins.xml
<arguments>-Xrs -Xmx256m -Dfile.encoding=UTF-8 -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "%BASE%\jenkins.war" --httpPort=8181 --webroot="%BASE%\war"</arguments>
2. Изменить кодировку в консоли
chcp 65001
UniversaLL; +1 Ответить
30. Pavel_Dv 30.06.19 09:39 Сейчас в теме
Никто не сталкивался?
Подозреваю что косяк в настройка сервера, на тестовом все ОК. Пока не пойму, куда копать
Службы запущены, пользователь админ как базы, так и кластера, так и сервера...

C:\Windows\system32>deployka scheduledjobs lock -ras localhost:1545 -rac "C:\Pro
gram Files (x86)\1cv8\8.3.12.1469\bin\rac.exe" -db "BASENAME" -cluster-admin "USR1CV8_
RAS" -cluster-pwd "PASSWORD" -db-user "USR1CV8_RAS" -db-pwd "PASSWORD"
ИНФОРМАЦИЯ - Получаю список кластеров
ИНФОРМАЦИЯ - Получаю список баз кластера
ИНФОРМАЦИЯ - Получен УИД базы
КРИТИЧНАЯОШИБКА - {Модуль C:\Program Files (x86)\OneScript\lib\deployka\src\Клас
сы\КомандаУправлениеСеансами.os / Ошибка в строке: 482 / Сообщение от RAS/RAC
server_addr=tcp://S01-1C01_01:0 descr=10.2.0.128:10049(0x00002741): Требуемый ад
рес для своего контекста неверен. ;
line=1056 file=src\DataExchangeTcpClientImpl.cpp
31. Pavel_Dv 30.06.19 09:56 Сейчас в теме
Разобрался. Проблема Deployka в том, что она позволяет управлять только одним кластером на сервере.
На нашем 3 кластера.
О данной проблеме известно давно, но до реализации не дошло. Может кто знает обходные пути?

https://github.com/oscript-library/deployka/issues/33
32. AntonSm 27 01.07.19 13:01 Сейчас в теме
(31) деплойка не развивается.
Попробуйте vannesa-runner из того же сообщества.
Весь функционал переехал в него.
JohnConnor; +1 Ответить
33. Pavel_Dv 01.07.19 14:53 Сейчас в теме
Уже осознал и переписал скрипты под runner
Проблема в конечном итоге была такая:
На кластере было 2 рабочих сервера. И ни в runner, ни в deployka не нашлось аргумента для выбора нужного сервера.

Решение:
Удалили второй рабочий сервер с кластера (к счастью был создан очень давно и не использовался).
34. SergeyMordvin 472 18.05.20 14:34 Сейчас в теме
Спасибо за статью. Хотел уточнить, а зачем мы делаем команды разными шагами? Какой это дает плюс? Я думал, что дженкинс покажет на каком шаге что-то падает, но не увидел в нем такого, только общий лог он выводит
Оставьте свое сообщение

См. также

Vanessa, видеоинструкции для web-клиента

Vanessa Automation v8 1cv8.cf Бесплатно (free)

Vanessa-Automation. Использование видеоинструкций в web-клиенте.

01.06.2020    514    0    SvVik    1    

Молчание "best practices": тестовые и эталонные данные, структура и связность, падения и новая функциональность, и другие неудобные вопросы к сценарному тестированию

Рефакторинг и качество кода Сценарное тестирование v8 Бесплатно (free)

Непонимание некоторых базовых вопросов мешает программистам начать применять инструменты тестирования в процессе разработки для 1С. Как разобраться в терминологии и интегрировать процесс тестирования в разработку 1С-решений на конференции Infostart Event 2019 Inception рассказал руководитель отдела разработки компании C.T.Consultants Решитко Дмитрий.

29.05.2020    1368    0    grumagargler    14    

Jenkins: конфигурируем сервер и подключаем к нему виртуальные машины. Цикл "Многопоточный CI для 1С c Packer, Vagrant и Jenkins", часть 4

DevOps CI/CD Jenkins v8 Бесплатно (free)

Выполним основные настройки Jenkins как CI-сервера. Подключим к нему развёрнутые через Vagrant виртуальные машины в качестве сборочных узлов.

13.03.2020    3598    0    Vladimir Litvinenko    7    

Тестирование: Отлаживаем и тестируем REST интерфейс 1С с помощью SoapUI

Сценарное тестирование v8 Бесплатно (free)

Рассмотрим быстрый и удобный способ облегчения разработки и отладки REST, SOAP веб сервисов, а также создания автоматизированных тестов.

03.02.2020    3919    0    ivanov660    2    

Vanessa Automation + СППР

Vanessa Automation СППР v8 Бесплатно (free)

Vanessa Automation. Использование автоматизированного тестирования в СППР.

07.11.2019    10007    0    SvVik    14    

Vanessa, улучшаем инструкции

Vanessa Automation v8 1cv8.cf Бесплатно (free)

Vanessa Automation умеет делать хорошие инструкции, давайте посмотрим, какие инструменты для этого есть.

30.10.2019    7408    0    OPM    11    

Автоматическое сравнение-объединение баз данных с мини-конфигурацией

OneScript v8 Бесплатно (free)

Представляю вашему вниманию скрипт на OneScript для автоматического сравнения-объединения по правилам ("мержевания") конфигураций нескольких баз с мини-конфигурацией.

14.10.2019    2606    0    artkor    2    

Vanessa, хочу все и сразу

Vanessa Automation v8 Бесплатно (free)

Vanessa Automation это инструмент для тестирования прикладных решений на платформе 1С, но он/она может больше, чем только тестирование.

11.10.2019    8723    0    OPM    12    

DevOps. Как это выглядит у нас

DevOps v8 1cv8.cf Россия Бесплатно (free)

DevOps в департаменте разработки 1С в крупной компании.

01.10.2019    10696    0    Repich    19    

Как стать контрибьютором Vanessa Automation?

Практика программирования Разработка Vanessa Automation v8 1cv8.cf Россия Бесплатно (free)

Краткая инструкция о том, как помочь проекту VA

15.07.2019    5628    0    fenixnow    42    

АИТП. Управляем информационными базами

Администрирование данных 1С v8 Абонемент ($m)

В статье, на демонстрационном примере, рассматривается использование конфигурации АИТП для автоматизации управления информационными базами 1С:Предприятие.

1 стартмани

29.05.2019    4286    3    blackhole321    0    

АИТП. Подсистема взаимодействия с рабочими серверами OneScript

OneScript v8 Бесплатно (free)

В статье описан механизм взаимодействия конфигурации АИТП с рабочими серверами OneScript.

22.05.2019    4865    0    blackhole321    33    

1Script.Web. Интернет-приложения на языке 1С

WEB OneScript Инструментарий разработчика v8 Бесплатно (free)

Запросы рынка таковы, что любое современное клиент-серверное приложение должно иметь веб-интерфейс. Почему бы не писать такие приложения на языке 1С? Андрей Овсянкин расскажет о возможностях разработки веб-приложений на базе 1Script, рассмотрит перспективы этого направления и в качестве демонстрации покажет «боевое» веб-приложение на новом движке – кроссплатформенную консоль администрирования парка кластеров 1С.

20.05.2019    18431    0    Evil Beaver    33    

Разворачиваем рабочий сервер OneScript для конфигурации АИТП

OneScript v8 Бесплатно (free)

В статье описана методика развертывания рабочего сервера OneScript для конфигурации АИТП, на ОС CentOS 7.

09.05.2019    5729    0    blackhole321    0    

Разработка и сценарное тестирование с Vanessa-ADD. Отчетность Allure. Автоматизация запуска сценариев

Практика программирования Vanessa Automation v8 Россия Бесплатно (free)

Формируем отчетность о результатах выполнения сценариев. Автоматизируем запуск.

26.02.2019    18378    0    Vladimir Litvinenko    27    

Добавляем онлайн-чат в web-приложение OneScript

OneScript v8 Бесплатно (free)

В статье рассмотрено подключение онлайн-чата к web-приложению на основе http-сервисов OneScript

24.06.2018    7128    0    blackhole321    1    

Макеты в http-сервисах OneScript

OneScript v8 Бесплатно (free)

В статье описана библиотека, реализующая механизм макетов в http-сервисах OneScript, аналогично платформе 1С:Предприятие.

03.06.2018    7936    0    blackhole321    1    

Перечисления в http-сервисах OneScript

OneScript v8 Бесплатно (free)

В статье описывается библиотека, реализующая механизм перечислений в http-сервиах OneScript, аналогичный механизму платформы 1С:Предприятие

03.06.2018    7585    0    blackhole321    13    

Сборка, тестирование, доставка приложения на onescript с помощью gitlab-ci

OneScript v8 1cv8.cf Бесплатно (free)

Сборка, тестирование, доставка приложения на onescript с помощью gitlab-ci на примере портирования на onescript функции daСклонение.

14.05.2018    12240    0    pallid    3    

TMSSQL - работа с базами данных MS SQL Server в скриптах на OneScript и из командной строки

OneScript v8 Бесплатно (free)

Представляю вашему вниманию библиотеку TMSQL для работы с базами данных на MS SQL Server. Библиотека подключается в качестве модуля или класса в скрипты, написанные на OneScript, а также может работать как независимое консольное приложение.

26.04.2018    14048    0    Tavalik    22    

Запуск Apache 2.4 с модулем 1С внутри Docker контейнера

Администрирование данных 1С WEB docker Apache v8 Бесплатно (free)

Про Apache и про Linux слышали, наверное, все. А вот про Docker пока нет, но он сильно набирает популярность последнее время и не зря. Поделюсь своим опытом и дам пошаговую инструкцию настройки веб-сервера Apache с модулем 1С внутри Docker контейнера на Linux хосте. При этом сам сервер 1С может находиться совсем на другой машине и на другой операционной системе. Это не важно, главное чтобы Apache смог достучаться до сервера 1С по TCP. В статье дам подробное пояснение по каждой используемой команде со ссылками на документацию по Docker, чтобы не создавалось ощущение непонятной магии. Также прилагаю git репозиторий с описанием всей конфигурации, можете попробовать развернуть у себя буквально за 10 минут.

04.04.2018    26391    0    petr.myazin    35    

Создаем свою библиотеку для OneScript

OneScript v8 Бесплатно (free)

Как упаковать свою библиотеку в пакет? Что такое загрузчик и зачем он нужен? Как вообще создать свою библиотеку? Разбираемся на примере.

06.03.2018    20717    0    nixel    36    

Обзор имеющихся библиотек OneScript

OneScript v8 Бесплатно (free)

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

14.11.2017    40710    0    nixel    86    

Вебинтерфейс для OneScript и 1С

OneScript v8 Россия Бесплатно (free)

Пример создания вебинтерфейса для OneScript с использованием библиотеки UfaScript.osb

30.06.2017    13288    0    andreosh    7    

OneScript и Ajax. POST-запрос и мои дальнейшие планы с фантазиями о будущем

OneScript v8 Россия Бесплатно (free)

Моя библиотека для OneScript (версия 3.0 от 09.06.2017 см.GitHab UfaScript) https://github.com/andreosh/UfaScript теперь позволяет посылать POST-запросы на сервер без использования сторонних библиотек типа jquery.

09.06.2017    17534    0    andreosh    3    

Опыт практического применения методики BDD на 1С. Написание сценариев

Математика и алгоритмы Практика программирования Vanessa Automation v8 Бесплатно (free)

Эта статья открывает цикл публикаций, в которых я хочу поделиться опытом использования методики BDD при разработке на 1С. В этой статье речь пойдёт о написании сценариев.

03.07.2016    22488    0    oleynik.dv    131