የዱሚዎች መመሪያ፡ የዴቭኦፕስ ሰንሰለቶችን በክፍት ምንጭ መሳሪያዎች መገንባት

የዱሚዎች መመሪያ፡ የዴቭኦፕስ ሰንሰለቶችን በክፍት ምንጭ መሳሪያዎች መገንባት
የመጀመሪያውን የ DevOps ሰንሰለት በአምስት ደረጃዎች ለጀማሪዎች መፍጠር።

DevOps በጣም ቀርፋፋ፣ የተበታተኑ እና ሌላም ችግር ላለባቸው የእድገት ሂደቶች መድኃኒት ሆኗል። ግን ስለ DevOps አነስተኛ እውቀት ያስፈልግዎታል። እንደ DevOps ሰንሰለት እና በአምስት እርከኖች ውስጥ አንዱን እንዴት መፍጠር እንደሚቻል ያሉ ጽንሰ-ሐሳቦችን ይሸፍናል. ይህ የተሟላ መመሪያ አይደለም, ነገር ግን ሊሰፋ የሚችል "ዓሣ" ብቻ ነው. ከታሪክ እንጀምር።

የዴቭኦፕስ መግቢያዬ

በአንድ ወቅት በCiti ግሩፕ ውስጥ በደመና ውስጥ ሰርቼ የሲቲ የደመና መሠረተ ልማትን ለማስተዳደር የIaaS ዌብ አፕሊኬሽን አዘጋጅቼ ነበር፣ ነገር ግን የእድገት ሰንሰለቱን እንዴት እንደምናስተካክል እና በገንቢዎች መካከል ያለውን ባህል እንዴት ማሻሻል እንደምንችል ሁልጊዜ ፍላጎት ነበረኝ። ግሬግ ላቬንደር፣ የእኛ CTO ለ Cloud Architecture and Infrastructure፣ መጽሐፉን ጠቁሞኛል። ፕሮጀክት "ፊኒክስ". እሱ የዴቭኦፕስ መርሆዎችን በትክክል ያብራራል እና እንደ ልብ ወለድ ያነባል።

የሠንጠረዡ ዝርዝር ኩባንያዎች አዳዲስ ስሪቶችን በምን ያህል ጊዜ እንደሚለቁ ያሳያል፡-

የዱሚዎች መመሪያ፡ የዴቭኦፕስ ሰንሰለቶችን በክፍት ምንጭ መሳሪያዎች መገንባት

አማዞን፣ ጎግል እና ኔትፍሊክስ ብዙዎችን ለመልቀቅ እንዴት ቻሉ? ቀላል ነው፡ ከሞላ ጎደል ፍጹም የሆነ DevOps ሰንሰለት እንዴት መፍጠር እንደሚችሉ አስበው ነበር።

ወደ DevOps እስካልቀየርን ድረስ በሲቲ ነገሮች እንደዚህ አልነበሩም። ያኔ፣ የእኔ ቡድን የተለያዩ አካባቢዎች ነበሩት፣ ነገር ግን ለልማት አገልጋዩ በእጅ አደረስን። ሁሉም ገንቢዎች በ IBM WebSphere መተግበሪያ አገልጋይ የማህበረሰብ እትም ላይ የተመሰረተ አንድ የእድገት አገልጋይ ብቻ ነበራቸው። በተመሳሳይ ጊዜ ለማቅረብ ስንሞክር አገልጋዩ ተበላሽቷል, እና በእያንዳንዱ ጊዜ "በህመም" እርስ በርስ መደራደር ነበረብን. እንዲሁም የኮዱ በቂ ያልሆነ የሙከራ ሽፋን፣ ጉልበት የሚጠይቅ በእጅ ማድረስ ሂደት፣ እና በሆነ ተግባር ወይም የደንበኛ ፍላጎት ላይ በመታገዝ የኮድ አቅርቦትን የምንከታተልበት መንገድ አልነበረንም።

