DevOps в 1с
651 subscribers
14 photos
1 video
36 links
Привет, меня зовут Иванов Егор.
Я DevOps-специалист и буду рассказывать о том, что происходит в мире 1c.
Download Telegram
Всем привет!

Хорошие новости для всех, кто использует докер и кубернетес для своих ci - контуров!
Немного новостей проекта firstBitMarksistskaya/onec-docker.

Усилиями контрибьюторов репозиторий получил следующие обновления:
* исправление сборки слоя jdk - переезд на temurin17, так как adoptopenjdk окончательно "все"
* исправление сборки слоя edt - переезд на temurin11
* исправлена сборка образа client-vnc (скорее заглушка, по-хорошему там нужно сам базовый образ Debian обновить на более современный)
* добавлена сборка агентов для kubernetes-плагина
* во всех докерфайлах аргумент DOCKER_USERNAME заменен на DOCKER_REGISTRY_URL. Не забудьте обновить свои скрипты и конфигурации переменных среды.
* скрипты, собирающие агенты для docker swarm плагина, переименованы - добавлен постфикс -swarm-. Тоже пройдитесь по своим конфигам, пожалуйста.

Да, немного breaking changes, но зато порядка теперь больше.
👍3
Всем привет! 👋

Продолжаю делиться историей создания "отказоустойчивого" кластера.

В чём его фишка?

🔹 4 автономные ноды(Zimaboard), объединённые в HA кластер.
🔹 Каждая нода оснащена двумя SSD SATA 3.0, объединёнными в ceph-pool. Это означает, что мы можем потерять до 2 нод или 5 SSD, не утратив функциональности.
🔹 Несмотря на то, что zimaboard – не самый мощный компьютер, тяжёлые задачи будут выполнены "производительной" нодой с 8 ядрами и 32 ГБ ОЗУ. Но ключевые ресурсы (облачное хранилище, менеджер паролей, SSO-портал, DNS-сервер) работают на HA кластере.

Для эстетики и удобства, весь этот "комплект" я упаковал в корпус от ПК. Теперь всё аккуратно, без лишних проводов. К серверу подходят только два кабеля: питание и сеть.

Среди моих дальнейших планов:
🔸 Использовать POE. Но нужны редкие POE-сплиттеры с высокой скоростью и POE-свич.
🔸 Добавить PCI-e расширения – ожидается доставка кабелей экстендеров.
🔸 Резервировать питание и сеть. Здесь на помощь придёт POE-свич.

Этот проект дал мне глубокое понимание виртуализации, сетевого взаимодействия и механизмов доступности.

Итак, друзья, какой из реализованных сервисов вас интересует больше всего?
1️⃣ Виртуальный кластер: распределение ресурсов, запуск ВМ и т.д.
2️⃣ Файловое хранилище: настройка и использование ceph в proxmox.
3️⃣ Инфраструктура как код: инструменты для автоматической развертки и управления окружением.

Оставляйте свои комментарии ниже! ⬇️
🔥8👍4
Привет всем!

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

Итак, первое, о чем я хочу рассказать - это сбор журнала регистрации.

Как вы уже знаете, у меня есть механизм сбора технологического журнала при помощи Vector.
Теперь я рад поделиться с вами новым репозиторием, предназначенным для сбора журнала регистрации.

Зачем это надо?
Для того чтобы подключать новую базу к выгрузке логов было просто как раз-два-три!
1) Добавляем базу 1с на сервере
2) Создаем базу для хранения логов в clickhouse
3) Добавляем запись в таблицу маппинга.

Все! Вы восхитительны!🎉

Вот основные возможности этого решения:

🔸 Сбор логов для всех или выбранных баз кластера.
🔸Возможность сбора логов с нескольких серверов и распределения их по различным базам Clickhouse.
🔸Сбор метрик и ошибок.
🔸Возможность масштабирования и гибкость обработки.
🔸Возможность экспорта логов не только в Clickhouse, но и в десятки различных систем.
🔸Сбор логов в формате, аналогичном EventLogExporter Евгения Акпаева, что обеспечивает возможность безболезненного перехода в случае необходимости.

