Рубрики
Uncategorized

Оставайтесь в контроле с вашим частным реестром NPM

Долго прошли времена, когда веб-сайты были построены с нуля (кто-нибудь помнит CGI-Bin?) Его… Помечено JavaScript, NPM, NODE, DEVOPS.

Долго прошли времена, когда веб-сайты были построены с нуля (кто-нибудь помнит CGI-Bin?) Не секрет, что сегодня скота, интерактивная сеть сегодня построена на модульных технологиях, веб-сайты часто используют сотни, если не тысячи пакетов JavaScript. Что происходит, когда кто-то или что-то ломается?

Полное раскрытие: я один из основателей за продуктом Bytesafe ( https://bytesafe.dev/ ) Это предлагает бесплатные, безопасные и высокодоступные частные реестры NPM.

Сегодня большинство разработчиков там только коснитесь доли кода, необходимого для запуска веб-сайтов, которые они строят. Это, конечно, замечательная вещь: уметь использовать и повторно использовать код, который кто-то еще написал и (надеюсь) все еще поддерживает. И это также ключ к возможности доставить быстрые результаты с высоким качеством.

Для больших веб-сайтов не редкость, чтобы иметь более 1000 (!) Зависимостей. Например, для тех, кто хочет начать изучать рамки дизайна Facebook, реагируют, есть официальное «rev vet Get Carter App» ( https://create-react-app.dev/ ), который устанавливает современную сеть Приложение с использованием реагирования и других зависимостей. В зависимости от версии приложение React имеет 1500+ зависимостей для различных пакетов JavaScript, предоставленной несколькими сотнями участников.

Представь, что один из тех разработчиков имеет плохой день, или хуже: ослабляет его учетные данные и получают свой аккаунт Github. Как бы такое событие распространялось на повседневную жизнь разработчиков и компаний по всему миру? Один (в) известное событие приходит на ум: Когда разработчик Aber Koçulu снял одну из своих пакетов из НПМ. что вызвало много строя, чтобы разбить мир в начале марта 2016 года.

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

Это была одна из проблем, которые мы отправились к решению с Bytesafe (https://bytesafe.dev/) Какое в нем наиболее основном виде можно использовать в качестве прокси NPM.

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

Итак, как вы используете частный реестр NPM? Это легко, используя инструменты, которые вы уже знаете. Мы стремимся быть совместимы с инструментами, которые обычно используются, то есть NPM, пряжа и т. Д., Так что не должно быть высокого порогового значения для начала.

Сначала создайте бесплатный аккаунт в https://bytesafe.dev (Нажмите на регистрацию) Выберите уникальное имя для своей учетной записи, вход и вуаля! Вы готовы пойти!

После создания учетной записи создается начальный («по умолчаний) реестр. Создание дополнительных реестров можно сделать двумя способами из веб или из Bytesafe CLI, если вы предпочитаете свой терминал.

Используя реестр Bytesafe по умолчанию, вы можете подключиться к внешнему миру, мы настроили по умолчанию * UPStream, * который позволяет вытащить пакеты из NPMJS из того же реестра, поскольку вы держите личную пакеты. Для получения дополнительной информации относительно вверх по течению Смотрите эту статью Отказ Это облегчает ваш рабочий процесс, так что вам не нужно использовать несколько реестров.

Во-первых, что вам нужно сделать на стороне клиента, это осознает вашу среду о вашем новом реестре:

npm config set registry '[https://example.bytesafe.dev/r/default'](https://example.bytesafe.dev/r/default')
npm login

Поставьте свои учетные данные, которые видны на странице реестра на bytesafe.dev.

Потянув пакет из вашего реестра так же просто, как:

npm install 'some-package'

Если указанный реестр Bytesafe не содержит конкретного пакета, пакет будет вытащен из вышестоящего (если настроен) и хранится в реестре.

Публикация в вашем частном реестре так же просто:

npm publish 'some-package'

0.11.1? 0.11.2?

Еще один вызов, который мы, как разработчики, испытываемые время от времени, убедились, что все в команде (и командам мы взаимодействовали) использовали пакеты и версии.

Среда разработчика/CD/QA не всегда в синхронизации, была общим источником ошибок, путаницы и причина потраченного впустую.

Вы когда-нибудь проводили время, пытаясь помочь коллеге понять, почему ничего не состоит, пока один и тот же код работает просто Fine ™ в вашем местном ENV? Просто чтобы позже понять, что он или она использует другую версию некоторой зависимости, которую вы долго забыли, почему вам нужно в первую очередь? Ну у меня есть.

Конечно, есть много способов решить это. С помощью Bytesafe мы используем две функции (мы называем их политиками): неизменные версии и замораживание, которые мы верим, помогут избежать таких ситуаций ( Читать дальше здесь )

Хорошие твердые рабочие процессы не тривиальные, и я вернусь к тому, как вы можете использовать Bytesafe в вашем будущем посте.

Закрепите цепочку снабжения кода и сохраняйте эти зависимости в проверке, и счастливого кодирования!

Оригинал: «https://dev.to/niclasg/stay-in-control-with-your-private-npm-registry-4hgb»