Robimy jedno z narzędzi na tej stronie. Staraliśmy się opisać pozostałe według tego, do czego zostały zbudowane, a nie według tego, gdzie im brakuje, a sekcja o naszym własnym produkcie wprost mówi, kto nie powinien go używać.
Trzy kategorie
Hostowany widget i strona
Piszesz wpisy w ich edytorze, oni hostują stronę i dają Ci widget w aplikacji. Najszybsze do uruchomienia, a wpisy żyją na ich infrastrukturze, nie Twojej. Beamer i AnnounceKit są najwyraźniejszymi przykładami.
Pakiet feedbacku z dołączonym changelogiem
Changelog to jeden moduł obok głosowania na funkcje, publicznej roadmapy i skrzynki opinii. Warto, jeśli chcesz całej pętli od jednego dostawcy, przesadzone, jeśli chcesz tylko publikować notatki wydania. Canny, Frill i Featurebase są tutaj.
Generowane z Twojego repozytorium
Changelog jest produkowany z commitów, pull requestów lub issue zamiast pisany ręcznie. Zakres od pliku budowanego w CI po zredagowany, zrecenzowany, opublikowany wpis. git-cliff i github-changelog-generator są na końcu plikowym; LaunchNotes, Released i nasz własny produkt są na końcu publikacyjnym.
W skrócie
| Narzędzie | Rodzaj | Najlepsze dla |
|---|---|---|
| Beamer | Hostowany widget | Uruchomienie panelu nowości w aplikacji jeszcze tego popołudnia, bez angażowania inżynierów. |
| AnnounceKit | Hostowany widget | To samo, z większym naciskiem na segmentację tego, kto widzi które ogłoszenie. |
| Canny | Pakiet feedbacku | Zespoły, które chcą głosowania na funkcje i publicznej roadmapy, z changelogiem jako ostatnim krokiem tej pętli. |
| Frill | Pakiet feedbacku | Mniejsze zespoły, które chcą tego samego układu co Canny, ale w lżejszym wydaniu. |
| LaunchNotes | Generowane z repozytorium | Większe organizacje koordynujące ogłoszenia między zespołami, często oparte na Jirze. |
| Released | Generowane z repozytorium | Zespoły, które żyją w Jirze i chcą, by changelog powstawał z issue bez wychodzenia z niej. |
| git-cliff | Generator pliku w CI | Projekty open-source, które chcą CHANGELOG.md budowanego w CI z conventional commits, bez niczego hostowanego. |
| Changeloop | Generowane z repozytorium | Zespoły, które chcą, by wpis był redagowany z połączonych pull requestów, a potem renderowany przez ich własny front end z feedu JSON. |
Jak wybrać
- Zacznij od tego, gdzie changelog musi się pojawić. Jeśli musi wyglądać jak część Twojego produktu, hostowana strona, do której linkujesz, rozczaruje bez względu na to, jak dobry jest jej edytor, i chcesz albo widget, który możesz przestylizować, albo feed, który renderujesz. Jeśli podlinkowana strona jest w porządku, hostowane narzędzia to znacznie mniej pracy.
- Potem zapytaj, kto pisze wpisy. Jeśli odpowiedzią jest "inżynier, który zmergował", wybierz coś, co czyta Twoje repozytorium, ponieważ wszystko inne dodaje ręczny krok dokładnie w momencie, gdy wszyscy są zajęci. Jeśli odpowiedzią jest marketer produktu pracujący z planu wydania, edytor pasuje lepiej, a automatyzacja repozytorium tylko będzie przeszkadzać.
- Potem zapytaj, czy potrzebujesz reszty pętli. Głosowanie na funkcje i publiczna roadmapa są naprawdę użyteczne i naprawdę większym zobowiązaniem. Kupowanie pakietu dla jego modułu changeloga to sposób, w jaki zespoły kończą płacąc za cztery rzeczy, by używać jednej.
- Na koniec sprawdź, co stanie się z Twoimi wpisami, jeśli odejdziesz. Narzędzie, które wyeksportuje je jako dane strukturalne, znacząco różni się od takiego, w którym żyją na hostowanej stronie, którą musiałbyś zescrapować.
Gdzie pasuje nasze własne narzędzie, a gdzie nie
Changeloop czyta każdy zmergowany pull request, redaguje wpis skierowany do użytkownika, filtruje aktualizacje zależności i refaktoryzacje, i przetrzymuje szkic do recenzji. To, co jest publikowane, trafia do publicznego feedu JSON z feedem roadmapy obok, plus dwuliniowy widget i hostowana strona jako rozwiązania zapasowe. Feed jest sednem: zamierzoną konfiguracją jest renderowanie Twojego changeloga wewnątrz Twojego własnego produktu z Twoimi własnymi komponentami.
Nie wybieraj, jeśli:
- Twoje wydania nie pochodzą z Twoich repozytoriów. Redaguje na podstawie mergowania albo, w trybie push, pushy, więc zespół dostarczający poza workflow opartym na Git nie ma nic do recenzji.
- Chcesz głosowania na funkcje i roadmapy, na którą głosują Twoi użytkownicy. Jest feed roadmapy, ale jest napędzany oznaczonymi issue, nie głosowaniem użytkowników. Pakiet feedbacku to właściwa kategoria do tego.
- Chcesz dopracowanego edytora i hostowanej strony jako głównego produktu. Hostowana strona istnieje jako rozwiązanie zapasowe, a narzędzia zbudowane wokół swojej zrobią to lepiej.
- Jesteś solowym projektem open-source, który chce tylko CHANGELOG.md w repozytorium. Użyj git-cliff, który jest darmowy i zrobiony dokładnie do tego.
Częste pytania
Czy w ogóle potrzebujemy narzędzia?
Przez jakiś czas nie. Plik markdown lub strona na Twojej własnej stronie to całkiem dobry changelog i nic nie kosztuje. Punkt, w którym narzędzie zaczyna się opłacać, to kiedy pisanie wpisów staje się krokiem, który jest pomijany, lub kiedy chcesz te same wpisy w trzech miejscach bez utrzymywania trzech kopii.
Czy możemy później przenieść się z jednego z nich?
Całkowicie zależy od tego, czy wpisy wychodzą z powrotem jako dane strukturalne. Zapytaj przed rozpoczęciem, nie po: to jedyne pytanie na liście, którego pomylenie jest kosztowne, ponieważ changelog to rosnące archiwum, a przepisywanie dwóch lat jego zawartości nie jest projektem, który ktokolwiek zatwierdzi.
A co z pisaniem ich za pomocą asystenta AI?
Większość z nich teraz redaguje z jakimś modelem. Ma to mniejsze znaczenie niż to, co dostaje model. Narzędzie, które widzi tylko temat commita, może przepisać tylko ten temat; takie, które widzi tytuł i opis pull requesta, ma wystarczająco, by opisać zmianę pod kątem tego, co robi dla użytkownika. Zapytaj, jakie jest wejście, a nie czy jest AI.
Dalsza lektura: automatyzacja changeloga i jej granice, o tym, który z czterech kroków powinien być automatyczny.
Ten stawiający na feed
Zredagowany z Twoich zmergowanych pull requestów, przetrzymany do recenzji, opublikowany do feedu JSON, który sam renderujesz. Darmowe dla jednego repozytorium, bez karty.
Zacznij za darmo