Słurm DevOps. Dzień pierwszy. Git, CI/CD, IaC i zielony dinozaur

4 września w Sankt Petersburgu rozpoczął się Slurm DevOps.

W jednym miejscu i czasie zebrane zostały wszystkie niezbędne czynniki do fascynującego intensywu trwającego trzy dni: wygodna sala konferencyjna Selectel, siedemdziesięciu ciekawych programistów na sali oraz 32 uczestników online, serwery Selectel do praktyki. A także zielony dinozaur, czający się w kącie.

Słurm DevOps. Dzień pierwszy. Git, CI/CD, IaC i zielony dinozaur

W pierwszym dniu Slurma przed uczestnikami wystąpiło trzech mówców.

Pawel Selivanov, architekt rozwiązań w Southbridge, zajmuje się administracją od ponad 10 lat, jest certyfikowanym administratorem Kubernetes. Stały mówca Slurma. Prezentował na konferencjach Moscow Kubernetes Meetup i UWDC. Ma bogate doświadczenie w wdrażaniu Kubernetes: 5 projektów – praca indywidualna, ponad 20 projektów w składzie zespołu.

Artiom Galonski, CTO ‘BiuroBiuro’, specjalnie przybył na Slurm DevOps z Kaliningradu. Doświadczenie w komercyjnej rozwoju przekracza 12 lat. Występuje jako lider zespołu od 2011 roku. Dyrektorem technicznym został w 2016 roku. Uważa, że inżynier devops to coś w rodzaju jednorożca. Nie w tym sensie, że można go złapać tylko przez dziewicę. A w tym, że nikt nie wie, co to tak naprawdę jest.

Aleksiej Stepanenko, inżynier działu chmurowej platformy Selectel, zajmuje się zadaniami infrastrukturalnymi związanymi z obsługą chmury OpenStack: monitorowanie, CI/CD i zarządzanie konfiguracjami.

Słurm DevOps. Dzień pierwszy. Git, CI/CD, IaC i zielony dinozaur
„… a potem złapałem taki-oto błąd.”

Pierwszym, który obficie podzielił się wiedzą z uczestnikami, był Pawel Selivanov — i to z nieoczekiwanej strony. Wydawałoby się, że w Git nie ma nic specjalnego — to przecież najbardziej podstawowe i oczywiste, abecadło prawdy. Ale w rzeczywistości niewielu wie, jak prawidłowo pracować z Gitem. Omówiliśmy podstawowe komendy git init, commit, add, diff, log, status, pull, push. Przypomnieliśmy git flow, gałęzie i tagi, strategie merge.

Słurm DevOps. Dzień pierwszy. Git, CI/CD, IaC i zielony dinozaur

Potem Pawel Selivanov poświęcił czas zespołowej pracy z Gitem. Omówiliśmy fork, remote, pull request. A następnie omówiliśmy konflikty, wydania, i jeszcze raz wróciliśmy do Gitflow i innych flow stosownych do zespołów.

Słurm DevOps. Dzień pierwszy. Git, CI/CD, IaC i zielony dinozaur

Słurm DevOps. Dzień pierwszy. Git, CI/CD, IaC i zielony dinozaur
„Och, jaki administrator!”

Po obiedzie, gdy uczestnicy nieco nabrał sił i przygotowali się do dalszego słuchania, nastała kolej na CI/CD.

Artiom Galonski rozpoczął od tematu „CI/CD: wprowadzenie do automatyzacji”. Szczegółowo omówił narzędzia bash, make, gradle oraz wykorzystanie git-hooków do automatyzacji procesów. Przedstawił przykłady fabrycznych linii montażowych i ich zastosowanie w IT. Podzielił się przykładem budowy „wspólnego” pipeline'u. Omówił nowoczesne oprogramowanie do CI/CD: Drone CI, BitBucket Pipelines, Travis.

Słurm DevOps. Dzień pierwszy. Git, CI/CD, IaC i zielony dinozaur

Słurm DevOps. Dzień pierwszy. Git, CI/CD, IaC i zielony dinozaur

Kiedy zbliżała się szósta wieczorem, uczestnicy zaczęli powoli się wyczerpywać. Pojawiały się propozycje, aby robić przerwy częściej. W sali konferencyjnej było wyraźnie cieplej od aktywnie działających neokorteksów. W roboczym czacie pojawiła się nawet wymuszona prośba: „Koledzy, nie przesadzajmy i róbmy więcej przerw #support”

