Dummies Guide: Bauen DevOps Ketten mat Open Source Tools

Dummies Guide: Bauen DevOps Ketten mat Open Source Tools
Baut Är éischt DevOps Kette a fënnef Schrëtt fir Ufänger.

DevOps ass e Panacea ginn fir ze lues, deconnectéiert an soss problematesch Entwécklungsprozesser. Awer Dir braucht minimal Wëssen an DevOps. Et wäert Konzepter decken wéi d'DevOps Kette a wéi een een a fënnef Schrëtt erstellt. Dëst ass net e komplette Guide, awer nëmmen e "Fësch" dee kann ausgebaut ginn. Loosst eis mat der Geschicht ufänken.

Meng Aféierung an DevOps

Ech hu fréier mat Wolleken bei Citi Group geschafft an eng IaaS Webapplikatioun entwéckelt fir d'Citi's Cloud Infrastruktur ze managen, awer ech war ëmmer interesséiert fir d'Entwécklungskette ze optimiséieren an d'Kultur ënner Entwéckler ze verbesseren. De Greg Lavender, eisen CTO fir Cloud Architektur an Infrastruktur, huet mir dëst Buch recommandéiert. Phoenix Projet. Et erkläert DevOps Prinzipien schéin a liest wéi e Roman.

D'Tabell op der Réck weist wéi dacks Firmen nei Versiounen ausrollen:

Dummies Guide: Bauen DevOps Ketten mat Open Source Tools

Wéi verwalten Amazon, Google an Netflix sou vill auszerollen? An et ass einfach: si hunn erausfonnt wéi een eng bal perfekt DevOps Kette erstellt.

D'Saache ware ganz anescht fir eis bei Citi bis mir op DevOps gewiesselt sinn. Dann hat meng Equipe verschidden Ëmfeld, awer mir hunn d'Liwwerung op den Entwécklungsserver manuell gemaach. All Entwéckler haten Zougang zu nëmmen engem Entwécklungsserver baséiert op IBM WebSphere Application Server Community Edition. Mat engem simultan Versuch ze liwweren, ass de Server "gefall", an all Kéier hu mir "schmerzhaft" ënnerenee verhandelt. Mir haten och net genuch Codeofdeckung mat Tester, en Zäitopwendende manuelle Liwwerprozess, a kee Wee fir d'Liwwerung vum Code mat der Hëllef vun enger Aufgab oder Clientfuerderung ze verfolgen.

Et war kloer, datt dréngend eppes muss gemaach ginn, an ech hunn e Kolleg fonnt. Mir hu beschloss déi éischt DevOps Kette zesummen ze kreéieren - hien huet eng virtuell Maschinn an en Tomcat Applikatiounsserver opgeriicht, an ech hu mech ëm Jenkins gekëmmert, Integratioun mat Atlassian Jira a BitBucket, souwéi Code Ofdeckung mat Tester. De Projet war erfollegräich: mir hunn d'Entwécklungskette voll automatiséiert, bal 100% Uptime um Entwécklungsserver erreecht, konnten d'Codedeckung mat Tester iwwerwaachen an verbesseren, an eng Git Branche konnt un eng Jira Liwwerung an Emissioun gebonne ginn. A bal all Tools, déi mir benotzt hunn fir d'DevOps Kette ze bauen waren Open Source.

Tatsächlech gouf d'Kette vereinfacht, well mir net emol fortgeschratt Konfiguratiounen mat Jenkins oder Ansible applizéiert hunn. Mee mir hunn et gelongen. Vläicht ass dat eng Konsequenz vum Prinzip Pareto (aka d'80/20 Regel).

Eng kuerz Beschreiwung vun der DevOps an CI / CD Kette

DevOps huet verschidden Definitiounen. DevOps, wéi Agile, enthält verschidden Disziplinnen. Awer déi meescht wäerte mat der folgender Definitioun averstane sinn: DevOps ass eng Method, oder Liewenszyklus, vu Softwareentwécklung, den Haaptprinzip vun deem ass eng Kultur ze kreéieren wou Entwéckler an aner Mataarbechter "op der selwechter Wellelängt" sinn, manuell Aarbecht ass automatiséiert, jidderee mécht wat en am Beschten ass, d'Frequenz vun de Liwwerungen erhéicht, d'Produktivitéit vun der Aarbecht erhéicht, d'Flexibilitéit erhéicht.

Wärend Tools eleng net genuch sinn fir en DevOps Ëmfeld ze kreéieren, si sinn onverzichtbar. Déi wichtegst vun dësen ass kontinuéierlech Integratioun a kontinuéierlech Liwwerung (CI / CD). Et gi verschidde Stadien an der Kette fir all Ëmfeld (zB DEV (Entwécklung), INT (Integratioun), TST (Test), QA (Qualitéitssécherung), UAT (Benotzer Akzeptanz Testen), STG (Virbereedung), PROD (Benotzung)) , manuell Aufgaben sinn automatiséiert, Entwéckler kënnen Qualitéitscode produzéieren, liwweren a kënnen einfach nei opbauen.

