Zarządzanie projektami z GitHubem [zamknięte]

95

(EDYCJA: To pytanie jest teraz nieaktualne dla mojego konkretnego problemu, ponieważ Google Code obsługuje teraz git, a mimo to przekonwertowałem bufory protokołów na Mercurial. Jednak nadal jest przedmiotem ogólnego zainteresowania, IMO).

Mój port buforów protokołu C # używa github do kontroli źródła i zaczynam naprawdę cieszyć się używaniem git. Jednak, o ile wiem, github nie zapewnia żadnych narzędzi do zarządzania projektami: śledzenie defektów i funkcji, dyskusje, prośby o funkcje, dokumenty itp. Biorąc pod uwagę moje powiązania, Google Code byłby naturalnym wyborem, ale wydawałoby się dziwne, utwórz tam projekt, ale udostępniaj źródło na github.

To pytanie o Fogbugz / Assembla wydaje się skupiać głównie na śledzeniu defektów. Zastanawiałem się, jakie doświadczenia mieli inni, jeśli chodzi o bardziej „kompletne” rozwiązanie do zarządzania projektami. Czy Fogbugz faktycznie robi wszystko, czego potrzebuję? (Korzystanie z wiki dla dokumentów ma swoje zalety, chociaż chcę też mieć możliwość rozpowszechniania dokumentacji z kodem). Czy poza wyraźnymi funkcjami wymienionymi w pierwszym akapicie są inne aspekty projektu, które powinienem rozważyć, a które być może przegapiłem?

To z pewnością pozostanie projektem open source i chociaż wolałbym nie płacić, nie mam nic przeciwko, jeśli wymagana jest niewielka opłata. Obecnie jestem jedynym programistą, ale to może się zmienić i może być wiele osób zgłaszających błędy i prośby o funkcje. (Innymi słowy, mam nadzieję i spodziewam się, że będzie popularny, ale wykonuję większość pracy).

Wcześniej brałem udział w różnych projektach open source, ale nie zrobiłem zbyt wiele w zakresie prowadzenia bardzo widocznego i aktywnego. ( MiscUtil jest obecnie nadal „hostowany” na mojej stronie internetowej, z okazjonalnymi wydaniami - rzeczywista kontrola źródła znajduje się na moim lokalnym serwerze NAS).

Czy ktoś chciałby podzielić się swoimi doświadczeniami?

EDYCJA: Inną opcją, którą teraz rozważam, jest projekt Google Code (naprawdę chciałbym być lojalny wobec mojego pracodawcy) i sporadyczne połączenie z git do svn (przynajmniej za każdym razem, gdy robię wydanie). Umożliwiłoby to również użytkownikom niebędącym gitami łatwe uzyskanie źródła.

Jon Skeet
źródło
Czy jesteś blisko zwolnienia buforów protokołu w języku C #? Nie mogłem się doczekać, żeby to wypróbować.
David Robbins,
1
@David: Jest już w stanie użytecznym, chociaż jest trochę „ręczny”. Wstępne instrukcje znajdziesz na code.google.com/p/protobuf-csharp-port .
Jon Skeet,
Nie jestem pewien, czy tak było, gdy ostatnio edytowałeś to pytanie, ale GitHub automatycznie tworzy archiwa Twojego kodu do pobrania pod dowolnymi tagami. Możesz także pobrać stan kodu w dowolnym zatwierdzeniu.
Xiong Chiamiov
11
Możesz również użyć mercurial w kodzie Google, mercurial jest dość prosty i ma prawie taką samą funkcję jak git
dzen
Dodano obsługę GoogleCode dla Git: code.google.com/p/support/wiki/GitFAQ
gavenkoa

Odpowiedzi:

45

Jeśli myślisz, że naprawdę będziesz jedynym programistą , Fogbugz pomoże Ci zachować zdrowy rozsądek. Fogbugz to świetny produkt, buduje ukierunkowaną komunikację i może zmienić wszystko w sprawę (problem). Robi to wszystko tak dobrze, jak każdy system, jaki widziałem.

Ale jego orientacja jest komercyjna - wydajna komunikacja między użytkownikami a wsparciem technicznym, poprawa niezawodności harmonogramów, skupienie się i ustalanie priorytetów nad tym, nad czym pracujemy, oddzielne dyskusje wewnętrzne i zewnętrzne, dobre raportowanie, aby śledzić, jak sprawy są załatwiane. (Jedyna krytyka, o której przychodzi mi do głowy, to brak blokowania przypadków i śledzenia zależności, co jest naprawdę przydatne w przypadku tych głęboko zagrzebanych błędów).