Это решение работает стабильно, без каких-либо проблем. На данный момент аптайм сборщика составляет более 180 дней.

В репозитории представлен вариант использования в Docker, но на самом деле все работает под любой ОС, которую поддерживает Vector, с минимальными доработками.

Буду рад услышать вашу обратную связь!
👍7🔥5❤‍🔥1
Всем привет!

Я думаю, что многие из вас знают про jenkins-lib.
Как по мне - это один из лучших примеров библиотечного подхода к контролю качества конфигурации.

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

Буквально пару дней назад, была добавлена возможность загрузки расширений конфигурации!
- Расширения можно хранить как в виде исходников
- Можно хранить в виде скомпилированных cfe
- Реализовано скачивание расширений по ссылке.

Надеюсь, что многим из вас это нововведение будет крайне полезно.
🔥8
Всем привет!

Не так давно, я уже делился с вами новостями по поводу сборщика Журнала регистрации.

И вот, я довел до ума вариант сборщика логов в докер!

Теперь собирать логи с десятков и сотен баз будет как никогда просто и комфортно.

Встречайте: segateekb/vector_eventlog

Основные возможности:

🔹 Парсинг настроек кластера для выяснения UUID базы( больше не надо искать идентификаторы руками)
🔹 Поддержка секретов докер. Теперь можно безопасно передавать чувствительную информацию в контейнер
🔹 Автоматическое создание баз в clickhouse перед стартом сбора
🔹 Автоматическая очистка старых файлов журнала
🔹 Ну и, напоследок, получение списка доступных для сбора баз.

В дальнейших планах:

🔹Кроссплатформенный менеджер конфигураций и настроек на oscript, для удобства настройки сбора.(для тех, у кого нет контейнеров)
🔹Поддержка большего количества необходимых параметров и тд и тп.
🔥13👍12
Всем привет!

Коллеги из ИТ-Экспертизы выпустили новый релиз своей консоли администрирования PUSK

Из основных нововведений:
🔹 Для текущего браузера дерево подключений запоминает свою позицию и восстанавливает его после обновления страницы.
🔹 Теперь можно выгружать ярлык для запуска любой ИБ из списка(Интересно, а вариант с несколькими центральными серверами они поддержали?🤔 Напишите в комментариях, кто проверит)
🔹 Диапазон IP-портов расширен до пятизначных значений. Теперь можно добавлять рабочие сервера с портами в диапазоне 00001-65535.
🔹 В ТНФ добавлен Сервис полнотекстового поиска, версия 2.

Ну и как обычно docker-образ обновился и доступен для использования.
Пример:
docker run -d \
--name=pusk \
-v pusk_data:/opt/pusk/data \
-v pusk_log:/opt/pusk/log \
-p 8080:8080 \
segateekb/pusk:latest
🔥7
Ну и чтобы не откладывать в долгий ящик.

В образе postgres_pro Появилась 16 версия.

По прежнему работают предварительно собранные конфигурации, а так же переменные среды для первоначальной настройки инстанса.
Подробности читайте в ридми.
👍2
Привет!

Я уже не раз упоминал здесь про jenkins-lib, но не лишним будет напомнить еще раз.

На мой взгляд, это один из самых удобных, легко настраиваемых и масштабируемых конвейеров контроля качества кода для 1С.

В нем есть практически всё:

🔸 Загрузка конфигурации из исходников или хранилища
🔸 Загрузка расширений
🔸 Смоук-тесты
🔸 BDD тесты с использованием Vanessa-ADD или Vanessa Automation
🔸 Синтаксический контроль
🔸 Юнит-тесты с использованием yaxunit
🔸 Проверка в EDT
🔸 Анализ кода с помощью SonarQube

Одним из самых частых запросов была возможность загрузки готовой базы, в которой выполнены все необходимые первоначальные настройки перед запуском тестов.
🚀Вы просили - мы сделали!🚀 Теперь можно подготовить эталонную базу и использовать её!