Dës Notiz beschreift wéi Dir eng DevOps Kette a fënnef Schrëtt erstellt, wéi am Bild hei ënnen gewisen, mat Open Source Tools.

Dummies Guide: Bauen DevOps Ketten mat Open Source Tools

Loosst eis op d'Geschäft kommen.

Schrëtt 1: CI / CD Plattform

Als éischt braucht Dir e CI / CD Tool. Jenkins ass en MIT-lizenzéierte, Open-Source CI/CD-Tool geschriwwen op Java, deen d'DevOps-Bewegung populariséiert huet an den de facto Standard fir CICD gouf.

Wat ass Jenkins? Stellt Iech vir datt Dir eng magesch Kontrollpanel fir eng Rei Servicer an Tools hutt. Eleng ass e CI / CD Tool wéi Jenkins nëtzlos, awer mat verschiddenen Tools a Servicer gëtt et allmächteg.

Zousätzlech zu Jenkins ginn et vill aner Open Source Tools, wielt all.

Dummies Guide: Bauen DevOps Ketten mat Open Source Tools

Hei ass wéi en DevOps Prozess mat engem CI / CD Tool ausgesäit

Dummies Guide: Bauen DevOps Ketten mat Open Source Tools

Dir hutt e CI / CD Tool am localhost, awer et ass nach net vill ze maachen. Loosst eis op den nächste Schrëtt weidergoen.

Schrëtt 2: Versioun

Dee beschten (a wahrscheinlech einfachste) Wee fir d'Magie vun engem CI / CD-Tool ze testen ass et mat engem Quellkontrollmanagement (SCM) Tool z'integréieren. Firwat braucht Dir Versiounskontroll? Loosst eis soen datt Dir eng Demande maacht. Dir schreift et op Java, Python, C++, Go, Ruby, JavaScript, oder all aner Sprooch, déi e Won an e klenge Weenchen ass. Wat Dir schreift gëtt Quellcode genannt. Am Ufank, besonnesch wann Dir eleng schafft, kënnt Dir alles an e lokale Verzeichnis späicheren. Awer wéi de Projet wiisst a méi Leit bäitrieden, braucht Dir e Wee fir Code Ännerungen ze deelen, awer Konflikter ze vermeiden wann Dir Ännerungen fusionéiert. An Dir musst och iergendwéi fréier Versioune restauréieren ouni Backups ze benotzen an d'Copy-Paste Method fir Codedateien ze benotzen.

An hei ouni SCM iwwerall. De SCM späichert Code a Repositories, geréiert Versioune dovun, a koordinéiert et tëscht Entwéckler.

Et gi vill SCM Tools, awer Git ass verdéngt den de facto Standard ginn. Ech roden Iech et ze benotzen, awer et ginn aner Optiounen.

Dummies Guide: Bauen DevOps Ketten mat Open Source Tools

Hei ass wéi d'DevOps Pipeline ausgesäit nodeems de SCM bäigefüügt gouf.

Dummies Guide: Bauen DevOps Ketten mat Open Source Tools

D'CI / CD-Tool kann d'Quellcode-Upload an eroflueden an d'Team-Zesummenaarbecht automatiséieren. Net schlecht? Awer elo wéi eng Aarbechtsapplikatioun aus dësem ze maachen, beléift vu Milliarde Benotzer?

Schrëtt 3: Build Automation Tool

Alles leeft wéi et soll. Dir kënnt Code eropluede an Ännerungen un d'Quellkontroll verpflichte, a Frënn invitéieren fir mat Iech ze schaffen. Awer Dir hutt nach keng App. Fir dëst eng Webapplikatioun ze sinn, muss se kompiléiert a verpackt ginn fir d'Verdeelung oder als ausführbar lafen. (Eng interpretéiert Programméierungssprooch wéi JavaScript oder PHP brauch net kompiléiert ze ginn.)

Benotzt e Bauautomatiséierungsinstrument. Egal wéi en Tool Dir wielt, et wäert de Code am richtege Format zesummestellen an automatiséieren Botzen, Kompiléierung, Testen a Liwwerung. Build Tools variéiere vu Sprooch, awer déi folgend Open Source Optiounen ginn allgemeng benotzt.

Dummies Guide: Bauen DevOps Ketten mat Open Source Tools

Perfekt! Loosst eis elo d'Konfiguratiounsdateien vum Bauautomatiséierungsinstrument an d'Quellkontroll setzen, sou datt de CI / CD Tool se baut.

Dummies Guide: Bauen DevOps Ketten mat Open Source Tools

Et fillt sech gutt. Awer wou soll dat elo alles ausrollen?

Schrëtt 4: Web Applikatioun Server