Niewiele z tego zestawu funkcji pomoże Ci zbudować aktywny projekt open source, z otwartą żywą komunikacją i potrzebą zbudowania społeczności i sprawienia, że ​​użytkownicy ewoluują w programistów w miarę rozwoju projektu. Więc jeśli właśnie tam chcesz skończyć, możesz naprawdę chcieć mniej skoncentrowanych kanałów komunikacyjnych jednego z tych lekkich systemów śledzenia.

Nie korzystałem jeszcze z Google Code w projekcie, ale pod względem przejrzystej i otwartej komunikacji wygląda to na dobre wsparcie dla aktywnego projektu open source. Poza tym już to wiesz. Jeśli chcesz zwiększyć zaangażowanie w swój projekt, kod Google wydaje się najlepszym rozwiązaniem.

Paweł
źródło
7
Dzięki za to - wszystkie przydatne rzeczy. Google Code ma dodatkową zaletę - jeśli brakuje funkcji, prawdopodobnie uda mi się to zrobić :) (Jestem pewien, że Fogbugz i inni traktują żądania funkcji poważnie, ale dzięki Google Code mogę pracować nad sam system w 20% czasu ...)
Jon Skeet,
28

GitHub niedawno wprowadził własne narzędzie do śledzenia problemów ; Nie przeprowadziłem jednak analizy konkurencji, aby określić, jak się mierzy z innymi opcjami wymienionymi w tym wątku.

Greg Campbell
źródło
GitHub ma obecnie wbudowane zarządzanie projektami. Jest to dość minimalistyczne (a la 37signals), ale ich ceny są konkurencyjne, jeśli używasz ich do kontroli wersji i zarządzania projektami. github.com/features/projects
m33lky
14

Używam GitHub wraz z Lighthouse do śledzenia problemów. Jest to trochę proste w porównaniu z niektórymi innymi opcjami, ale jednocześnie działa bardzo dobrze, jeśli potrzebujesz tylko lekkiego narzędzia, o które nie musisz się zbytnio martwić. Może zintegrować się z GitHub, jeśli chcesz, a także jest bezpłatny dla projektów open source.

Marc Charbonneau
źródło
12

Jak zwykle, gdy ktoś o to pyta, wspominam o Redmine, tak jak w tym pytaniu. Wiem, że to pytanie ma już swoją „najlepszą odpowiedź”, ale myślę, że warto o nim wspomnieć.

Keltia
źródło
Aktualizacja: redmine.org
dparkar
10

Używamy bitbucket.org , który nie jest GIT, to Mercurial *, ale ma śledzenie błędów / problemów dla każdej gałęzi itp.

Myślę, że może być bardzo przydatne zintegrowanie tych rzeczy z miejscem, w którym zarządzasz kodem źródłowym, w celu odniesienia do rzeczy takich jak numer wydania w komunikacie o zatwierdzeniu. Lub Naprawiono komunikat dotyczący problemu zawierającego numer wersji kodu. Stracisz to, jeśli wybierzesz oddzielny BTS, taki jak kod Google. Jak wspomniano w innej odpowiedzi, Trac jest naprawdę dobry w integracji.

Edycja: Powinienem powiedzieć, że w przypadku mojego najczęściej używanego projektu open source mamy go pod adresem:

  1. Bitbucket (zarządzanie kodem źródłowym)
  2. Launchpad (zgłaszanie błędów użytkowników, zarządzanie tłumaczeniami)
  3. Własny hostowany Trac (wiki, śledzenie projektów i deweloperów, kopia lustrzana kodu źródłowego)
  4. Kod Google (pobieranie plików)

Wiem, że to brzmi szalenie, ale wybieramy najlepsze elementy z każdej usługi. I o dziwo nikt nie narzeka.

* co i tak jest lepsze według mnie, ale proszę, nie pal mnie.

Ali Afshar
źródło
Żadnego płonącego tutaj - nie używałem Mercurial, więc nie mogę komentować. Myślę, że gdybym miał faktycznie przenieść hosting źródłowy, po prostu przeszedłbym prosto do Google Code i svn, z którymi już czuję się komfortowo. Myślę , że chcę zachować repozytorium github - ale zobacz edycję mojego pytania ...
Jon Skeet
3
Moim zdaniem SVN to główna słabość kodu Google. Ale jak mówisz, wszystko zależy od tego, z czym czujesz się komfortowo.
Ali Afshar
Zredagowane również w celu odzwierciedlenia mojego osobistego użytku.
Ali Afshar
Wiem, że to głupie, ale miałbym problem z przekazaniem wszelkich danych, które naprawdę chcę zapisać, na serwer o nazwie „bitbucket”.
TED
1
bitbucket teraz również obsługuje Gita
Radek
8

Czy rozważałeś Traca ?

Wydaje się, że istnieje „entuzjastyczna” recenzja integracji git-Trac .

Nie mam osobistego doświadczenia z tymi narzędziami, ale możesz chcieć sprawdzić integrację.

