Giter Club home page Giter Club logo

crserver-filter's Introduction

Прокси-сервер для проверки формата комментариев в хранилище конфигураций 1С

Назначение

Простой инструмент для контроля формата комментариев, которые разработчики указывают при помещении изменений в хранилище. Это прокси-сервер nginx, который с помощью кода на Lua анализирует запросы и выдает 400 Bad Request в случае, если комментарий к версии хранилища не указан или указан не по формату. Проверка осуществляется не только при помещении изменений, но и при редактировании версий хранилища "задним числом".

По умолчанию реализована одновременно строгая и наивная проверка комментария. Корректный комментарий:

  • не пустой
  • начинается на #, после чего должны следовать либо 5 цифр, либо строка "нетзадачи"
  • содержит два перевода строки

Примеры корректных комментариев:

#12345 Обработка заполнения ТЧ "Товары"

Добавлена обработка заполнения ТЧ "Товары" документа "Реализация товаров и услуг"
#нетзадачи

Тех. долг

Код проверки комментария на соответствие формату можно модифицировать под свои потребности в conf.d/crserver-filter.conf.

Работоспособность решения проверена на конфигурациях размера ERP 2.4 при активной работе 10+ разработчиков, в том числе в режиме подключения пустой конфигурации к хранилищу.

Использование

  • внести изменения в conf.d/crserver-filter.conf
    • указать адрес прокси-сервера и адрес сервера хранилища
    • уточнить формат комментария к версии хранилища
  • внести изменения в docker-compose.yml
    • указать порт прокси-сервера (по умолчанию 3333)
  • выполнить docker-compose up -d
  • открыть Конфигуратор, закрыть хранилище, открыть хранилище, вместо адреса реального хранилища указать прокси:порт

БЫЛО: http://srv-app-01/CRServer/repository.1ccr/ERP_Master

СТАЛО: http://srv-ci-01:3333/CRServer/repository.1ccr/ERP_Master

После проверки работоспособности необходимо изменить порт основного http-сервера хранилища, обновить его в conf.d/crserver-filter.conf, перезапустить контейнер.

Ссылки

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.