Поддерживается загрузка как dt-файлов, так и готовых файлов формата 1CD.

Надеюсь, теперь качество вашего кода поднимется на новую высоту! 🤔
🔥22👍32
Media is too big
VIEW IN TELEGRAM
Всем привет!

Женя Акпаев, известный многим как создатель выгрузки из ЖР в clickhouse, В очередной раз подготовил очень крутую штуку.

Встречайте, дебаг-адаптер 1с для VSCode!
Теперь можно поглядеть что-там в базе происходит не открывая конфигуратор!

🔸 Работают точки останова
🔸 Подключение к серверу и клиенту
🔸 Стек вызовов
🔸 Просмотр локальных переменных(То чего в конфигураторе никак не могут нормально реализовать)
🔸 Ну и масса всего вкусного!

Надо понимать, что это все еще ранняя версия, и могут быть косяки, но сам факт подобной реализации - это очень круто!
В планах там еще вагон всяких вкусностей по типу инкрементальной загрузки изменений перед стартом отладки...
В общем точно стоит обратить внимание на проект, и как минимум поставить ему звезду на гитхабе!
🔥19👍8👏41🤩1
Всем привет!

Начался INFOSTART TECH EVENT 2024!

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

Потому даже если вы не купили билет, бегите на сайт и выбирайте доклады которые хочется посмотреть!

А в комментариях делитесь, кого из докладчиков вы ждёте больше всего.
🔥7🙏2
💬 Всем привет!

Я уже затрагивал тему OpenAPI и документирования интеграций, но снова и снова сталкиваюсь с одними и теми же проблемами. Узнайте знакомые ситуации:

🔹 "Опять из этой 1С что-то непонятное прилетает."
🔹 "Отправил им сгенерированный JSON, но они пока не ответили, правильный он или нет. Жду неделю, у них разработчик в отпуске."
🔹 "Вы не присылаете обязательные свойства в интеграционном пакете!"
🔹 "В документации одно, а в коде таких свойств вообще нет!"
...и этот список можно продолжать бесконечно.

Это всё следствие разрыва между контрактом (документацией) и реальностью.

🧐 Как это происходит?

Сегодня аналитики согласовали красивую схему интеграции, подписали её, ударили по рукам и передали на реализацию.
Завтра в процессе разработки выяснилось, что чего-то не хватает, и это просто добавили в код. Документацию обновить решили "потом", потому что у нас agile: "результат важнее документации... вот это вот все..."
И всё… Документация больше никогда не будет актуальной, потому что она никак не связана с интеграцией и не участвует в процессе.

💡 Как решить проблему?
Добавить обязательную валидацию интеграционных пакетов по спецификации!

Это решит сразу несколько задач:
1️⃣ Контракт станет максимально проработанным, ведь он напрямую влияет на отправляемые сообщения.
2️⃣ Документация всегда будет актуальной.
3️⃣ Разработчики смогут мгновенно узнать, соответствует ли их пакет требованиям, без недель ожидания.

🛠 Для удобства я написал библиотеку валидации для 1С.
Просто передайте пакет в метод — на выходе получите массив ошибок валидации.

📌 Библиотека доступна на GitHub
📖 Также можно почитать статью на Инфостарте!

👉 Делитесь опытом и внедряйте! 🔥
🔥15
Полтора года работы. 199 комментариев и нескончаемое обсуждение в личке. 111 коммитов. Более 2000 измененных строк кода.

Дима, ты это сделал. И даже меня не удавил дистанционно. Огромное тебе спасибо.

Замер покрытия кода тестамииз коробки доступен в jenkins-lib 0.14.0!
🔥14
Ну это просто праздник под новый год!
Мы строили-строили, и наконец построили, ура!
Forwarded from Vanessa OpenSource
⚡️Выпущен🌲 предновогодний 🌲 релиз Vanessa-runner v2.5.0⚡️

