Tekton CI/CD (Część 1: Wstęp)

Tekton to natywny dla Kubernetesa system CI/CD. Oznacza to że wszystkie zadania i konfiguracje przechowujemy jako obiekty Kubernetesa. W poniższym artyklule postaram się pokrótce przedstawić jego założenia a w kolejnych częsciach przedstawię jak korzystać z tego wygodnego rozwiązania.

Każde zadanie w Tektonowym pipeline możemy podzielić na kroki(step) które składają sie na zadania(task) a te składają się na pipeline. Zadania i pipeliney są `custom resources`.

Obiekty wejścia i wyjścia

Każdy zadanie i pipeline może mieć swoje wejście i wyjście. Na przykład zadanie budujące obraz Docker na wejściu bedzie miało repozytorium gita a na wyjściu obraz Dockera.
Tekton wspiera następujące:
- repozytorium gita
- Pull Request
- Obraz kontenera
- Klaster Kubernetesa
- Przechowanie, obiekt lub katalog i w pamięci
- CloudEvent

Uruchomienie Zadań i Pipelineów.

W Tektonie istnieją dwa kolejne obiekty TaskRuns i PipelineRuns. Służą one odopwiednia do uruchomienia zadania bądź całego pipelina. Uruchomienia można tworzyć manualnie bądź automatyzować przy pomocy Tekton Triggers o czym napiszę więcej w kolejnej części.

Tekton jest świetną alternatywą dla wielu innych systemów CI/CD takich jak np. Jenkins. Mam nadzieję że w tej serii uda mi się pokazać Ci jego zalety i przekonać do wypróbowania w nowym bądź istniejącym projekcie.