አንድ ነገር በአስቸኳይ መደረግ እንዳለበት ግልጽ ነበር፣ እና ተመሳሳይ አስተሳሰብ ያለው የስራ ባልደረባ አገኘሁ። የመጀመሪያውን DevOps ሰንሰለት አንድ ላይ ለመፍጠር ወሰንን - እሱ ምናባዊ ማሽን እና የ Tomcat መተግበሪያ አገልጋይ አቋቋመ እና ጄንኪንስን ፣ ከአትላሲያን ጂራ እና ቢትቡኬት ጋር መቀላቀልን እንዲሁም ከፈተናዎች ጋር የኮድ ሽፋንን ተንከባከብኩ። ፕሮጀክቱ የተሳካ ነበር፡ የልማት ሰንሰለቱን ሙሉ በሙሉ በራስ ሰር ሰርተናል፣ በልማት አገልጋዩ ላይ 100% የሚጠጋ ጊዜ ማሳካት፣ የሙከራ ኮድ ሽፋን መከታተል እና ማሻሻል እንችላለን፣ እና የጊት ቅርንጫፍ ከጂራ አቅርቦት እና እትም ጋር ሊገናኝ ይችላል። እና የዴቭኦፕስን ሰንሰለት ለመገንባት የተጠቀምንባቸው መሳሪያዎች በሙሉ ማለት ይቻላል ክፍት ምንጭ ነበሩ።

እንደ እውነቱ ከሆነ ሰንሰለቱ ቀለል ያለ ነበር፣ ምክንያቱም ጄንኪንስ ወይም አንስሲል በመጠቀም የላቁ ውቅሮችን እንኳን አልተጠቀምንም። እኛ ግን ተሳክቶልናል። ምናልባት ይህ የመርህ ውጤት ሊሆን ይችላል ፓሬቶ (የ 80/20 ደንብ)።

የዴቭኦፕስ እና CI/ሲዲ ሰንሰለት አጭር መግለጫ

DevOps የተለያዩ ትርጓሜዎች አሉት። DevOps፣ ልክ እንደ Agile፣ የተለያዩ ዘርፎችን ያካትታል። ግን አብዛኛዎቹ በሚከተለው ፍቺ ይስማማሉ-ዴቭኦፕስ የሶፍትዌር ልማት ዘዴ ወይም የሕይወት ዑደት ነው ፣ ዋናው መርህ ገንቢዎች እና ሌሎች ሰራተኞች “በተመሳሳይ የሞገድ ርዝመት” ውስጥ ያሉበት ባህል መፈጠር ነው ፣ የእጅ ሥራ በራስ-ሰር ይሠራል። , ሁሉም ሰው የተሻለውን ይሠራል, የመላኪያ ድግግሞሽ ይጨምራል, ምርታማነት ይጨምራል, እና ተለዋዋጭነት ይጨምራል.

የዴቭኦፕስ አካባቢን ለመፍጠር መሳሪያዎች ብቻ በቂ ባይሆኑም፣ ያለነሱ ማድረግ አይችሉም። ከእነዚህ ውስጥ በጣም አስፈላጊው ቀጣይነት ያለው ውህደት እና ቀጣይነት ያለው አቅርቦት (CI/CD) ነው። ለእያንዳንዱ አካባቢ በሰንሰለት ውስጥ የተለያዩ ደረጃዎች አሉ (ለምሳሌ, DEV (ልማት), INT (ውህደት), TST (ሙከራ), QA (የጥራት ቁጥጥር), UAT (የተጠቃሚ ተቀባይነት ሙከራ), STG (ዝግጅት), PROD (አጠቃቀም). )) በእጅ የሚሰሩ ስራዎች አውቶማቲክ ናቸው፣ ገንቢዎች ጥራት ያለው ኮድ ማምረት፣ ማድረስ እና በቀላሉ እንደገና መገንባት ይችላሉ።

ይህ ማስታወሻ ከታች በምስሉ ላይ እንደሚታየው የክፍት ምንጭ መሳሪያዎችን በመጠቀም የዴቭኦፕስን ሰንሰለት በአምስት ደረጃዎች እንዴት መፍጠር እንደሚቻል ይገልጻል።

