OSS Attribution Builder - это веб -сайт, который помогает командам создавать документы атрибуции для программных продуктов. Документ атрибуции - это текстовый файл, веб -страница или экран практически в каждом программном приложении, в котором перечислены используемые программные компоненты и их лицензии. Они часто находятся на экранах, и иногда их называют «уведомлениями с открытым исходным кодом», «кредитами» или другим подобным жаргоном.
Скриншот
docker-compose upadmin для проверки функциональности администратора. См. Документация:
Строитель атрибуции был изначально амазонским инструментом. Некоторые части должны были быть удалены, чтобы сделать это разумным проектом с открытым исходным кодом. Таким образом, есть несколько бородавок:
Все они будут исправлены вовремя, но имейте в виду, что некоторые вещи могут быть странными на некоторое время.
Если вы готовы интегрировать строителя атрибуции в свою среду, есть некоторые вещи, которые нужно настроить:
Откройте config/default.js и застрять вокруг. Эта конфигурация запускается при запуске docker-compose или иным образом запускает приложение.
Строитель атрибуции имеет поддержку для двух типов определений лицензий:
Идентификаторы SPDX просто используются для предварительного заполнения селектора лицензий, но не имеют (в настоящее время) текста. Более полезный тип лицензии - это «известная» лицензия, где вы (администратор) предоставляете текст лицензии и любые теги, которые вы хотите подать.
Для получения информации о добавлении собственных «известных» лицензий см. Лицензию README. В одном и том же каталоге есть две лицензии, которые вы можете посмотреть на примеры.
Теги позволяют добавлять произвольные правила проверки в лицензию. Они могут быть полезны для:
Для получения информации о том, что могут сделать теги и как создать свои собственные, см. Теги README.
Строитель атрибуции предлагает некоторую форму расширений, которые позволяют изменять поведение и внешний вид сайта на стороне клиента, не требуя отладка внутренних органов. Это может сделать обновление проще.
Смотрите расширения Readme для деталей.
Строитель атрибуции поддерживает возможность ограничить доступ к определенным людям или группам с использованием ACL Project. Они также могут быть использованы для администрирования и для «проверки» пакетов (подробности об этом в более позднем разделе). Реализация по умолчанию nullauth не очень полезна для большинства сред; Вы захотите написать свой собственный при более широком запуске.
Смотрите интерфейс базового автозаправления для деталей реализации.
Чтобы запустить сервер, вам следует запустить build/server/localserver.js после строительства с помощью npm run build . Есть некоторые переменные среды, которые вы, вероятно, захотите установить при запуске:
NODE_ENV , скорее всего, должен быть настроен на productionCONFIG_NAME должен быть установлен на базовое имя (без расширения) вашего файла конфигурации, который вы создали выше. По умолчанию «по умолчанию».Сервер работает только в HTTP. Вы, вероятно, хотите поместить тонкий веб -сервер HTTPS или прокси.
См. Предоставление для информации.
npm install , а затем npm run dev приведет вас в пользу местной разработки. Это запустит контейнер Docker для PostgreSQL, но будет использовать локальную копию TSC, WebPack, Node и т. Д., чтобы вы могли быстро итерации.
Как только все началось, вы можете открыть http://0.0.0.0:2425/webpack-dev-server/. Это автоматически перезагружает изменения браузера, а бэкэнд также автоматически перезагрузит с изменениями на стороне сервера.
Удобные переменные среды:
NODE_ENV : при разъяснении или development , вы получите полный исходный карты и журналы отладкиDEBUG_SQL : когда установлено (на что угодно), это покажет SQL -запросы на терминале, когда они выполняют npm test будет выполнять модульные тесты. Это в первую очередь сфокусированы на сервере.
npm run test-ui будет запускать Selenium Tests. Вы можете установить переменную среды SELENIUM_DRIVER если вы хотите, чтобы пользовательский драйвер - по умолчанию, она попытается использовать Chrome, и если он недоступен, он вернется к Phantomjs.
При отладке тестов пользовательского интерфейса может быть легче изменить standalone-chrome на standalone-chrome-debug в docker-compose.selenium.yml , а затем подключиться к контейнеру через VNC (порт 5900, пароль «секрет»). Запустите контейнер и ваши тесты отдельно:
docker-compose -f docker-compose.selenium.yml up --buildtsc && jasmine --stop-on-failure=true 'build/selenium/*.spec.js' Тесты проваливаются, по -видимому, нет причин? driver.sleep не работает? Убедитесь, что ваш тайм -аут жасмина на вашем тесте достаточно высок.