Пользовательские блоки рабочего процесса

Workflow blocks are reusable, composable units of automation – the building blocks from which pipelines are assembled without rewriting the same logic for every workflow.

В аппаратном конвейере CI/CD одни и те же операции повторяются снова и снова: обратиться к списку утвержденных поставщиков, проверить, что обязательные параметры заполнены, уведомить нижестоящую систему, провалидировать определенный класс проектных данных. Без блоков workflow каждая workflow-последовательность заново реализует эту логику независимо. С блоками логика определяется один раз, тестируется один раз и затем компонуется везде, где она нужна.

Блок workflow инкапсулирует конкретную операцию — ее входы, выходы и поведение — и предоставляет ее как шаг, который можно использовать в любой workflow-последовательности. Блок отвечает за реализацию. Workflow отвечает за последовательность.

Что дают Workflow Blocks

  • Reuse of validated logic — блок, реализующий проверку соответствия, вызов внешней системы или преобразование данных, тестируется изолированно, а затем повторно используется в нескольких workflow-последовательностях. Когда базовое требование меняется — например, в список ограниченных компонентов добавляется новая позиция или отдел закупок требует новый параметр — блок обновляется один раз, и изменение распространяется на все workflow-последовательности, которые его используют.

  • Separation of concerns — инженер, который хорошо понимает систему закупок, реализует блок поиска по AVL. Инженер, который определяет процесс выпуска, встраивает его в конвейер. Ни одному из них не нужно в деталях разбираться в предметной области другого. Интерфейс блока — это контракт между ними.

  • Incremental pipeline construction — команды могут начинать с простых ручных workflow-процессов и со временем добавлять сложность, вводя блоки для операций, которые сейчас выполняются вручную. Каждый блок, добавленный в workflow, — это еще одна задача, которая больше не зависит от того, вспомнит ли кто-то ее выполнить.

  • Standardization across teams — в организациях, где несколько команд поддерживают собственные потоки проектирования, общие блоки workflow обеспечивают единообразное поведение на уровне шагов, даже если общая структура конвейера у разных команд отличается. Например, блок проверки соответствия работает одинаково независимо от того, встроен ли он в workflow выпуска PCB или в workflow утверждения библиотек.

Блоки и скрипты

Скрипты — это автономные операции, вызываемые напрямую. Блоки workflow — это компонуемые единицы, предназначенные для сборки в более крупные конвейеры. Блок часто вызывает скрипт: скрипт реализует логику, а блок предоставляет интерфейсный контракт, который делает эту логику пригодной для использования в контексте workflow.

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

 

AI-LocalizedЛокализовано с помощью ИИ
Если вы обнаружили проблему, выделите текст/изображение и нажмитеCtrl + Enter, чтобы отправить нам свой отзыв.
Content