የዱሚዎች መመሪያ፡ የዴቭኦፕስ ሰንሰለቶችን በክፍት ምንጭ መሳሪያዎች መገንባት

ወደ ስራ እንውረድ።

ደረጃ 1፡ CI/CD Platform

በመጀመሪያ ደረጃ, የ CI / ሲዲ መሳሪያ ያስፈልግዎታል. ጄንኪንስ የዴቭኦፕስ እንቅስቃሴን መስፋፋት የጀመረ እና ለ CICD ዋና መስፈርት የሆነ የ MIT ፍቃድ ያለው በጃቫ የተጻፈ ክፍት CI/CD መሳሪያ ነው።

ጄንኪንስ ምንድን ነው? ለተለያዩ አገልግሎቶች እና መሳሪያዎች ምትሃታዊ የቁጥጥር ፓነል እንዳለህ አስብ። በራሱ፣ እንደ ጄንኪንስ ያለ የሲአይ/ሲዲ መሳሪያ ምንም ፋይዳ የለውም፣ ነገር ግን በተለያዩ መሳሪያዎች እና አገልግሎቶች ሁሉን ቻይ ይሆናል።

ከጄንኪንስ በተጨማሪ ብዙ ክፍት ምንጭ መሳሪያዎች አሉ ፣ ማንኛውንም ይምረጡ።

የዱሚዎች መመሪያ፡ የዴቭኦፕስ ሰንሰለቶችን በክፍት ምንጭ መሳሪያዎች መገንባት

የዴቭኦፕስ ሂደት በCI/CD መሳሪያ ይህን ይመስላል

የዱሚዎች መመሪያ፡ የዴቭኦፕስ ሰንሰለቶችን በክፍት ምንጭ መሳሪያዎች መገንባት

በ localhost ውስጥ CI/CD መሳሪያ አለህ፣ ግን ገና ብዙ የሚሠራው ነገር የለም። ወደሚቀጥለው ደረጃ እንሂድ።

ደረጃ 2፡ የስሪት ቁጥጥር

የ CI/CD መሳሪያን አስማት ለመፈተሽ ምርጡ (እና ምናልባትም ቀላሉ) መንገድ ከምንጭ መቆጣጠሪያ (ሲ.ሲ.ኤም.) መሳሪያ ጋር ማዋሃድ ነው። ለምን የስሪት ቁጥጥር ያስፈልግዎታል? ማመልከቻ እያቀረቡ ነው እንበል። በጃቫ፣ ፓይዘን፣ ሲ++፣ ጎ፣ ሩቢ፣ ጃቫስክሪፕት ወይም ሌላ ቋንቋ ይጽፉታል፣ ከእነዚህም ውስጥ ሰረገላ እና ትንሽ ጋሪ ባለው። የምትጽፈው ምንጭ ኮድ ይባላል። መጀመሪያ ላይ፣ በተለይ ብቻህን እየሠራህ ከሆነ፣ ሁሉንም ነገር በአካባቢያዊ ማውጫ ውስጥ ማስቀመጥ ትፈልግ ይሆናል። ነገር ግን አንድ ፕሮጀክት ሲያድግ እና ብዙ ሰዎች ሲቀላቀሉ፣ የኮድ ለውጦችን የሚጋሩበት መንገድ ያስፈልግዎታል ነገር ግን ግጭቶችን ከመቀላቀል ይቆጠቡ። እንዲሁም ምትኬዎችን ሳይጠቀሙ እና ለኮድ ፋይሎች የኮፒ-መለጠፍ ዘዴን ሳይጠቀሙ የቀደሙትን ስሪቶች በሆነ መንገድ ወደነበሩበት መመለስ ያስፈልግዎታል።

እና እዚህ ያለ SCM መሄድ አይችሉም. SCM ኮድ በማጠራቀሚያዎች ውስጥ ያከማቻል፣ እትሞቹን ያስተዳድራል እና በገንቢዎች መካከል ያስተባብራል።

