С новостями, что Devingabot был приобретен GitHub В Я подумал, что это было хорошее время, чтобы объяснить, какая феноменальная помощь я нахожу этот инструмент, и как вы можете настроить его на собственных репозиториях, чтобы поддерживать свои пакеты без пота.
Зачем держать ваши зависимости обновлять вопросы
- Проблемы безопасности: Часто, когда пакеты обновляются, это исправление уязвимостей. Если вы все время обновляете свои пакеты небольшими кусками, эти проблемы не станут головными болями или серьезными проблемами.
- Избегайте больших широких изменений : Так много раз проекты долго ожидают, прежде чем обновлять свои зависимости, что означает, что когда придет время, все сломается из -за различий в библиотечных API или использовании.
Сложная часть обновления зависимостей
Но обновление пакетов не совсем ветер. Многие команды убеждают обновлять зависимости, потому что:
- Это может сломать вещи : Обновление всех зависимостей может быть рискованным. Откуда мы узнаем, что после обновления все еще будет работать?
- Трудно понять, какое обновление проблематично : При обновлении всех ваших зависимостей, если что -то сломается, вы должны тратить часы, разжигая, чтобы выяснить, какое изменение зависимости сломало вещи.
- Это часто кажется огромной задачей : Когда зависимости так устарели, с чего вы начинаете? Вы знаете, что это будут часы боли, потенциально.
- Вещи действительно устарели быстро : Кажется, что, как только вы закончите примирить все это, есть еще одно обновление. Валовой!
- Это скучная работа, которая не кажется ценной.
Введите Devideabot
DEVIVEBOT Это инструмент для поддержания ваших зависимостей — пакетов NPM, пакетов Nuget, рубиновых драгоценных камней и т. Д.
Некоторые вещи, которые мне нравится в зависимости:
- Он обновляет зависимости постепенно : Вместо того, чтобы одним ударом или обновлением пакета до абсолютной последней версии, Deviebot приводит вас туда, где вам нужно идти устойчивым, постепенно, гарантируя, что у вас меньше шансов получить поломки.
- Он делает работу для вас : Что я Абсолютно любовь В зависимости от зависимости это то, что он фактически сделает запрос на привлечение для вас, наряду с информацией о обновлении и ожидает ли оно нарушение изменений. Так что вам даже не нужно выполнять большую часть работы.
- Он обеспечивает удобный инструмент : Другой PR каким -то образом вызвал конфликт? Devidabot достаточно умна, чтобы переиграть свои изменения.
- Он хранит свою конфигурацию вместе с репо : Вы можете настроить его из интерфейса Devingabot, но вы также можете сохранить конфигурацию в файле YAML рядом с вашим кодом.
Таким образом, в сочетании с трубопроводом CI, который выполняет тесты, чтобы гарантировать, что все работает хорошо, Deviewabot является частью сбалансированного кодирующего завтрака — он позволяет вам обновлять вещи с минимальными хлопотами.
Настройка зависимости для публичного репозитория GitHub
- Отправляйтесь в http://dependabot.com, чтобы подписаться на учетную запись Анкет
- В Devingabot приложение , нажмите
Добавить репоиз верхнего меню:
- Предоставить доступ к репозитории
- Добавьте каждый язык, который использует пакет, со ссылкой на файл конфигурации (например, в ваш файл
Настройте свои предпочтения для репозитория… Сядьте и подожди! Devidabot теперь начнет делать запросы на привлечение от вашего имени. Вы можете настроить частоту или начать «удар» в любое время.
Пример Devingabot PR
Вот Недавний пиар, который зависит от репо моего блога . Он содержит некоторую действительно полезную информацию:
- Примечания выпуска из обновления
- Список коммитов, которые были сделаны авторами в рамках обновления
- Оценка совместимости, основанная на всех других проектах, для которых Devidebot сделал это обновление, и работали ли они. Совместимость на 97%? Приятно — еще больше уверенности!
- Список команд, которые я могу запустить с зависимостью прямо в PR, чтобы помочь мне.
Красивый! В моем блоге есть процесс CI/CD через NetLify — если NetLify может запустить и генерировать предварительный просмотр, что говорит мне, что у нас, вероятно, все в порядке. Итак, в конце концов, я вижу пиар с прохождением заметок и тестами и предварительным просмотром моего блога. Это помогает мне чувствовать себя довольно хорошо в отношении изменений, и я могу быстро объединить результаты.
С небольшой работой, Devingabot также может использоваться с частными репозиториями!
Хорошо, так что это здорово — но что, если мой хранилище будет размещено на GitHub Enterprise за брандмауэром, где Devidebot никогда не сможет добраться до него?
… Ну, люди о зависимости были достаточно потрясающими, чтобы Сделать зависимость oss , потому что, как говорит их файл readme:
Мы больше заинтересованы в том, чтобы оказать влияние, чем мы зарабатываем из этого.
Разве это не замечательная вещь? Если люди заинтересованы, я могу сделать учебник по этому поводу в ближайшем будущем.
Итак, идите и сохраняйте вещи. Счастливого кодирования!
Оригинал: «https://dev.to/seankilleen/automagically-update-your-package-dependencies-with-dependabot-for-free-4j2»