Przejdź do treści

GitHub App, którą wdrażasz u siebie

CI całej organizacji na jednym ekranie.

Pull requesty, kolejka GitHub Actions, self-hosted runnery i liczby, które za nimi stoją — ze wszystkich repozytoriów naraz. GitHub pokazuje to po jednym repozytorium.

Bez wklejania tokenów i bez konfiguracji dla każdej osoby. Uprawnienia egzekwuje GitHub.

Kolejka Actions dla całej organizacji. GitHub pokazuje ją tylko osobno dla każdego repozytorium.

Diagnoza zawieszonych runów

Wiesz, czemu run stoi — po kilku sekundach, a nie po dobie.

Run w kolejce może czekać na wolny runner, na etykietę, której nie ma żadna maszyna w puli, albo na nic. Mission Control odróżnia te trzy przypadki, zamiast zostawiać je jako „coś się zapchało”.

  • Runy bez jobów, nazwane wprost

    Czasem GitHub w ogóle nie tworzy jobów dla runa. Taki run nigdy nie wystartuje, a anulowanie, ponowne uruchomienie i usunięcie są odrzucane. Kolejka oznacza go jako „no jobs”.

  • Etykiety sprawdzone z pulą

    Dla jobów self-hosted etykiety z runs-on są porównywane z runnerami organizacji, więc literówka wychodzi jako prawdopodobne niedopasowanie, a nie zagadka. Wymaga admina organizacji, tak jak widok runnerów.

  • Odrzuć to, co zablokował GitHub

    Oznacz martwy run jako odrzucony, żeby przestał się liczyć jako oczekująca praca. Werdykt widzi cała organizacja, trafia do logu audytu, a do GitHuba nic nie jest wysyłane.

Moduły

Wszystko, co GitHub pokazuje osobno dla każdego repozytorium — dla całej organizacji.

  • Pulpit

    Organizacja w pigułce: otwarte i zaległe PR-y, głębokość kolejki, obciążenie runnerów, liczba merge’y i nieudane runy.

  • Pull requesty

    Każdy otwarty PR z wiekiem, zaległym review, wynikiem CI i oznaczeniem bezczynności. Komentujesz, zamykasz i prosisz o ponowne review hurtowo, a scalasz pojedynczo, za zabezpieczeniami.

  • Kolejka Actions

    Co czeka, co przykrył nowszy run i dlaczego coś stoi. Hurtowe anulowanie respektuje politykę chronionych gałęzi i workflowów.

  • Historia runów

    Zakończone runy z czasem w kolejce, czasem wykonania i lead time, histogramami oraz podziałem na autorów, workflowy i repozytoria. Hurtowe ponawianie nieudanych jobów.

  • Runnery

    Stan puli self-hosted: online, zajęte, wolne. Edytujesz własne etykiety i dodajesz runnerowi etykietę routingu. Wymaga admina organizacji.

  • Wydania

    Co gdzie działa: ostatnie wydanie każdego repozytorium obok jego ostatniego runa wdrożeniowego.

  • Analityka

    Liczba merge’y, czas do scalenia i czas oczekiwania na review: jak organizacja naprawdę dowozi.

  • Log audytu

    Każda akcja hurtowa, merge, anulowanie i zmiana etykiet: kto, kiedy, co i z jakim skutkiem.

Jak to działa

Instalujesz raz. Reszta zespołu po prostu się loguje.

  1. Wdrażasz i instalujesz raz

    Osoba utrzymująca wdrożenie tworzy GitHub App, a właściciel organizacji ją instaluje. Bez webhooków i bez zadań w tle.

    Zainstaluj w organizacji
  2. Reszta tylko się loguje

    Bez wklejania tokenów, bez konfiguracji dla każdej osoby i bez rozdawania ról.

  3. Widzisz dokładnie swój dostęp

    Każde zapytanie idzie z Twoim własnym tokenem GitHuba, więc działasz tylko tam, gdzie już masz uprawnienia.

Twój token → GitHub API → Twoje uprawnienia. Nic pomiędzy.

Bezpieczeństwo

Uprawnienia zostają tam, gdzie już są — w GitHubie.

  • Twój token, Twoje uprawnienia

    Każde zapytanie idzie z tokenem zalogowanej osoby. Dostęp egzekwuje GitHub, więc nie ma własnych ról, które dałoby się źle ustawić.

  • Każda akcja w logu

    Anulowania, merge i zmiany etykiet trafiają do wspólnego logu: kto, kiedy, co i z jakim skutkiem.

  • Tokeny nie leżą w bazie

    Sesja żyje w zaszyfrowanym ciasteczku. Baza przechowuje historię i wpisy audytu, nigdy tokeny.

  • Bieżące dane nie są zapisywane

    PR-y, kolejka i runnery są pobierane na żądanie, z krótkim cache dla każdej osoby. Zapisywana jest tylko historia.

Warto wiedzieć

Czego nie robi.

  • Obsługuje jedną organizację naraz. Między instalacjami przełączasz się w górnym pasku.
  • Widok runnerów wymaga admina organizacji. Pozostali widzą wyjaśnienie zamiast tabeli.
  • Nie ustawisz priorytetów kolejki, bo GitHub ich nie udostępnia.
  • Zużywa Twój limit GitHub API (5000 zapytań na godzinę na osobę). Każde odświeżenie to kilka zapytań na repozytorium, więc w dużych organizacjach warto dostroić limity skanowania.

Jedna konsola dla całej organizacji. Zobacz, gdzie naprawdę stoi praca.

Zaloguj się przez GitHub