ብዙ የኤስ.ሲ.ኤም መሳሪያዎች አሉ፣ ግን Git በተገቢው ሁኔታ የእውነተኛ ደረጃ መሆን አለበት። ይህንን እንዲጠቀሙ እመክራለሁ, ግን ሌሎች አማራጮችም አሉ.

የዱሚዎች መመሪያ፡ የዴቭኦፕስ ሰንሰለቶችን በክፍት ምንጭ መሳሪያዎች መገንባት

SCM ከተጨመረ በኋላ የዴቭኦፕስ ቧንቧ መስመር ይህን ይመስላል።

የዱሚዎች መመሪያ፡ የዴቭኦፕስ ሰንሰለቶችን በክፍት ምንጭ መሳሪያዎች መገንባት

የሲአይ/ሲዲ መሳሪያ የምንጭ ኮድ መጫን እና ማውረድ እና የቡድን ትብብርን በራስ ሰር ማድረግ ይችላል። መጥፎ አይደለም? ግን አሁን ይህንን በቢሊዮኖች በሚቆጠሩ ተጠቃሚዎች ወደሚወደው የስራ መተግበሪያ እንዴት መለወጥ እንችላለን?

ደረጃ 3፡ አውቶሜሽን መሣሪያን ይገንቡ

ሁሉም ነገር እንደ ሚገባው እየሄደ ነው። ኮድ መስቀል እና በስሪት ቁጥጥር ላይ ለውጦችን ማድረግ እና ጓደኛዎች ከእርስዎ ጋር እንዲሰሩ መጋበዝ ይችላሉ። ግን እስካሁን መተግበሪያው የሎትም። የድር አፕሊኬሽን ይሆን ዘንድ፣ ተሰብስቦ ለመላክ የታሸገ ወይም እንደ ተፈጻሚ ፋይል መሆን አለበት። (እንደ ጃቫ ስክሪፕት ወይም ፒኤችፒ ያለ የተተረጎመ የፕሮግራሚንግ ቋንቋ ማጠናቀር አያስፈልግም።)

የግንባታ አውቶማቲክ መሣሪያን ይጠቀሙ። የትኛውንም መሳሪያ የመረጡት ኮዱን በሚፈለገው ቅርጸት ይሰበስባል እና በራስ-ሰር የማጽዳት፣ የማጠናቀር፣ የመሞከር እና የማድረስ ስራ ይሰራል። የግንባታ መሳሪያዎች እንደ ቋንቋው ይለያያሉ, ነገር ግን የሚከተሉት ክፍት ምንጭ አማራጮች በብዛት ጥቅም ላይ ይውላሉ.

የዱሚዎች መመሪያ፡ የዴቭኦፕስ ሰንሰለቶችን በክፍት ምንጭ መሳሪያዎች መገንባት

ፍጹም! አሁን CI/CD መሳሪያው እንዲገነባ የግንባታ አውቶሜሽን መሳሪያ ውቅር ፋይሎችን በስሪት ቁጥጥር ስርዓት ውስጥ እናስገባቸው።

የዱሚዎች መመሪያ፡ የዴቭኦፕስ ሰንሰለቶችን በክፍት ምንጭ መሳሪያዎች መገንባት

ጥሩ ስሜት ይሰማዋል. ግን ይህን ሁሉ አሁን የት እናውጣ?

ደረጃ 4፡ የድር መተግበሪያ አገልጋይ

ስለዚህ፣ ሊተገበር ወይም ሊለቀቅ የሚችል የታሸገ ፋይል አለዎት። አፕሊኬሽኑ በእውነት ጠቃሚ እንዲሆን አንዳንድ አይነት አገልግሎት ወይም በይነገጽ ሊኖረው ይገባል ነገርግን ሁሉንም ነገር አንድ ቦታ ላይ ማስቀመጥ ያስፈልግዎታል።

