Приложение My Node необходимо развернуть в Windows и Linux. Основной пакет развертывания построен на сервере CI Linux.
Когда этот пакет развертывается в Windows, он сразу падает из-за отсутствия собственных привязок, например, для sqlite. Восстанавливаются только привязки для платформы сборки (Linux).
При приближении крайнего срока мы просто устанавливаем конфигурацию сборки Windows, которая выводит специальный пакет Windows, содержащий соответствующие привязки, и выбираем соответствующий артефакт для связывания в установщике.
Это работает, но кажется хрупким, поскольку нам нужно было бы синхронизировать версии Node между двумя иначе не связанными средами. Я хотел бы иметь возможность сделать это с одной конфигурацией сборки.
Я не мог найти никакого руководства о том, как это сделать. Я представляю себе параметр командной строки, например от --platform=windows
до npm ci
, или модификацию package.json
, но я не смог найти никакой информации об этом. Предположительно, это достаточно редкое требование, и, возможно, нет никаких инструментов для этого, что было бы позором.