Сказ про то, как я 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 8 17.06.18 17:42 Сейчас в теме
Плюс за первопроходчество. Вечно нет времени нормально полазить по граблям.
3. olegtymko 599 18.06.18 02:19 Сейчас в теме
(1) Так Серебрянная пуля давно это делает и методичку выпустила.
GreenDragon; OerlandHue; +2 Ответить
8. necropunk 8 18.06.18 11:09 Сейчас в теме
(3) При всем уважении к их безусловно полезному труду - пару раз пробовал осилить, еще до методички, но времени катастрофически не хватало. А сейчас читаю - и узнаю проблемы, на которые натыкался. Думаю, я не один такой, может кому поможет и хорошо. Все-таки лично мне по этому пути пока тяжеловато следовать.
12. t.v.s. 101 18.06.18 11:48 Сейчас в теме
(3) А где почитать эту самую методичку?
17. olegtymko 599 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 725 18.06.18 09:55 Сейчас в теме
(4) А обычный шедулер умеет консолидировано запускать задачи на разных серверах?
7. ImHunter 211 18.06.18 10:17 Сейчас в теме
(6) Это уж слишком "продвинутый" пример)
(4) На примере публикации - если внимательно прочитать, то можно увидеть, что используется не просто шедулинг. Этот шедулинг зажигает триггер в зависимости от модифицированности отслеживаемого файла. Аналогично такое сделать на ПоШ - уже думать надо.
Можно немного развить тему публикации и повысить безопасность - Дженкинс позволяет хранить пароли в специальном хранилище. И их (пароли) можно потом не хардкодить в скрипты. Как аналогичное сделать в ПоШ - сходу и не знаю.
Вообще, публикация охватывает совсем маленький кусочек функционала Дженкинс'а. И кажется, что зачем он (Джен) вообще нужен. Но аппетит приходит во время еды.
Захотим мы, к примеру, выгружать cf обновленной конфы в artifactory. В Джен мы добавим 2-3 шага. И это заработает.
В ПоШ, да, мы тоже это сможем сделать. Только сначала почитаем кучку доков, (напишем-отладим) * N раз. И потратим на это в 10 раз больше времени и нервов.
PLAstic; t.v.s.; +2 Ответить
21. grumagargler 679 18.06.18 16:21 Сейчас в теме
(7) еще один вариант :-) всё в тестере написать, на 1с, и работу по блокировке пользователей, и пакетный запуск конфигуратора и мониторинг изменения файла по расписанию или событию (правда компонента только под виндовс).
10. Gureev 18.06.18 11:30 Сейчас в теме
(6) обычный шедулер умеет запускать задание по расписанию ) легко, быстро, не жрет ресурсы, и не требует установки)
Задания пишутся в скрипте на питоне или ПоШе, которые умеют намного больше чем дженкинс)
COMPER; talych; +2 Ответить
11. t.v.s. 101 18.06.18 11:38 Сейчас в теме
(10)А по событию из системы контроля версий умеет? А отслеживать изменения, и запускать билд, только когда что-то поменялось?
Не, я не спорю, можно все скриптами сделать, даже сам некоторые вещи предпочитаю писать на питоне, чем использовать готовое. Но меру во всем нужно знать.
13. Gureev 18.06.18 11:50 Сейчас в теме
(11) Ну так это не задачи шедулера, это задачи скрипта.
Просто забавляет, что 1Сники узнали про jenkins и пихают его везде куда пихается.
COMPER; talych; +2 2 Ответить
14. ImHunter 211 18.06.18 11:54 Сейчас в теме
(13) Ну видишь ли, мы привыкли к простому/хорошему. А ты, вероятно, си-шник в душе?
CodeNull; Boulala; +2 Ответить
15. Gureev 18.06.18 11:56 Сейчас в теме
(14) Не люблю когда пиццу доставляют камазом)
16. t.v.s. 101 18.06.18 11:56 Сейчас в теме
(13) Не хочу спорить. Любую задачу можно решить сотней разных способов, каждый выбирает для себя.
23. herfis 404 18.06.18 17:22 Сейчас в теме
(13) Не куда пихается, а по прямому назначению - для сборки и диплоя.
Да, можно было обойтись скриптами. Но это как если тебя просят простой складской учет, а ты вместо установки типовой конфы фигачишь самописку за три минуты. Все, вроде бы, отлично и требованиям (текущим) удовлетворяет (в принципе). Но вот дальше возникают ньюансы :)
JohnyDeath; +1 Ответить
19. awk 725 18.06.18 14:14 Сейчас в теме
(10) Когда напишите подобие TeamCity, TFS или Jenkins - дай знать, я заценю... :)))
JohnyDeath; +1 Ответить
22. Gureev 18.06.18 16:34 Сейчас в теме
24. awk 725 18.06.18 22:12 Сейчас в теме
(22) Так Jenkins то же со скриптов начинался... Хочешь изобретать велосипед - изобретай. Получиться лучше - буду использовать.
5. awk 725 18.06.18 09:53 Сейчас в теме
С кодировкой проблем нет. Просто надо прописать в реестре: HKCU\Console\CodePage = 65001
9. Evil Beaver 6960 18.06.18 11:30 Сейчас в теме
Супер, спасибо за статью
18. herfis 404 18.06.18 12:41 Сейчас в теме
Плюс не глядя (почти).
JohnyDeath; +1 Ответить
20. pumbaE 641 18.06.18 15:09 Сейчас в теме
sleep не хватает пред тем как делать kill, если же это не быстрый bugfix.
Теоретически алгоритм должен быть таким:
 