Also, Dir hutt eng verpackte Datei déi ausgefouert oder ausgerullt ka ginn. Fir eng Applikatioun wierklech nëtzlech ze sinn, muss se eng Zort Service oder Interface hunn, awer Dir musst alles iergendwou setzen.

Eng Webapplikatioun kann op engem Webapplikatiounsserver gehost ginn. Den Applikatiounsserver bitt en Ëmfeld wou Dir Programmlogik aus engem Package ausféiere kënnt, Interface Rendering ausféieren, a Webservicer iwwer e Socket exponéieren. Dir braucht en HTTP-Server an e puer aner Ëmfeld (eng virtuell Maschinn, zum Beispill) fir den Applikatiounsserver z'installéieren. Fir de Moment, loosst eis maachen wéi wann Dir mat all deem handelt wéi Dir gitt (och wann ech iwwer Container hei drënner schwätzen).

Et gi verschidde oppe Webapplikatiounsserveren.

Dummies Guide: Bauen DevOps Ketten mat Open Source Tools

Mir hu schonn eng bal funktionéierend DevOps Kette. Super Aarbecht!

Dummies Guide: Bauen DevOps Ketten mat Open Source Tools

Am Prinzip kënnt Dir hei ophalen, da kënnt Dir et selwer handhaben, awer et ass derwäert iwwer d'Qualitéit vum Code ze schwätzen.

Schrëtt 5: Test Ofdeckung

Testen brauch vill Zäit an Effort, awer et ass besser Bugs direkt ze fannen an de Code ze verbesseren fir Endbenotzer ze gefalen. Fir dësen Zweck ginn et vill oppen Tools, déi net nëmmen de Code testen, awer och beroden wéi een et verbessert. Déi meescht CI / CD Tools kënnen an dës Tools pluggen an de Prozess automatiséieren.

Testen ass an zwee Deeler opgedeelt: Testkader fir Tester ze schreiwen an auszeféieren, an Tools mat Hiweiser fir Codequalitéit ze verbesseren.

Test Kaderen

Dummies Guide: Bauen DevOps Ketten mat Open Source Tools

Tools mat Qualitéit Tipps

Dummies Guide: Bauen DevOps Ketten mat Open Source Tools

Déi meescht vun dësen Tools a Kadere si fir Java, Python a JavaScript geschriwwe well C++ an C# propriétaire sinn (obwuel GCC Open Source ass).

Mir hunn d'Testofdeckungstools applizéiert, an elo sollt d'DevOps Pipeline ausgesinn wéi d'Bild am Ufank vum Tutorial.

Zousätzlech Schrëtt

Container

Wéi ech virdru gesot hunn, kann en Applikatiounsserver an enger virtueller Maschinn oder engem Server gehost ginn, awer Container si méi populär.

Wat sinn Container? Kuerz gesot, an enger virtueller Maschinn hëlt de Betribssystem dacks méi Plaz op wéi d'Applikatioun, an e Container geet normalerweis mat e puer Bibliothéiken a Konfiguratioun duer. A verschiddene Fäll sinn virtuell Maschinnen onverzichtbar, awer de Container kann d'Applikatioun zesumme mam Server ouni extra Käschten ophuelen.

Fir Container ginn Docker a Kubernetes normalerweis geholl, obwuel et aner Optiounen sinn.

Dummies Guide: Bauen DevOps Ketten mat Open Source Tools

Liest Artikelen iwwer Docker a Kubernetes op opensource.com:

Middleware Automatisatiounsinstrumenter

Eis DevOps Kette ass fokusséiert op Zesummenaarbecht a Liwwerung vun enger Applikatioun, awer et ginn aner interessant Saachen déi Dir mat DevOps Tools maache kënnt. Zum Beispill benotzt Infrastruktur als Code (IaC) Tools, och bekannt als Middleware Automatisatiounsinstrumenter. Dës Tools hëllefen d'Installatioun, d'Gestioun an aner Aufgaben fir Middleware ze automatiséieren. Zum Beispill kann en Automatisatiounsinstrument Uwendungen (Webapplikatiounsserver, Datebank, Iwwerwaachungsinstrumenter) mat de richtege Konfiguratiounen huelen an se op den Applikatiounsserver drécken.

Hei sinn e puer Optiounen fir oppe Middleware Automatiséierungstools:

Dummies Guide: Bauen DevOps Ketten mat Open Source Tools

Detailer an den Artikelen opensource.com:

Waat elo?

Dëst ass just den Tipp vum Äisbierg. D'DevOps Kette kann vill méi maachen. Fänkt mat engem CI / CD Tool un a kuckt wat Dir nach automatiséiert fir Är Aarbecht méi einfach ze maachen. Vergiesst net iwwer oppe Kommunikatiounsinstrumenter fir effektiv Zesummenaarbecht.

Hei sinn e puer méi gutt DevOps Artikele fir Ufänger:

Dir kënnt och DevOps mat oppenen agile Tools integréieren:

Source: will.com

Setzt e Commentaire