Generator Dependabota

Gotowy plik .github/dependabot.yml dla 9 ekosystemów: harmonogram, limit PR, grupy, etykiety i pomijanie wersji major.

Bezpieczne (SSL)
Przetwarzanie Lokalne
100% Darmowe
Instrukcja
  • 1
    Wprowadź dane
    Wpisz treść, wklej tekst lub załaduj plik z dysku.
  • 2
    Kliknij przycisk
    Narzędzie natychmiast przetworzy Twoje dane w przeglądarce.
  • 3
    Pobierz wynik
    Skopiuj gotowy tekst lub zapisz plik na urządzeniu.
function runTool() {
  return "Wynik gotowy w 0.1s";
}

„/” to katalog główny repozytorium; dla monorepo podaj np. /frontend. GitHub Actions zawsze dostaje „/” (Dependabot czyta wtedy .github/workflows).

Nazwy użytkowników lub zespołów oddzielone przecinkami. Zespół zapisz jako organizacja/zespół.

Plik .github/dependabot.yml

3 ekosystemy

Zapisz plik jako .github/dependabot.yml w gałęzi domyślnej repozytorium; Dependabot zacznie otwierać pull requesty według harmonogramu.

Harmonogram

Co tydzień

Godzina: domyślna

Limit PR

5 na ekosystem

Maks. otwartych PR

15

Limit × liczba ekosystemów

Linie YAML

32

.github/dependabot.yml

version: 2 updates: - package-ecosystem: "npm" directory: "/" schedule: interval: "weekly" open-pull-requests-limit: 5 commit-message: prefix: "chore" groups: npm-dependencies: patterns: ["*"] - package-ecosystem: "composer" directory: "/" schedule: interval: "weekly" open-pull-requests-limit: 5 commit-message: prefix: "chore" groups: composer-dependencies: patterns: ["*"] - package-ecosystem: "github-actions" directory: "/" schedule: interval: "weekly" open-pull-requests-limit: 5 commit-message: prefix: "chore" groups: github-actions-dependencies: patterns: ["*"]

Zapisz wynik jako .github/dependabot.yml. Sekcja groups łączy zgodne aktualizacje w mniejszą liczbę pull requestów.

Ściąga: najważniejsze klucze dependabot.yml

Klucze wpisu w sekcji updates
KluczCo ustawiaPrzykład
version Wersja formatu pliku; zawsze 2. 2
package-ecosystem Menedżer pakietów, którego zależności aktualizować. "npm"
directory Katalog z plikiem manifestu, liczony od katalogu głównego repozytorium. "/frontend"
schedule.interval Jak często sprawdzać nowe wersje. "weekly"
schedule.day Dzień tygodnia; działa przy interval: weekly. "monday"
schedule.time Godzina sprawdzenia (GG:MM), bez strefy czasowej w UTC. "05:00"
schedule.timezone Strefa czasowa IANA dla schedule.time. "Europe/Warsaw"
open-pull-requests-limit Ile otwartych PR z aktualizacjami wersji naraz (domyślnie 5). 10
commit-message.prefix Prefiks wiadomości commita i tytułu PR. "chore"
labels Własne etykiety nadawane pull requestom. ["dependencies"]
reviewers Użytkownicy lub zespoły proszeni o recenzję. ["my-org/devs"]
ignore Zależności lub typy aktualizacji do pominięcia. dependency-name: "*"
groups Łączy pasujące aktualizacje w jeden pull request. patterns: ["*"]

Gdzie zapisać plik

Plik musi leżeć w .github/dependabot.yml w gałęzi domyślnej. Każdy wpis w updates to jeden ekosystem w jednym katalogu; dla monorepo z kilkoma package.json dodaj osobne wpisy z różnym directory.

Grupowanie a liczba PR

Bez groups każda zależność dostaje osobny pull request. Grupa z patterns: ["*"] łączy aktualizacje ekosystemu w jeden PR. Opcja „tylko minor i patch” zostawia aktualizacje major jako osobne PR, łatwiejsze do przejrzenia.

Pomijanie wersji major

Reguła ignore z version-update:semver-major sprawia, że Dependabot nie proponuje nowych wersji głównych, które wg SemVer mogą łamać zgodność. Takie podbicia trzeba wtedy robić ręcznie i świadomie.

Limit otwartych PR

open-pull-requests-limit działa osobno dla każdego wpisu: 3 ekosystemy z limitem 5 to do 15 otwartych PR. Domyślna wartość to 5. Limit 0 wstrzymuje PR z aktualizacjami wersji; aktualizacje bezpieczeństwa mają osobny limit.

Oceń to narzędzie:

Powiązane narzędzia

Inne narzędzia, które mogą Ci się przydać