VonC
źródło
Pytanie dotyczące Fogbugz / Assembla, do którego nawiązałem, zdawało się sugerować, że Trac był trochę za FogBugzem. Podoba mi się również pomysł hostowanych dyskusji na temat projektu (chociaż z pewnością mógłbym do tego użyć Grup dyskusyjnych Google, jeśli to konieczne).
Jon Skeet,
1

W niektórych miejscach używam Github i Google Code. Narzędzie do śledzenia problemów w kodzie Google jest wystarczająco przyzwoite, ale nie mogę sobie poradzić z subversion.

Spójrz na mojego klienta java memcached, aby zobaczyć tego przykład - szczególnie kartę źródła u góry.

Dustin
źródło
Chłodny. To wygląda na naprawdę dobre rozwiązanie. Nadal mogę klonować do subversion, aby ułatwić tym, którzy chcą z tego korzystać - chcę być jak najbardziej inkluzywny.
Jon Skeet
2
Wyobrażam sobie, że pliki do pobrania na Github są wystarczające dla każdego, kto chciałby subversion. Każdy, kto robi rzeczy bardziej zaawansowane niż pobieranie najnowszej wersji z repozytorium svn, prawdopodobnie już używa git. :)
Dustin
1

W pracy używamy FogBugz i jest to moim zdaniem zdecydowanie najlepsze narzędzie tego typu. Używałbym go do projektów non-profit, nad którymi pracuję, z wyjątkiem tego, że jest tak kosztowny dla 2 użytkowników.

W przypadku projektów non-profit używamy Lighthouse do śledzenia problemów. Jak na to kosztuje, i szczerze mówiąc, nie mogę znaleźć żadnej odpowiedniej alternatywy w tym przedziale cenowym. Śledzenie problemów Traca jest trochę lepsze niż Bugzilli ... Wiem, że wielu ludzi uwielbia Traca, ale uważam go za bardzo nieelastyczny. Braki Traca doprowadziły nas do Lighthouse.

Moje projekty non-profit prawdopodobnie planują przejście do Bitbucket . Oprócz śledzenia problemów pozwoliłoby nam to skonsolidować nasze repozytoria z beanstalkapp.com, a także dodać wiki.

Biorąc to wszystko pod uwagę, gdyby FogBugz-on-Demand miał ceny choćby zdalnie podobne do Lighthouse.app dla małej liczby użytkowników, przeniósłbym nas tam w mgnieniu oka. Kiedy używasz FB w pracy, a następnie Lighthouse.app w nocy ... używanie Lighthouse sprawia wrażenie, jakby ktoś odciął rękę.

jasonjwwilliams
źródło
1

Ja też używam github z Lighthouse. A jeśli twoja wiadomość o zmianach zawiera coś takiego jak

[# 32 stan: rozwiązany]

Lighthouse rozwiąże zgłoszenie nr 32 ze zobowiązaniem, które uważam za szybkie i przydatne. Poza tym Lighthouse jest trochę, eee, lekki w funkcjach.

kevinrutherford
źródło
0

Sugerowałbym JavaForge jako alternatywę, ponieważ ma wszystko, czego szukasz:

  • Oferuje darmowy hosting z Mercurial i Git (lub mieszany).
  • Jego narzędzie do śledzenia problemów wyprzedza GitHub o lata świetlne. Jest niezwykle wydajny i konfigurowalny, może śledzić wymagania, żądania funkcji, błędy, zadania itp.
  • Zapewnia zarządzanie dokumentami, również z dostępem przez WebDAV (udostępnianie tak proste, jak w przypadku folderów współdzielonych).
  • Ma wbudowaną wiki do wspólnego tworzenia dokumentacji, wymagań itp.
  • Posiada fora do dyskusji.

Należy pamiętać, że strona jest oparta na codeBeamer , naszym komercyjnym produkcie przetestowanym w boju przez globalne firmy.

(Zastrzeżenie: jesteśmy komercyjnym dostawcą zwinnych rozwiązań ALM.)

intland
źródło
0

Możesz także spróbować użyć narzędzia takiego jak BusyFlow . Tam możesz śledzić zmiany GitHub i komentować je (komentarze są synchronizowane z GitHub). W przypadku innych aspektów zarządzania projektami BusyFlow integruje się z Kalendarzem Google, Trello, Basecamp, Pivotal Tracker itp. Dzięki temu możesz zobaczyć swoje elementy GitHub wraz z zadaniami, plikami i wydarzeniami w kalendarzu.

(Zastrzeżenie: jestem współzałożycielem BusyFlow.)

naktinis
źródło
-1

Czy rozważałeś CodePlex?

Marcin Hoppe
źródło
1
Nie zrobiłem tego, ale ostatecznie przeszedłem na Google Code i github, rozwijając się przeciwko github i wciskając svn, gdy jest to konieczne.
Jon Skeet