🔥Огромное спасибо @Segate за подготовку новых фич релиза и переезд CI\CD на Github actions
🔥Больщущее спасибо @yukon39 за PR с поддержкой автономного сервера!
🔥Большое спасибо всем контрибьюторам за ваши доработки и участие в проекте!

## Приветствуем новых контрибьюторов
* atyz2013 (ник на Гитхабе) - 631

## Изменения
* Добавлен параметр ibsrv для запуска команд с использованием автономного сервера 645
* Использование ibcmd для серверных баз 639
* Переезд CI\CD на Github actions
* 635 636 646 648 649 650

* Исправление поведения команды init-dev с флагом --dt 625
* Флаг --dt в init-dev не работал, если в dt есть пользователи
* Убрано лишнее обновление, для случая, если после инициализации бд или загрузки dt больше действий не производилось.
* Вернул поведение при котором сначала грузилась база из dt, а потом на нее накатывались исходники. Можно опять использовать конструкции вида init-dev --dt ./xxx.dt --src ./src/cf При этом будет сначала загружен дамп, а потом будут загружены исходники - cf, src, хранилище

* Инкрементальная загрузка на основании расхождений не только с предыдущим коммитом, но и с текущей конфигурацией 637
* Добавлен генератор json-схемы и обновлена json-схема 644
* Добавлен параметр --lockend для указания времени завершения блокировки сеансов 631
* Если открытие конфигуратора происходит интерактивно и не требует ожидания - сообщение "Работа Конфигуратора завершена" не выводится 632

* Исправлены ошибки в примере example.env.json 608
* уточнены тесты и расчет покрытия
* Фича "Приоритеты настроек" и и новые переменные окружения 642
* Объединил бдд и юниты в один файл для корректного расчета покрытия 638
* Рефакторинг работы с настройками + дополненные тесты для настроек 643

Full Changelog: https://github.com/vanessa-opensource/vanessa-runner/compare/v2.2.22...v2.5.0


Ссылки на каждый PR есть в описании релиза
🔥8
Всем Привет!

Давно не писал, а у меня есть чем поделиться!

Наконец-то дошли руки, и я реализовал нативный парсер YAML для 1С и oScript! 🎉
Никаких внешних компонент или сторонних инструментов — чистая платформа.

Скоро в подсистеме интеграции можно будет напрямую указывать OpenAPI-схемы в YAML!
➡️ Больше никакой ручной конвертации в JSON ( что особенно радует при работе с внешними спецификациями).

🙏 Огромный респект
Отдельное спасибо @dhurricane за то, что "притянул" стандартный yaml-тест-сьют! агенерировать такое количесвто корнер-кейсов руками я бы не смог никогда.

🛠️ Как использовать?

Для oScript:
Полная обратная совместимость с библиотекой yaml!
Просто замените #Использовать yaml `→ `#Использовать oscript-yaml — и всё заработает.

Для 1С:
Качайте обработку-парсер по этой ссылке (не забудьте оставить плюсик в публикации 😉).
👍15🔥7
🔥 Голосование за доклады INFOSTART TECH EVENT 2025 стартовало!

Я подал заявки с двумя докладами:

🗣️ 1. Подсистема интеграции: практика api-first подхода
* Зачем переходить на api-first при проектировании интеграций?
* Первый публичный релиз "Подсистемы интеграции"!
* Методология и готовое решение для ваших интеграционных задач.

🗣️ 2. Из хранилища в Git: без EDT и сожалений
* Ответы на самые больные вопросы миграции.
* Как избежать подводных камней при работе с действительно большими базами?


Если темы вам близки или просто интересны — прошу голосовать, и до встречи в октябре.
👍12🔥74
DevOps в 1с pinned «🔥 Голосование за доклады INFOSTART TECH EVENT 2025 стартовало! Я подал заявки с двумя докладами: 🗣️ 1. Подсистема интеграции: практика api-first подхода * Зачем переходить на api-first при проектировании интеграций? * Первый публичный релиз "Подсистемы…»