Standardowe CI/CD

Wszystko o automatyzacji w sieciach i DC
Wiadomość
Autor
Awatar użytkownika
qligowski
wannabe
wannabe
Posty: 262
Rejestracja: 16 maja 2014, 18:35

Standardowe CI/CD

#1

#1 Post autor: qligowski »

Witam,
Macie moze jakies materialy pokazujece 'best practice' robienia pipelinow CD/CI w sieciach. Bawie sie automatyzacja (Pyhon + Ansible +Git + Jenkins) ale chcialbym robic to poprawnie 'by the book' i nie wiem czy nie popelniam jakis fundamentalnych bledow.

Awatar użytkownika
peper
CCIE / Site Admin
CCIE / Site Admin
Posty: 5005
Rejestracja: 13 sie 2004, 12:19
Lokalizacja: Warsaw, PL
Kontakt:

Re: Standardowe CI/CD

#2

#2 Post autor: peper »

Nie bardzo wiem czy takie standardy stricte dla sieci istnieją. W takich CI/CD ochrona procesu jest identyczna jakby to była aplikacja. U mnie na blogu opisałem parę przykładów, opowiadałem też o nich na ostatnich trzech albo czterech konferencjach PLNOG, na youtube są nagrania. Jeżeli masz jakiś konkretny problem czy pytanie to daj znać.
Szkoła DevNet: https://szkoladevnet.pl


Facebook: https://www.facebook.com/Piotr.Wojciechowski.CCIE
LinkedIn: https://www.linkedin.com/in/peper
Twitter: https://www.twitter.com/PiotrW_CCIE

"Zapomniałem że od kilku lat wszyscy giną jakby nigdy ich nie miało być
w stu tysiącach jednakowych miast giną jak psy"

Awatar użytkownika
qligowski
wannabe
wannabe
Posty: 262
Rejestracja: 16 maja 2014, 18:35

Re: Standardowe CI/CD

#3

#3 Post autor: qligowski »

Chodzi mi o to ze mam np polaczony jenkins z gitem i Ansible (na jednym serwerze) - wszystko robie jako Freestyle project bez konfigurowania pipelinu. Jenkins po prostu sprawdza co 5 min zmiane kodu w zewnetrznym Gicie i jesli jest to uruchamia playbooka. Nie chcialbym wynajdywac kola od nowa i moze ktos ma takie sprwadzone konfigurace / implementacje. Czyam duzo na Cisco DevNet i zrozumialem np zeby nie laczyc playbookow w wiele zadan a raczej je rozbijac na pojedyncze co ma oczywisce sens.

Awatar użytkownika
peper
CCIE / Site Admin
CCIE / Site Admin
Posty: 5005
Rejestracja: 13 sie 2004, 12:19
Lokalizacja: Warsaw, PL
Kontakt:

Re: Standardowe CI/CD

#4

#4 Post autor: peper »

Obczaj sobie https://blog.it-playground.eu/let-jenki ... ins-image/ albo https://blog.it-playground.eu/run-jenkins-in-docker/ i pozostałe wpisy na moim blogu. Generalne webhooks, konteneryzacja, kontrola wersji na git etc. Wszystko to co robią programiści
Szkoła DevNet: https://szkoladevnet.pl


Facebook: https://www.facebook.com/Piotr.Wojciechowski.CCIE
LinkedIn: https://www.linkedin.com/in/peper
Twitter: https://www.twitter.com/PiotrW_CCIE

"Zapomniałem że od kilku lat wszyscy giną jakby nigdy ich nie miało być
w stu tysiącach jednakowych miast giną jak psy"

Awatar użytkownika
qligowski
wannabe
wannabe
Posty: 262
Rejestracja: 16 maja 2014, 18:35

Re: Standardowe CI/CD

#5

#5 Post autor: qligowski »

Dzieki za Bloga poczytam, do tej pory nie wiedzialem ze docker sie moze przydac sieciowcom :)

Awatar użytkownika
peper
CCIE / Site Admin
CCIE / Site Admin
Posty: 5005
Rejestracja: 13 sie 2004, 12:19
Lokalizacja: Warsaw, PL
Kontakt:

Re: Standardowe CI/CD

#6

#6 Post autor: peper »

Docker, Kubernetes i wiele innych :)
Szkoła DevNet: https://szkoladevnet.pl


Facebook: https://www.facebook.com/Piotr.Wojciechowski.CCIE
LinkedIn: https://www.linkedin.com/in/peper
Twitter: https://www.twitter.com/PiotrW_CCIE

"Zapomniałem że od kilku lat wszyscy giną jakby nigdy ich nie miało być
w stu tysiącach jednakowych miast giną jak psy"

Awatar użytkownika
lxs
wannabe
wannabe
Posty: 177
Rejestracja: 08 sty 2014, 16:27
Lokalizacja: 52.182098, 21.005445

Re: Standardowe CI/CD

#7

#7 Post autor: lxs »

Najwięcej o CI/CD dowiedziałem się pracując z Devopsami w projekcie chmurowym. W Idealnym świecie DevOps proces CI/CD jest kodem. Jenkins odpalony w kubernetesie. Zero linii komend. Nawet Jenkins stawiany terraformem... przez Jenkinsa. Wszystko wygląda fajnie, ale to taki święty Graal. Nieosiągalny na tym etapie w świecie sieciowym.

Z mojego doświadczenia (3 duże projekty. Jeden sieciowy, drugi devopsowy i jeden w typowym SDN automation):
- Jak nie wiesz jak zbudować CI/CD to zapytaj się najlepiej DevOpsa lub programisty w firmie. Oni to robią od lat. Nawet jako najlepszy sieciowiec bez doświadczenia w kulturze DevOPS nie jesteś w stanie nabyć dobrych praktyk.
- Automatyzyj proste taski. Na przykład dodawanie vlanów ansiblem zamiast przebudowywanie całego środowiska produkcyjnego z tworzeniem własnych filtrów w ansiblu. Jedno repo, jeden playbook, jeden pipeline (napisany, a nie wyklikany), wiele branchy zamiast combo projektu, który sam się testuje, sam się wdraża na produkcje i robi wszystko.
- Korzystaj z Terraforma do budowy środowisk (o ile vendor jest wspierany)
- Nie używaj webhooków.
- Dodawaj testy jednostkowe na każdym etapie.
- Clean Code. Pytaj jak najwięcej ludzi czy Twój kod jest czytelny. Nie bój się krytyki.

Innymi słowy zacznij od takiego procesu : "1. commit/push na gita, 2. logujesz się na Jenkinsa, ręcznie odpalasz pipeline".

ODPOWIEDZ