የድር መተግበሪያ በድር መተግበሪያ አገልጋይ ላይ ሊስተናገድ ይችላል። አፕሊኬሽኑ አገልጋዩ የፕሮግራም ሎጂክን ከጥቅሉ ላይ ማስፈጸም፣በይነገጽ ማቅረብ እና የድር አገልግሎቶችን በሶኬት ማጋለጥ የሚችሉበትን አካባቢ ይሰጣል። አፕሊኬሽኑን ለመጫን የኤችቲቲፒ አገልጋይ እና ሌሎች በርካታ አካባቢዎች (ምናባዊ ማሽን ለምሳሌ) ያስፈልግዎታል። ለአሁን፣ ይህን እየሄድክ እንዳለህ እናስብ (ከዚህ በታች ስለ ኮንቴይነሮች ብናገርም)።

በርካታ ክፍት የድር መተግበሪያ አገልጋዮች አሉ።

የዱሚዎች መመሪያ፡ የዴቭኦፕስ ሰንሰለቶችን በክፍት ምንጭ መሳሪያዎች መገንባት

ቀድሞውኑ የሚሰራ DevOps ሰንሰለት አለን ማለት ይቻላል። ታላቅ ስራ!

የዱሚዎች መመሪያ፡ የዴቭኦፕስ ሰንሰለቶችን በክፍት ምንጭ መሳሪያዎች መገንባት

በመርህ ደረጃ, እዚህ ማቆም ይችላሉ, የቀረውን እራስዎ መቋቋም ይችላሉ, ነገር ግን ስለ ኮዱ ጥራት ማውራት ጠቃሚ ነው.

ደረጃ 5፡ የሙከራ ሽፋን

ሙከራ ብዙ ጊዜ እና ጥረት ይጠይቃል፣ ነገር ግን ወዲያውኑ ስህተቶችን መፈለግ እና የመጨረሻ ተጠቃሚዎችን ለማስደሰት ኮዱን ማሻሻል የተሻለ ነው። ለዚሁ ዓላማ, ኮዱን ለመፈተሽ ብቻ ሳይሆን እንዴት ማሻሻል እንደሚችሉ ምክር የሚሰጡ ብዙ ክፍት መሳሪያዎች አሉ. አብዛኛዎቹ የሲአይ/ሲዲ መሳሪያዎች ከእነዚህ መሳሪያዎች ጋር ሊገናኙ እና ሂደቱን በራስ-ሰር ማድረግ ይችላሉ።

ሙከራ በሁለት ክፍሎች የተከፈለ ነው፡ የመፃፍ እና የፈተና ሙከራዎችን ለመፈተሽ እና የኮድ ጥራትን ለማሻሻል ጠቃሚ ምክሮች ያላቸው መሳሪያዎች።

ማዕቀፎችን በመሞከር ላይ

የዱሚዎች መመሪያ፡ የዴቭኦፕስ ሰንሰለቶችን በክፍት ምንጭ መሳሪያዎች መገንባት

ጥራት ያላቸው ምክሮች ያላቸው መሳሪያዎች

የዱሚዎች መመሪያ፡ የዴቭኦፕስ ሰንሰለቶችን በክፍት ምንጭ መሳሪያዎች መገንባት

አብዛኛዎቹ እነዚህ መሳሪያዎች እና ማዕቀፎች የተፃፉት ለጃቫ፣ ፓይዘን እና ጃቫ ስክሪፕት ነው ምክንያቱም C++ እና C # ባለቤትነት ያላቸው ናቸው (ምንም እንኳን ጂሲሲ ክፍት ምንጭ ቢሆንም)።

የሙከራ ሽፋን መሳሪያዎችን ተግባራዊ አድርገናል, እና አሁን የዴቭኦፕስ ቧንቧ መስመር በመመሪያው መጀመሪያ ላይ ያለውን ምስል መምሰል አለበት.

ተጨማሪ እርምጃዎች

ኮንቴይነሮች

