2022-11-28 16:36:57 +0100 +0100

Prskavčí blog

Nov 28, 2022

Pipelines as Code

“Pipelines as code” není uplně nový koncept, já jsem o něm slyšel před pár lety s uvedením Tektonu. Napsal jsem tehdy design dokument na vytvoření nového CI, které bude akceptovat různé předpisy (Jenkins, CircleCI, TravisCI a Github Actions) a nebudete se muset učit novou syntaxi. Bohužel se projekt nikdy nerealizoval, tak jsem se tímto moc déle nezabýval.

Solomon Hykes před pár lety odešel z Dockeru a založil Dagger.io, kde začali adoptovat Cue lang a pracovat na zajímavém novém projektu. Když jsem dostal přístup do early accessu tak jsem z toho moc nadšený nebyl, protože psaní pipelines v Cue není něco co bych vyvojářům doporučil. Po zkušenostech jak bylo těžké prosadit v některých týmech Jsonnet pro Grafana dashboardy, tak jsem opatrný.

Před pár týdny, ale uvedli v technical preview Dagger Go SDK a když jsem si vyzkoušel základní demo podle videa, tak mi to přišlo super. Rozhodl jsem se předělat jeden malý project ga-badge, který generuje badge pro Github Actions. Tady je příslušný PR se změnami, kde je vidět jak jednoduchá ta změna je. Potom tady mám záznam když se to pustí. Používám Mage na pouštění podle doporučení lidí z Daggeru pro multi repository. Určitě to půjde udělat i jinak, ale na začátek mi to přišlo v pohodě.

asciicast

O Dagger Go SDK budu mluvit na Go Meetupu #9 30.11.2022 a pokud vás to zaujmulo tak se zastavte na diskuzi.