Generator Dependabot – gotowy plik dependabot.yml

Generator Dependabot tworzy konfigurację automatycznych aktualizacji zależności dla repozytorium GitHub. Wybierasz ekosystemy, katalog z manifestem, harmonogram (dzień, godzinę i strefę czasową), limit otwartych pull requestów, prefiks commita, etykiety i recenzentów, a narzędzie składa poprawny YAML w formacie version: 2, gotowy do skopiowania lub pobrania jako .github/dependabot.yml.

Co opisuje konfiguracja Dependabota

Każda pozycja listy updates wskazuje menedżer pakietów, katalog z manifestem i harmonogram. Generator tworzy osobny wpis dla każdego zaznaczonego ekosystemu, dlatego można w jednym repozytorium aktualizować na przykład paczki npm, zależności Composera, obrazy w Dockerfile i akcje używane przez workflow.

PoleZnaczenieWartość z generatora
versionwersja schematu konfiguracjizawsze 2
package-ecosystemtyp manifestu zależnościjeden z dziewięciu obsługiwanych identyfikatorów
directorypołożenie manifestu w repozytoriumdomyślnie /, można podać np. /frontend; dla GitHub Actions zawsze /
scheduleczęstotliwość i pora sprawdzaniadaily, weekly albo monthly, opcjonalnie day, time, timezone
open-pull-requests-limitmaksymalna liczba otwartych PR na wpisliczba całkowita od 0 do 100
labels, reviewersetykiety i osoby do recenzjido 10 etykiet, do 15 recenzentów
ignorepomijane aktualizacjewersje major wszystkich zależności, po zaznaczeniu opcji
groupsłączenie zgodnych aktualizacjijedna grupa ze wzorcem * na ekosystem, wszystkie lub tylko minor i patch

Obsługiwane ekosystemy i manifesty

Lista obejmuje npm, Composer, pip, Go modules, Cargo, Bundler, Docker, GitHub Actions i Terraform. Identyfikatory w YAML są zgodne ze składnią GitHuba, między innymi gomod dla go.mod oraz github-actions dla plików w .github/workflows. Dla npm Dependabot czyta package.json razem z plikiem blokady (package-lock.json, yarn.lock lub pnpm-lock.yaml), dla pip requirements.txt, pyproject.toml albo Pipfile.

Pole katalogu dotyczy wszystkich zaznaczonych ekosystemów poza GitHub Actions, który zawsze dostaje /: przy tej wartości Dependabot sam szuka workflow w .github/workflows. Jeśli manifesty leżą w różnych podkatalogach (np. /frontend i /api), wygeneruj plik dla jednego katalogu, a dla drugiego skopiuj wpis i zmień directory.

Jak przygotować plik krok po kroku

  1. Wybierz gotowy zestaw (PHP, Node, Python, Go, Rust) albo zaznacz ekosystemy ręcznie. Co najmniej jeden wpis jest wymagany, inaczej lista updates byłaby pusta.
  2. Ustaw harmonogram. Codzienna kontrola daje szybkie poprawki, tygodniowa zwykle ogranicza hałas, a miesięczna pasuje do stabilnych projektów o wolnym cyklu. Przy trybie tygodniowym możesz wskazać dzień, a godzinę podajesz w formacie GG:MM. Bez strefy czasowej godzina oznacza UTC; strefa (np. Europe/Warsaw) wymaga podania godziny.
  3. Podaj limit pull requestów. Wartość 0 wstrzymuje aktualizacje wersji, natomiast mały dodatni limit pomaga zespołowi przeglądać zmiany regularnie.
  4. Opcjonalnie wpisz recenzentów i etykiety po przecinku, włącz grupowanie lub pomijanie wersji major. Nazwy są walidowane, a wartości bezpiecznie cytowane, więc znaki wejściowe nie mogą zepsuć struktury YAML.
  5. Kliknij „Generuj”, skopiuj albo pobierz wynik, zapisz go pod dokładną ścieżką .github/dependabot.yml, wykonaj commit i sprawdź zakładkę Insights → Dependency graph → Dependabot.

Przykład: zestaw PHP (Composer i GitHub Actions), harmonogram tygodniowy w poniedziałek o 05:00 w strefie Europe/Warsaw, limit 5, prefiks chore i grupowanie tylko minor i patch dają plik z dwoma wpisami i 30 liniami YAML. Każdy wpis ma własny limit, więc naraz może być otwartych do 2 × 5 = 10 pull requestów z aktualizacjami wersji. Tę liczbę narzędzie pokazuje w podsumowaniu jako „Maks. otwartych PR”.

Przed commitem możesz wkleić wynik do walidatora YAML. Jeżeli konfiguracja obejmuje obrazy kontenerów, generator Dockerfile pomoże przygotować plik z jawną wersją obrazu. Automatyzację testów po otwarciu pull requestu można uzupełnić konfiguracją z generatora GitLab CI w projektach hostowanych na GitLabie.

Grupowanie aktualizacji i kontrola ryzyka

Bez grup Dependabot może otworzyć oddzielny pull request dla każdej biblioteki. Włączenie groups tworzy dla każdego ekosystemu grupę o nazwie w rodzaju npm-dependencies i obejmuje wzorcem * wszystkie zależności. To ogranicza kolejkę przeglądu, lecz większy PR trudniej diagnozować, gdy jedna aktualizacja psuje testy. Dlatego generator ma drugi tryb: „tylko minor i patch” dodaje do grupy update-types: ["minor", "patch"], a aktualizacje major trafiają do osobnych PR.

Opcja pomijania wersji major dopisuje regułę ignore z dependency-name: "*" i version-update:semver-major. Dependabot przestaje wtedy proponować nowe wersje główne, które według SemVer mogą łamać zgodność, więc takie podbicia trzeba robić ręcznie.

Limit PR nie zastępuje testów. Każda automatyczna zmiana powinna uruchamiać CI, analizę statyczną oraz testy integracyjne. Dla aktualizacji obrazów dobrze jest dodatkowo zbudować kontener i przeskanować go przed scaleniem. Sam Dependabot proponuje zmianę; decyzję o wdrożeniu nadal podejmuje zespół.

Recenzenci, etykiety, commity i bezpieczeństwo

Generator usuwa początkowy znak @ z nazw recenzentów, usuwa duplikaty i akceptuje nazwy użytkowników lub zespołów zapisane jako organizacja/zespół. Etykiety (do 10, każda do 50 znaków) trafiają do labels; etykieta musi istnieć w repozytorium, inaczej GitHub jej nie nada. Prefiks (do 50 znaków) trafia do commit-message.prefix jako bezpiecznie zakodowany ciąg. Najlepiej użyć konwencji znanej zespołowi, na przykład chore albo deps, aby reguły changeloga i automatyzacji poprawnie klasyfikowały commity.

Plik Dependabota nie powinien zawierać tokenów ani haseł. Dostęp do prywatnych rejestrów konfiguruje się przez sekrety repozytorium i sekcję registries; wartości wrażliwych nie wklejaj bezpośrednio do pliku śledzonego przez Git.

Generator nie tworzy sekcji rejestrów i nie przyjmuje sekretów, dzięki czemu wynik nie zawiera przypadkowo ujawnionych danych. Po zapisaniu pliku sprawdź też alerty bezpieczeństwa i zasady ochrony gałęzi. Pull request aktualizacyjny powinien przejść te same bramki jakości co zmiana autora.

Najczęściej zadawane pytania

Gdzie zapisać plik dependabot.yml?

Dokładnie w .github/dependabot.yml w domyślnej gałęzi repozytorium. Inna nazwa lub katalog nie zostaną odczytane jako konfiguracja Dependabota.

Czy można obsłużyć monorepo?

Tak. W polu katalogu podaj ścieżkę od korzenia repozytorium, np. /frontend. Dla każdego kolejnego katalogu z osobnym manifestem dodaj wpis tego samego ekosystemu z innym directory albo użyj klucza directories z listą ścieżek.

Co oznacza limit równy zero?

Wartość 0 w open-pull-requests-limit pozwala tymczasowo wyłączyć pull requesty aktualizacji wersji dla danego wpisu bez usuwania całej konfiguracji. Aktualizacje bezpieczeństwa mają osobny limit.

O której godzinie Dependabot sprawdza zależności?

Jeśli nie podasz time, generator nie dopisuje tego klucza i Dependabot użyje swojej domyślnej pory. Podana godzina bez timezone jest liczona w UTC, więc 05:00 UTC to w Polsce 6:00 zimą i 7:00 latem.

Czy grupowanie obejmuje poprawki bezpieczeństwa?

Zachowanie zależy od opcji i rodzaju alertu. Po wdrożeniu sprawdź politykę repozytorium, ponieważ priorytetową poprawkę bezpieczeństwa czasem lepiej scalać osobno niż czekać na większą grupę zmian.

Jak pominąć aktualizacje major?

Zaznacz opcję „Pomijaj aktualizacje major”. Generator doda do każdego wpisu sekcję ignore z version-update:semver-major dla wszystkich zależności; wyjątki dla pojedynczych pakietów dopiszesz ręcznie po skopiowaniu wyniku.

Zainstaluj Webp.pl Miej narzędzia we własnej kieszeni!