እንዳልኩት የመተግበሪያው አገልጋይ በቨርቹዋል ማሽን ወይም አገልጋይ ላይ ሊስተናገድ ይችላል ነገርግን ኮንቴይነሮች የበለጠ ተወዳጅ ናቸው።

መያዣዎች ምንድን ናቸው? በአጭሩ, በቨርቹዋል ማሽን ውስጥ ኦፕሬቲንግ ሲስተሙ ብዙውን ጊዜ ከመተግበሪያው የበለጠ ቦታ ይይዛል, እና መያዣው ብዙውን ጊዜ ጥቂት ቤተ-መጻሕፍት እና ውቅር ብቻ ያስፈልገዋል. በአንዳንድ ሁኔታዎች ቨርቹዋል ማሽኖች የግድ አስፈላጊ ናቸው ነገርግን ኮንቴይነሩ ያለምንም ወጪ ከአገልጋዩ ጋር አፕሊኬሽኑን ያስተናግዳል።

ለመያዣዎች, ዶከር እና ኩበርኔትስ አብዛኛውን ጊዜ ጥቅም ላይ ይውላሉ, ምንም እንኳን ሌሎች አማራጮች ቢኖሩም.

የዱሚዎች መመሪያ፡ የዴቭኦፕስ ሰንሰለቶችን በክፍት ምንጭ መሳሪያዎች መገንባት

ስለ ዶከር እና ኩበርኔትስ በ ላይ ጽሑፎችን ያንብቡ opensource.com:

ሚድልዌር አውቶሜሽን መሳሪያዎች

የእኛ DevOps ሰንሰለቱ በትብብር አፕሊኬሽን በመገንባት እና በማድረስ ላይ ያተኮረ ነው፣ ነገር ግን በDevOps መሳሪያዎች ልታደርጋቸው የምትችላቸው ሌሎች ጥሩ ነገሮች አሉ። ለምሳሌ፣ መሠረተ ልማትን እንደ ኮድ (IaC) መሳሪያዎችን ይጠቀሙ፣ እንዲሁም የመካከለኛ ዌር አውቶማቲክ መሳሪያዎች ተብለው ይጠራሉ ። እነዚህ መሳሪያዎች የመሃል ዌር መጫንን፣ ማስተዳደርን እና ሌሎች ስራዎችን በራስ ሰር ለመስራት ይረዳሉ። ለምሳሌ፣ አንድ አውቶሜሽን መሳሪያ አፕሊኬሽኖችን (የድር አፕሊኬሽን ሰርቨር፣ ዳታቤዝ፣ የክትትል መሳሪያዎች) ከትክክለኛ አወቃቀሮች ጋር ወስዶ ወደ አፕሊኬሽኑ አገልጋይ ሊዘረጋ ይችላል።

አንዳንድ የክፍት ምንጭ መካከለኛ ዌር አውቶሜሽን መሳሪያ አማራጮች እዚህ አሉ፡

የዱሚዎች መመሪያ፡ የዴቭኦፕስ ሰንሰለቶችን በክፍት ምንጭ መሳሪያዎች መገንባት

ላይ ባሉ መጣጥፎች ውስጥ ዝርዝሮች opensource.com:

አሁን ምን?

ይህ የበረዶ ግግር ጫፍ ብቻ ነው. የዴቭኦፕስ ሰንሰለት ብዙ ተጨማሪ ሊያደርግ ይችላል። ስራዎን ቀላል ለማድረግ በCI/CD መሳሪያ ይጀምሩ እና ሌላ ምን በራስ-ሰር መስራት እንደሚችሉ ይመልከቱ። ስለ አትርሳ ክፍት የመገናኛ መሳሪያዎች ውጤታማ ትብብር ለማግኘት.

ስለ DevOps ለጀማሪዎች አንዳንድ ተጨማሪ ጥሩ ጽሑፎች እነሆ፡-

እንዲሁም DevOpsን ለአቅጣጫ ክፍት ከሆኑ መሳሪያዎች ጋር ማዋሃድ ትችላለህ፡-

ምንጭ: hab.com

አስተያየት ያክሉ