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.