lock
loadrepo
sleep (до времени, которое поставили в lock)
kill
dbupdate
unlock 
PLAstic; SirYozha; awk; +3 Ответить
25. awk 725 18.06.18 22:27 Сейчас в теме
(20) Мое почтение. И конвеера должно быть два (если по феншую):

1. сборка (copydb, loadrepo, test, publish) - запускать по изменению хранилища
2. обновление (loadcf,backup, updatedb, userupdate) - запускать по расписанию и наличию обновления
SirYozha; +1 Ответить
26. nicxxx 239 19.06.18 10:44 Сейчас в теме
28. kuzyara 1108 21.06.18 04:04 Сейчас в теме
29. boggonzikov 407 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 29 01.07.19 13:01 Сейчас в теме
(31) деплойка не развивается.
Попробуйте vannesa-runner из того же сообщества.
Весь функционал переехал в него.
JohnConnor; +1 Ответить
33. Pavel_Dv 01.07.19 14:53 Сейчас в теме
Уже осознал и переписал скрипты под runner
Проблема в конечном итоге была такая:
На кластере было 2 рабочих сервера. И ни в runner, ни в deployka не нашлось аргумента для выбора нужного сервера.

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

Всё так. Покажет шаг. Позже добавлю скрины.
36. SergeyMordvin 546 19.10.20 16:21 Сейчас в теме
(35) уже разобрался, спасибо. Надо пайплайн у дженкинс использовать
Оставьте свое сообщение

См. также

Hello world в Vanessa-ADD bddRunner

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

Минимальный пример на Vanessa-ADD bddRunner без теории. При написании использовались: 1С 8.3.10.2753, Vanessa add 6.6.5.

24.02.2021    316    kirinalex    0    

reperr - автоматическая регистрация ошибок для 8.3.17+

Управление задачами OneScript v8 Бесплатно (free)

Представляю вашему вниманию приложение для автоматической регистрации и обработки ошибок, которые возникают при работе в информационных базах на платформе 1С:Предприятие 8.3.17+

04.02.2021    4651    ovcharenko.di    4    

Практика применения DevOps. Тестирование

DevOps Сценарное тестирование Vanessa Automation СППР v8 1cv8.cf Бесплатно (free)

В третьей части мастер-класса «Практика применения DevOps» на конференции Infostart Event 2019 Inception выступила Светлана Попова. Она рассмотрела возможности использования двух инструментов тестирования от фирмы «1С» – «Сценарного тестирования» и связки СППР и Vanessa Automation, и рассказала про плюсы и минусы каждого из этих вариантов.

11.12.2020    2840    SvVik    0    

Практика применения DevOps. Работа с SonarQube

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

Во второй части мастер-класса «Практика применения DevOps» на конференции Infostart Event 2019 Inception выступил Виталий Подымников – он рассказал про процесс проверки качества кода и использование SonarQube для работы с ним.

07.12.2020    3713    arcius_7012    10    

Тестирование серверного поведения с Vanessa Automation

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

Обзор модуля "ИнициаторДанных" (версия VA 1.2.034), пример скрипта

14.09.2020    1586    unichkin    14    

Управление конфигуратором в режиме агента с помощью python

Администрирование данных 1С Архивирование (backup) Скрипты автоматизации v8 1cv8.cf 1С:Франчайзи, автоматизация бизнеса Россия Бесплатно (free)

Управление конфигуратором 1С:Предприятие в режиме агента. Опыт применения с реализацией на языке python. Результат получен с использованием интерактивной сессии оболочки через invoke_shell().

06.08.2020    1404    Alex10166    2    

Мастер-класс "Ведение проектов в типовых конфигурациях 1С"

Управление проектом CI/CD БСП (Библиотека стандартных подсистем) v8 Бесплатно (free)

При адаптации типовой конфигурации под особенности учета в компании важно обеспечить возможность легкого обновления поставки. Как организовать архитектуру решения и продумать процесс быстрой и эффективной разработки без ущерба типовой функциональности, на конференции Infostart Event 2019 Inception рассказал ведущий программист компании BIA-Teсhnologies Алексей Князьков.

05.06.2020    4470    AKnyazkov    3    

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

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

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

01.06.2020    2981    SvVik    1    

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

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

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

29.05.2020    4506    grumagargler    14    

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

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

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

13.03.2020    10290    Vladimir Litvinenko    8    

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

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

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

03.02.2020    5709    ivanov660    2    

Vanessa Automation + СППР

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

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

07.11.2019    13909    SvVik    14    

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

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

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

30.10.2019    10185    OPM    12    

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

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

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

14.10.2019    3169    artkor    2    

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

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

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

11.10.2019    11877    OPM    36    

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

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

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

01.10.2019    11737    Repich    19    

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

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

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

15.07.2019    7106    fenixnow    43    

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

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

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

1 стартмани

29.05.2019    4994    blackhole321    0    

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

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

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

22.05.2019    5551    blackhole321    33    

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

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

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

20.05.2019    21225    Evil Beaver    33    

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

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

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

09.05.2019    6437    blackhole321    0    

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

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

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

26.02.2019    24200    Vladimir Litvinenko    28    

Git + 1С. Часть 1. Как подключиться к команде разработки и начать использовать Git

Инструментарий разработчика Управление проектом v8 1cv8.cf Бесплатно (free)

Первая статья из цикла инструкций по работе с Git в 1С-разработке. Рассмотрим, как настроить рабочее место, как получить свою "копию" проекта для разработки и приступить к полезным действиям. Все примеры будут изложены в рамках трёх практических кейсов: 1. Моя команда дорабатывает типовую конфигурацию, использует приватный репозиторий на BitBucket, в котором версионируются внешние отчеты/обработки, расширения конфигураций и правила обмена; 2. Я участвую в стартап-команде, которая разрабатывает свою конфигурацию с использованием Git и GitLab; 3. Я принимаю участие в развитии OpenSource-продукта на GitHub как заинтересованный разработчик (контрибьютор).

18.10.2018    79182    stas_ganiev    82    

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

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

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

24.06.2018    7736    blackhole321    1    

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

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

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

03.06.2018    8567    blackhole321    1    

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

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

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

03.06.2018    8085    blackhole321    13    

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

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

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

14.05.2018    13471    pallid    7    

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

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

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

26.04.2018    15211    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    30379    petr.myazin    36    

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

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

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

06.03.2018    22806    nixel    36    

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

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

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

14.11.2017    46694    nixel    87    

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

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

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

30.06.2017    14030    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    18074    andreosh    3    

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

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

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

03.07.2016    24364    oleynik.dv    131