Klávesové zkratky na tomto webu - rozšířené Na obsah stránky

Jak jsme dali práci robotům

| |

Jednou ze zajímavostí IT je, že se snaží automatizovat rutinní práci lidí a dávat jim více možností soustředit se na činnosti s větší hodnotou. Nebo jim práci brát. :-/ Když se nad tím člověk zamyslí, je celkem paradoxní, jak málo tohle IT lidi dělají sami sobě. Často se topí v rutinní práci a ještě se předhánějí v tom, kdo jí dělá víc nebo hůř… :)

Poslední dobou jsem sledoval, jak nám – s rostoucím počtem projektů, na kterých děláme – rostou náklady na údržbu. A tak jsem hledal řešení, jak ten maintenance overhead snížit. Aniž bychom kvůli tomu museli nabírat více lidí nebo přetěžovat lidi, co už máme. A jako řešení se ukázali roboti!

Screenshot nastavení Github Security Checku

Začalo to jednoduchým zaškrtnutím checkboxu v nastavení repository na Githubu. “Ano, kontrolujte mi prosím závislosti, jestli nemají známé bezpečnostní díry.” A jejda, najednou se ukázalo, že některé projekty, které byly několik měsíců bez údržby (zdánlivě ji nepotřebovaly), mají bezpečnostní díry. To nám, ale ve skutečnosti náklady na maintenance ještě zvýšilo, lidi museli začít řešit problémy, které byly u ledu…

Screenshot Pull Requestu od Dependabota

Tak jsem začal hledat řešení, které by nám mohlo pomoci a našel jsem Dependabota. Dependabot je robot, kterého si pozvete do projektu a on vám pomáhá s údržbou závislostí. Začali jsme s lehkou nedůvěrou, co to s našimi službami udělá. Nechali jsme každé ráno Dependabota dělat pull requesty s aktualizacemi jednotlivých závislostí.

filters:
  branches:
    only: master

Museli jsme upravit build scripty, aby nám PR neprotekly na dev prostředí, ale aby se jen provedly všechny testy, které v pipelině máme. Naštěstí Travis CI i CircleCI mají koncept filtrů na branche, takže to byl de-facto three-liner. A pak už každé ráno chodily pull requesty. Občas některé testy neprošly. Občas se některé aplikace rozbily, i když testy prošly. Takže jsme museli zlepšit naše integrační testy.

Z počáteční záplavy (Dependabot má „sane default“ na max 5 PR za den) pull requestů se stalo občasné rutinní schvalování. Vzhledem k tomu, že několik měsíců už jsou jeho kontribuce spolehlivé, nemá cenu jej v práci blokovat. Dependabota jsem přepnul do módu Live Update a automatický merge PR, pokud všechno vypadá ok. A o rutinní práci se nemusím starat. Malou krátkodobou investicí do robustnější test suite jsem se zbavil rutinní práce a můžu se věnovat té opravdu užitečné.

Našli jste v článku chybu? Máte námět na reportáž? Založte mi ticket.