Słurm DevOps. Dzień pierwszy. Git, CI/CD, IaC i zielony dinozaur
» — Maryjka, mogę wyjść? — Nie, siedź!”

Artiom Galonski bezlitośnie kontynuował wykładanie wiedzy uczestnikom. Po przerwie na kawę otworzył następny temat „CI/CD: Praca z Gitlab”.

Słurm DevOps. Dzień pierwszy. Git, CI/CD, IaC i zielony dinozaur
„A teraz mocno trzymajcie się laptopów. I-i-i, ruszamy!”

Przedstawił Gitlab CI, omówił szczegóły konfiguracji, najlepsze praktyki, następnie Gitlab Runner, ich typy i zastosowanie. Zajmował się etapami Gitlab CI oraz zmiennymi Gitlab CI. Po omówieniu kontroli i ograniczeń wykonania (only, when) mówił o pracy z artefaktami. Pokazał szablony w pliku .gitlab-ci.yml, ponowne wykorzystanie działań w różnych sekcjach pipeline'u Include. Zakończył centralnym zarządzaniem gitlab-ci.yml: jeden plik i automatyczne pushy do innych repozytoriów.

Po kolejnych ciastkach i kawie uczestnikom przedstawił się Aleksey Stepanenko z tematem „Infrastructure as Code: podejście do infrastruktury jako kod”. W sali publiczność żywo interesowała się tematem następnego dnia „IaC na przykładzie Terraform”, domagali się poruszających historii.

Nikita Suvorov, [4 wrz. 2019, 20:27:35]:
@f3exx a czy będą poruszające historie związane z terrafomem, czy wszystko skończy się laboratoriami?

Aleksey Stepanenko, [4 wrz. 2019, 20:28:32]:
Będzie jedna na pewno)

Dmitriy Miroshnichenko, [4 wrz. 2019, 20:28:38]:
eee, na przykład jakie?
czy junior wziął stan i wszystko zniszczył?

Na piątym Slurmie wypróbowaliśmy schemat „schodów”, gdzie materiał był podawany od prostego do trudnego — zaczynając od Git, a kończąc na SRE. Nie wyszło zbyt dobrze: świetni uczestnicy znudzili się prostymi tematami. Zobaczymy, jak w piątek pójdzie trudniejsza część intensywu.

Słurm DevOps. Dzień pierwszy. Git, CI/CD, IaC i zielony dinozaur

Na czacie Slurma piszą:

Nikolaj Kononenko, [4 wrz. 2019, 16:17:28]:
Wszystko wydaje się działać, ale tempo jest takie, że po prostu zdążasz to zrobić, nie zastanawiając się nad tym. Bardzo przypomina to sytuację, kiedy znajdujesz losową instrukcję na jednej ze stron, po prostu kopiujesz krok po kroku i wklejasz, tylko że nie masz możliwości się zatrzymać, a musisz biec od kroku do kroku. Albo już to wiesz i jest ci z tym dobrze.

Alexander B, [4 wrz. 2019, 16:18:06]:
Tak, zdążasz zrobić coś jedno - albo słuchać, albo wykonywać.

Fedor, [4 wrz. 2019, 16:18:21]:
+1
Jeszcze z minusów, podczas gdy zajmujesz się kopiowaniem instrukcji, pomijasz 80% słów Artema.

Kirył, [4 wrz. 2019, 16:19:01]:
Trzeba uruchomić dwóch runnerów.
Jeden runner słucha,
a drugi kopiuje i wkleja.)

Jeśli spowolnisz tempo Słërma, zmieści się w nim mniej informacji. Trzeba coś poświęcić - my poświęciliśmy komfortowe tempo. Specjalnie, aby pomieścić i uporządkować wszystko w głowie, istnieją zapisy intensywu.

Słurm DevOps. Dzień pierwszy. Git, CI/CD, IaC i zielony dinozaur

Paweł Selivanov kilka razy pytano sali, na ile są gotowi kontynuować dalej lub przenieść część podtematów IaC na następny dzień. Przez długi czas w głosowaniu wygrywała przyjaźń i neutralność. Dopiero około wpół do dziewiątej wieczorem zwyciężyli ci, którzy jeszcze pamiętali, że w nocy normalnie trzeba spać.

Odpowiedzialnie ogłaszamy, że w pierwszy dzień Słërma żaden dinozaur nie ucierpiał z rąk inżynierów DevOps. Przed nami jeszcze dwa dni intensywu. Najciekawsze, najtrudniejsze i najsmaczniejsze: IaC i SRE.

Źródło: habr.com

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster