werf 1.1 መልቀቅ፡ ዛሬ ለገንቢው ማሻሻያዎች እና የወደፊት ዕቅዶች

werf 1.1 መልቀቅ፡ ዛሬ ለገንቢው ማሻሻያዎች እና የወደፊት ዕቅዶች

werf መተግበሪያዎችን ወደ ኩበርኔትስ ለመገንባት እና ለማድረስ የእኛ ክፍት ምንጭ GitOps CLI መገልገያ ነው። በገባው ቃል መሰረት ስሪት v1.0 መለቀቅ በ werf ላይ አዳዲስ ባህሪያትን መጨመር እና ባህላዊ አቀራረቦችን ማሻሻል መጀመሩን አመልክቷል። አሁን ልቀት v1.1 ን በማቅረብ ደስተኞች ነን፣ ይህም በልማት ውስጥ ትልቅ እርምጃ እና ለወደፊቱ መሰረት ነው። ሰብሳቢ werf. ስሪቱ በአሁኑ ጊዜ በ ውስጥ ይገኛል። ቻናል 1.1 e.

የመልቀቂያው መሠረት አዲሱ የመድረክ ማከማቻ እና የሁለቱም ሰብሳቢዎች ሥራ ማመቻቸት ነው (ለስታፔል እና ዶከርፋይል)። አዲሱ የማከማቻ አርክቴክቸር ከበርካታ አስተናጋጆች የተከፋፈሉ ስብሰባዎችን እና በተመሳሳይ አስተናጋጅ ላይ ትይዩ ስብሰባዎችን የመተግበር እድልን ይከፍታል።

ሥራን ማመቻቸት የመድረክ ፊርማዎችን በማስላት ደረጃ ላይ ያሉትን አላስፈላጊ ስሌቶችን ማስወገድ እና የፋይል ቼኮችን ለማስላት የሚረዱ ዘዴዎችን ወደ ይበልጥ ቀልጣፋ መለወጥን ያጠቃልላል። ይህ ማመቻቸት werf በመጠቀም የፕሮጀክት ግንባታ አማካይ ጊዜን ይቀንሳል። እና ስራ ፈት ይገነባል፣ ሁሉም ደረጃዎች በመሸጎጫው ውስጥ ሲኖሩ ደረጃዎች-ማከማቻአሁን በጣም ፈጣን ናቸው። በአብዛኛዎቹ ሁኔታዎች ግንባታውን እንደገና ማስጀመር ከ 1 ሰከንድ ያነሰ ጊዜ ይወስዳል! ይህ በቡድን ሥራ ሂደት ውስጥ ደረጃዎችን ለማረጋገጥ ሂደቶችን ይመለከታል። werf deploy и werf run.

እንዲሁም በዚህ ልቀት ውስጥ ምስሎችን በይዘት መለያ የማድረግ ስልት ታየ - ይዘት ላይ የተመሠረተ መለያ መስጠትአሁን በነባሪነት የነቃ እና ብቸኛው የሚመከር።

በ werf v1.1 ውስጥ ያሉትን ቁልፍ ፈጠራዎች በጥልቀት እንመርምር እና በተመሳሳይ ጊዜ ስለወደፊቱ እቅዶች እንነግርዎታለን።

በ werf v1.1 ውስጥ ምን ተቀይሯል?

ከመሸጎጫ ውስጥ ደረጃዎችን ለመምረጥ አዲስ ደረጃ መሰየም ቅርጸት እና አልጎሪዝም

አዲስ የመድረክ ስም ትውልድ ደንብ. አሁን እያንዳንዱ ደረጃ ግንባታ ልዩ የመድረክ ስም ያመነጫል፣ እሱም 2 ክፍሎችን ያቀፈ፡ ፊርማ (በ v1.0 እንደነበረው) እና ልዩ ጊዜያዊ መለያ።

ለምሳሌ፣ የሙሉ መድረክ ምስል ስም ይህን ሊመስል ይችላል።

werf-stages-storage/myproject:d2c5ad3d2c9fcd9e57b50edd9cb26c32d156165eb355318cebc3412b-1582656767835

... ወይም በአጠቃላይ፡-

werf-stages-storage/PROJECT:SIGNATURE-TIMESTAMP_MILLISEC

እዚህ:

  • SIGNATURE የመድረክ ፊርማ ነው፣ የመድረክ ይዘት መለያን የሚወክል እና ወደዚህ ይዘት ባመጣው በ Git ውስጥ ባለው የአርትዖት ታሪክ ላይ የሚመረኮዝ ነው።
  • TIMESTAMP_MILLISEC አዲስ ምስል በሚገነባበት ጊዜ የሚፈጠር የተረጋገጠ ልዩ ምስል መለያ ነው።

ከመሸጎጫው ውስጥ ደረጃዎችን ለመምረጥ ስልተ ቀመር የ Git ፈጻሚዎችን ግንኙነት በመፈተሽ ላይ የተመሠረተ ነው-

  1. Werf የአንድ የተወሰነ ደረጃ ፊርማ ያሰላል.
  2. В ደረጃዎች-ማከማቻ ለተሰጠው ፊርማ በርካታ ደረጃዎች ሊኖሩ ይችላሉ. Werf ከፊርማው ጋር የሚዛመዱትን ሁሉንም ደረጃዎች ይመርጣል.
  3. የአሁኑ ደረጃ ከ Git (git-archive፣ ብጁ ደረጃ ከ Git patches) ጋር ከተገናኘ፡ install, beforeSetup, setup; ወይም git-latest-patch)፣ ከዚያ werf የሚመርጠው ከቁርጠኝነት ጋር የተቆራኙትን ደረጃዎች ብቻ ነው፣ እሱም የወቅቱ ቅድመ አያት (ግንባታው ተብሎ ይጠራል)።
  4. ከቀሪዎቹ ተስማሚ ደረጃዎች አንዱ ተመርጧል - በፍጥረት ቀን በጣም ጥንታዊው.

ለተለያዩ የጊት ቅርንጫፎች ደረጃ አንድ አይነት ፊርማ ሊኖረው ይችላል። ነገር ግን ዌርፍ ከተለያዩ ቅርንጫፎች ጋር የተያያዘው መሸጎጫ በእነዚህ ቅርንጫፎች መካከል ጥቅም ላይ እንዳይውል ይከላከላል፣ ምንም እንኳን ፊርማዎቹ ቢመሳሰሉም።

→ ሰነዶች.

በደረጃ ማከማቻ ውስጥ ደረጃዎችን ለመፍጠር እና ለማስቀመጥ አዲስ አልጎሪዝም

ከመሸጎጫው ውስጥ ደረጃዎችን በሚመርጡበት ጊዜ werf ተስማሚ ደረጃ ካላገኘ, አዲስ ደረጃን የመሰብሰብ ሂደት ተጀምሯል.

ብዙ ሂደቶች (በአንድ ወይም ብዙ አስተናጋጆች ላይ) ተመሳሳይ ደረጃን በተመሳሳይ ጊዜ መገንባት ሊጀምሩ እንደሚችሉ ልብ ይበሉ። Werf ብሩህ የማገድ ስልተ-ቀመር ይጠቀማል ደረጃዎች-ማከማቻ አዲስ የተሰበሰበውን ምስል በ ውስጥ በማስቀመጥ ጊዜ ደረጃዎች-ማከማቻ. በዚህ መንገድ, አዲሱ ደረጃ ግንባታ ዝግጁ ሲሆን, የዊርፍ እገዳዎች ደረጃዎች-ማከማቻ እና አዲስ የተሰበሰበ ምስል እዚያ የሚያስቀምጥ ተስማሚ ምስል ከአሁን በኋላ እዚያ ከሌለ ብቻ ነው። (በፊርማ እና ሌሎች መለኪያዎች - ከመሸጎጫው ውስጥ ደረጃዎችን ለመምረጥ አዲሱን ስልተ ቀመር ይመልከቱ).

አዲስ የተሰበሰበው ምስል ልዩ መለያ እንዲኖረው ዋስትና ተሰጥቶታል። TIMESTAMP_MILLISEC (አዲሱን የደረጃ ስያሜ ቅርጸት ይመልከቱ). ውስጥ ከሆነ ደረጃዎች-ማከማቻ ተስማሚ የሆነ ምስል ይገኛል, ዌርፍ አዲስ የተጠናቀረ ምስል ይጥላል እና ምስሉን ከመሸጎጫው ይጠቀማል.

በሌላ አገላለጽ: ምስሉን መገንባትን ለመጨረስ የመጀመሪያው ሂደት (ፈጣኑ) በደረጃ-ማከማቻ ውስጥ የማከማቸት መብት ያገኛል (ከዚያም ለሁሉም ግንባታዎች የሚውለው ይህ ነጠላ ምስል ነው). ቀርፋፋ የግንባታ ሂደት ፈጣን ሂደትን አሁን ያለውን ደረጃ የግንባታ ውጤቶችን ከማዳን እና ወደሚቀጥለው ግንባታ እንዳይሄድ አያግደውም።

→ ሰነዶች.

የተሻሻለ Dockerfile ገንቢ አፈጻጸም

በአሁኑ ጊዜ ከ Dockerfile ለተገነባው ምስል የደረጃዎች ቧንቧው አንድ ደረጃን ያቀፈ ነው - dockerfile. ፊርማውን ሲያሰሉ, የፋይሎቹ ቼክ ድምር ይሰላል context, ይህም በሚሰበሰብበት ጊዜ ጥቅም ላይ ይውላል. ከዚህ ማሻሻያ በፊት፣ ዌርፍ ደጋግሞ በሁሉም ፋይሎች ውስጥ ተመላለሰ እና የእያንዳንዱን ፋይል አውድ እና ሁኔታ በማጠቃለል ቼክሰም አግኝቷል። ከv1.1 ጀምሮ፣ werf በ Git ማከማቻ ውስጥ የተከማቹ የተሰላ ቼኮችን መጠቀም ይችላል።

አልጎሪዝም የተመሰረተው git ls-ዛፍ. አልጎሪዝም መዝገቦችን ግምት ውስጥ ያስገባል .dockerignore እና አስፈላጊ ሆኖ ሲገኝ ብቻ የፋይሉን ዛፍ በተደጋጋሚ ያቋርጣል. ስለዚህ, የፋይል ስርዓቱን ከማንበብ, እና በአልጎሪዝም መጠኑ ላይ ያለውን ጥገኝነት ተለያይተናል context ወሳኝ አይደለም.

አልጎሪዝም እንዲሁ ያልተከታተሉ ፋይሎችን ይፈትሻል እና አስፈላጊ ከሆነም በቼክሱም ውስጥ ግምት ውስጥ ያስገባቸዋል።

ፋይሎችን በሚያስገቡበት ጊዜ የተሻሻለ አፈጻጸም

የ werf v1.1 ስሪቶች መቼ የ rsync አገልጋይ ይጠቀማሉ ፋይሎችን ከቅርሶች እና ምስሎች ማስመጣት. ከዚህ ቀደም ማስመጣት በሁለት ደረጃዎች የተከናወነው ከአስተናጋጁ ስርዓት ማውጫን በመጠቀም ነው።

በ macOS ላይ የማስመጣት አፈጻጸም ከአሁን በኋላ በDocker ጥራዞች የተገደበ አይደለም፣ እና ማስመጣቶች እንደ ሊኑክስ እና ዊንዶውስ በተመሳሳይ ጊዜ ይጠናቀቃሉ።

በይዘት ላይ የተመሰረተ መለያ መስጠት

Werf v1.1 በምስል ይዘት መለያ መስጠት የሚባለውን ይደግፋል - ይዘት ላይ የተመሠረተ መለያ መስጠት. የተገኙት የዶከር ምስሎች መለያዎች በእነዚህ ምስሎች ይዘት ላይ ይወሰናሉ.

ትዕዛዙን ሲያሄዱ werf publish --tags-by-stages-signature ወይም werf ci-env --tagging-strategy=stages-signature የሚባሉትን ምስሎች ታትመዋል የመድረክ ፊርማ ምስል. እያንዳንዱ ምስል በእያንዳንዱ ደረጃ መደበኛ ፊርማ በተናጥል በተመሳሳይ ደንቦች መሰረት የሚሰላው የዚህ ምስል ደረጃዎች የራሱ ፊርማ ያለው ሲሆን ነገር ግን የምስሉ አጠቃላይ መለያ ነው።

የምስሉ ደረጃዎች ፊርማ የሚወሰነው በ:

  1. የዚህ ምስል ይዘት;
  2. ወደዚህ ይዘት ያመሩት የጊት ለውጦች ታሪክ።

የጂት ማከማቻ ሁል ጊዜ የምስሉን ፋይሎች ይዘት የማይቀይሩ ዱሚ ስራዎች አሉት። ለምሳሌ፣ በአስተያየቶች ወይም በማዋሃድ ብቻ ይፈጽማል፣ ወይም በጊት ውስጥ ወደ ምስሉ የማይገቡ ፋይሎችን የሚቀይር ተግባር ይፈጽማል።

በይዘት ላይ የተመሠረተ መለያ መስጠትን በሚጠቀሙበት ጊዜ በምስሉ ላይ በተደረጉ ለውጦች ምክንያት Kubernetes ውስጥ የመተግበሪያ ፖድዎች አላስፈላጊ ዳግም ማስጀመር ችግሮች ተፈትተዋል ፣ ምንም እንኳን የምስሉ ይዘቶች ባይቀየሩም። በነገራችን ላይ ብዙ የአፕሊኬሽኖችን ማይክሮ ሰርቪስ በአንድ የጂት ማከማቻ ውስጥ ማከማቸት ከሚከለክሉት ምክንያቶች አንዱ ነው።

እንዲሁም በይዘት ላይ የተመሰረተ መለያ መስጠት በጂት ቅርንጫፎች ላይ መለያ ከማድረግ የበለጠ አስተማማኝ የመለያ ዘዴ ነው, ምክንያቱም የውጤት ምስሎች ይዘት በ CI ስርዓት ውስጥ የቧንቧ መስመሮች ተመሳሳይ ቅርንጫፍ ለመገጣጠም በቅደም ተከተል ላይ የተመካ አይደለም.

ከፍተኛ: ከአሁን ጀምሮ ደረጃዎች-ፊርማ ነው ብቸኛው የሚመከር የመለያ ስልት. በትእዛዙ ውስጥ በነባሪነት ጥቅም ላይ ይውላል werf ci-env (የተለየ የመለያ ዘዴን በግልፅ ካልገለጹ በስተቀር)።

→ ሰነዶች. የተለየ ህትመም ለዚህ ባህሪ ይተላለፋል። ተዘምኗል (ኤፕሪል 3)፡ ዝርዝር መረጃ ያለው ጽሑፍ ታትሟል.

የምዝግብ ማስታወሻ ደረጃዎች

ተጠቃሚው አሁን ውጤቱን ለመቆጣጠር, የመግቢያ ደረጃውን ለማዘጋጀት እና መረጃን በማረም ለመስራት እድሉ አለው. አማራጮች ታክለዋል። --log-quiet, --log-verbose, --log-debug.

በነባሪ፣ ውጤቱ አነስተኛውን መረጃ ይይዛል፡-

werf 1.1 መልቀቅ፡ ዛሬ ለገንቢው ማሻሻያዎች እና የወደፊት ዕቅዶች

የቃል ውፅዓት ሲጠቀሙ (--log-verbose) እንዴት እንደሚሠራ ማየት ይችላሉ-

werf 1.1 መልቀቅ፡ ዛሬ ለገንቢው ማሻሻያዎች እና የወደፊት ዕቅዶች

ዝርዝር ውጤት (--log-debug), ከ werf ማረም መረጃ በተጨማሪ ያገለገሉ ቤተ-መጻሕፍት ምዝግብ ማስታወሻዎችን ይዟል። ለምሳሌ፣ ከDocker መዝገብ ቤት ጋር እንዴት መስተጋብር እንደሚፈጠር ማየት እና እንዲሁም ከፍተኛ መጠን ያለው ጊዜ የሚጠፋባቸውን ቦታዎች መመዝገብ ይችላሉ፡

werf 1.1 መልቀቅ፡ ዛሬ ለገንቢው ማሻሻያዎች እና የወደፊት ዕቅዶች

የወደፊት እቅዶች

እባክዎ ልብ ይበሉ! ከዚህ በታች የተገለጹት አማራጮች ምልክት ተደርጎባቸዋል v1.1 በዚህ ስሪት ውስጥ ይገኛሉ፣ ብዙዎቹ በቅርብ ጊዜ ውስጥ። ዝማኔዎች በራስ-ዝማኔዎች ይመጣሉ multiwerf ሲጠቀሙ. እነዚህ ባህሪያት የv1.1 ተግባራትን የተረጋጋ ክፍል ላይ ተጽእኖ አያሳርፉም, መልካቸው በነባር ውቅሮች ውስጥ በእጅ የተጠቃሚ ጣልቃ መግባት አያስፈልገውም.

ለተለያዩ Docker Registry ትግበራዎች (አዲስ) ሙሉ ድጋፍ

ግቡ ተጠቃሚው werf ሲጠቀም ያለ ገደብ ብጁ ትግበራን እንዲጠቀም ነው።

በአሁኑ ጊዜ፣ ለሙሉ ድጋፍ ዋስትና የምንሰጥባቸው የሚከተሉትን የመፍትሄ ሃሳቦች ለይተናል።

  • ነባሪ (ቤተ-መጽሐፍት/መዝገብ ቤት)*፣
  • AWS ECR
  • አዙር*,
  • Docker Hub
  • GCR*,
  • GitHub ጥቅሎች
  • GitLab መዝገብ ቤት*,
  • ወደብ*,
  • ኩዋይ

በአሁኑ ጊዜ ሙሉ በሙሉ በ werf የተደገፉ መፍትሄዎች በኮከብ ምልክት ተደርገዋል. ለሌሎች ድጋፍ አለ፣ ግን ከአቅም ገደብ ጋር።

ሁለት ዋና ዋና ችግሮች ሊታወቁ ይችላሉ-

  • አንዳንድ መፍትሄዎች የ Docker Registry APIን በመጠቀም መለያን ማስወገድን አይደግፉም ይህም ተጠቃሚዎች የ werf አውቶማቲክ ማጽጃን እንዳይጠቀሙ ይከለክላሉ። ይህ ለAWS ECR፣ Docker Hub እና GitHub ፓኬጆች እውነት ነው።
  • አንዳንድ መፍትሄዎች የጎጆ ማከማቻዎች (Docker Hub፣ GitHub Packages እና Quay) የሚባሉትን አይደግፉም ወይም አይደግፉም፣ ነገር ግን ተጠቃሚው UI ወይም API (AWS ECR) በመጠቀም በእጅ መፍጠር አለበት።

እነዚህን እና ሌሎች ችግሮችን የምንፈታው የመፍትሄዎቹን ቤተኛ APIs በመጠቀም ነው። ይህ ተግባር የእያንዳንዳቸውን የ werf ኦፕሬሽን ሙሉ ዑደት በሙከራ መሸፈንንም ያካትታል።

የተከፋፈለ ምስል ግንባታ (↑)

  • ስሪት፡- v1.2 v1.1 (ይህን ባህሪ ተግባራዊ ለማድረግ ቅድሚያ ተሰጥቷል)
  • ቀኖች: መጋቢት-ሚያዝያ መጋቢት
  • ርዕሰ ጉዳይ

በአሁኑ ጊዜ, werf v1.0 እና v1.1 ምስሎችን ለመገንባት እና ለማተም እና መተግበሪያውን ወደ ኩበርኔትስ ለማሰማራት በአንድ የተወሰነ አስተናጋጅ ላይ ብቻ ሊያገለግሉ ይችላሉ።

የ werf የተሰራጨ ሥራ እድሎችን ለመክፈት በ Kubernetes ውስጥ የመተግበሪያዎች ግንባታ እና ማሰማራት በበርካታ የዘፈቀደ አስተናጋጆች ላይ ሲጀመር እና እነዚህ አስተናጋጆች በግንባታ (ጊዜያዊ ሯጮች) መካከል ያላቸውን ሁኔታ አያድኑም ፣ werf የመጠቀም ችሎታን ለመተግበር ያስፈልጋል። የዶከር መዝገብ ቤት እንደ መድረክ መደብር።

ቀደም ሲል የዌርፍ ፕሮጀክት አሁንም ዳፕ ተብሎ በሚጠራበት ጊዜ, እንደዚህ አይነት እድል ነበረው. ሆኖም ግን, ይህንን ተግባር በ werf ውስጥ ሲተገበሩ ግምት ውስጥ መግባት ያለባቸው በርካታ ጉዳዮችን አጋጥሞናል.

አመለከተ. ይህ ባህሪ ሰብሳቢው በ Kubernetes pods ውስጥ እንዲሰራ አይፈልግም, ምክንያቱም ይህንን ለማድረግ በአካባቢያዊው ዶከር አገልጋይ ላይ ያለውን ጥገኝነት ማስወገድ ያስፈልግዎታል (በኩበርኔትስ ፖድ ውስጥ ለአካባቢው ዶከር አገልጋይ ምንም መዳረሻ የለም ፣ ምክንያቱም ሂደቱ ራሱ በእቃ መያዣ ውስጥ ስለሚሠራ እና ዌርፍ አይደግፍም እና አይደግፍም) በአውታረ መረቡ ላይ ከዶከር አገልጋይ ጋር በመስራት ላይ)። Kubernetes ን ለማስኬድ የሚደረግ ድጋፍ በተናጠል ተግባራዊ ይሆናል.

ለ GitHub Actions (አዲስ) ይፋዊ ድጋፍ

የ werf ሰነዶችን ያካትታል (ክፍል ማጣቀሻ и መሪ), እንዲሁም ኦፊሴላዊው GitHub እርምጃ ከ werf ጋር ለመስራት።

በተጨማሪም, werf በኤፌመር ሯጮች ላይ እንዲሠራ ያስችለዋል.

የተጠቃሚ መስተጋብር መካኒኮች አፕሊኬሽኑን ለመገንባት/ለመልቀቁ የተወሰኑ እርምጃዎችን ለመጀመር በፍላጎት ጥያቄዎች ላይ መለያዎችን በማስቀመጥ ላይ የተመሠረተ ይሆናል።

ከ werf (↓) ጋር የአካባቢ ልማት እና የመተግበሪያዎች መሰማራት

ዋናው ግቡ አፕሊኬሽኖችን በአገር ውስጥ እና በምርት ላይ ለማሰማራት አንድ ወጥ የሆነ ውቅር ማሳካት ነው ያለ ውስብስብ እርምጃዎች ከሳጥኑ ውስጥ።

werf የአፕሊኬሽኑን ኮድ ለማረም እና ለማረም ከሚሰራው መተግበሪያ ወዲያውኑ ግብረመልስ የሚቀበልበት ኦፕሬቲንግ ሞድ እንዲኖረው ያስፈልጋል።

አዲስ የጽዳት ስልተ ቀመር (አዲስ)

በሂደቱ ውስጥ አሁን ባለው የ werf v1.1 ስሪት ውስጥ cleanup በይዘት ላይ ለተመሰረተው የመለያ ዘዴ ምስሎችን ለማጽዳት ምንም አቅርቦት የለም - እነዚህ ምስሎች ይከማቻሉ።

እንዲሁም፣ አሁን ያለው የwerf (v1.0 እና v1.1) በመለያ መስጫ ዘዴዎች ለታተሙት ምስሎች የተለያዩ የጽዳት መመሪያዎችን ይጠቀማል፡ Git ቅርንጫፍ፣ Git tag ወይም Git commitment።

በጂት ውስጥ በተፈጸመ ታሪክ ላይ የተመሰረተ ምስሎችን ለማፅዳት አዲስ ስልተ-ቀመር ተፈጥሯል፣ ለሁሉም የመለያ መስጫ እቅዶች የተዋሃደ፣

  • ለእያንዳንዱ git HEAD (ቅርንጫፎች እና መለያዎች) ከ N1 የቅርብ ጊዜ ግዴታዎች ጋር የተቆራኙ ከN2 በላይ ምስሎችን ያቆዩ።
  • ለእያንዳንዱ git HEAD (ቅርንጫፎች እና መለያዎች) ከ N1 የቅርብ ጊዜ ስራዎች ጋር የተቆራኙ ከ N2 በላይ የመድረክ ምስሎችን ያከማቹ።
  • በማንኛውም የኩበርኔትስ ክላስተር ሃብቶች ውስጥ ጥቅም ላይ የሚውሉትን ምስሎች ሁሉ ያከማቹ (ሁሉም የ kube አውዶች የውቅር ፋይሉ እና የስም ቦታዎች ይቃኛሉ፣ ይህን ባህሪ በልዩ አማራጮች መገደብ ይችላሉ)።
  • በHelm ልቀቶች ውስጥ የተቀመጡ በንብረት ውቅር መግለጫዎች ውስጥ ጥቅም ላይ የዋሉ ሁሉንም ምስሎች ያከማቹ።
  • ምስል ከጂት ከየትኛውም HEAD ጋር ካልተገናኘ (ለምሳሌ፣ ተጓዳኙ HEAD ልሹ ስለተሰረዘ) እና በ Kubernetes ክላስተር እና በ Helm ልቀቶች ውስጥ በማንኛውም መገለጫዎች ውስጥ ጥቅም ላይ ካልዋለ ሊሰረዝ ይችላል።

ትይዩ ምስል ግንባታ (↓)

  • ስሪት: v1.1
  • ቀኖች፡ ጥር - ፌብሩዋሪ ኤፕሪል*

የአሁኑ የ werf ስሪት በ ውስጥ የተገለጹትን ምስሎች እና ቅርሶች ይሰበስባል werf.yaml, በቅደም ተከተል. ምስሎችን እና ቅርሶችን ገለልተኛ ደረጃዎችን የመሰብሰብ ሂደቱን ትይዩ ማድረግ, እንዲሁም ምቹ እና መረጃ ሰጪ ውጤቶችን መስጠት ያስፈልጋል.

* ማሳሰቢያ፡ የተከፋፈለ ስብሰባን ተግባራዊ ለማድረግ ቅድሚያ በመስጠቱ ምክንያት ቀነ-ገደቡ ተቀይሯል፣ ይህም ተጨማሪ አግድም የማሳየት አቅሞችን ይጨምራል፣ እንዲሁም ከ GitHub Actions ጋር werf መጠቀም። ትይዩ ስብሰባ የሚቀጥለው የማመቻቸት ደረጃ ነው ፣ ይህም አንድ ፕሮጀክት በሚገጣጠምበት ጊዜ አቀባዊ ሚዛንን ይሰጣል ።

ሽግግር ወደ Helm 3 (↓)

  • ስሪት: v1.2
  • ቀኖች፡ የካቲት - ግንቦት *

ወደ አዲስ ኮድ ቤዝ ፍልሰትን ያካትታል ሄልም 3 እና ነባር ጭነቶችን ለማዛወር የተረጋገጠ ምቹ መንገድ።

* ማስታወሻ: ወደ Helm 3 መቀየር በ werf ላይ ጉልህ ባህሪያትን አይጨምርም, ምክንያቱም ሁሉም የ Helm 3 ቁልፍ ባህሪያት (ባለ 3-መንገድ-መዋሃድ እና ምንም ሰሪ የለም) ቀድሞውኑ በ werf ውስጥ ተፈጻሚ ሆነዋል. ከዚህም በላይ werf አለው ተጨማሪ ባህሪዎች ከተጠቀሱት በተጨማሪ. ይሁን እንጂ ይህ ሽግግር በእቅዶቻችን ውስጥ ይኖራል እና ተግባራዊ ይሆናል.

Jsonnet የኩበርኔትስ ውቅርን ለመግለፅ (↓)

  • ስሪት: v1.2
  • ቀኖች: ከጥር - የካቲት ኤፕሪል - ሜይ

Werf ለ Kubernetes የውቅረት መግለጫዎችን በJsonnet ቅርጸት ይደግፋል። በተመሳሳይ ጊዜ, werf ከ Helm ጋር ተኳሃኝ ሆኖ ይቆያል እና የመግለጫ ቅርጸት ምርጫ ይኖራል.

ምክንያቱ የ Go አብነቶች ብዙ ሰዎች እንደሚሉት ከፍተኛ የመግቢያ እንቅፋት ስላላቸው እና የእነዚህ አብነቶች ኮድ መረዳትም ይጎዳል።

ሌሎች የኩበርኔትስ ውቅር መግለጫ ስርዓቶችን (ለምሳሌ Kustomize) የማስተዋወቅ እድሉም እየታሰበ ነው።

በኩበርኔትስ ውስጥ በመስራት ላይ (↓)

  • ስሪት: v1.2
  • ቀኖች: ኤፕሪል - ሜይ - ሰኔ

ግብ፡ ምስሎች መገንባታቸውን እና አፕሊኬሽኑ በኩበርኔትስ ሯጮች በመጠቀም መድረሱን ያረጋግጡ። እነዚያ። አዲስ ምስሎች ከኩበርኔትስ ፖድዎች በቀጥታ ሊገነቡ፣ ሊታተሙ፣ ሊጸዱ እና ሊሰማሩ ይችላሉ።

ይህንን ችሎታ ለመተግበር በመጀመሪያ የተከፋፈሉ ምስሎችን መገንባት ያስፈልግዎታል (ከላይ ያለውን ነጥብ ይመልከቱ).

እንዲሁም ያለ Docker አገልጋይ (ማለትም ካኒኮ የሚመስል ግንባታ ወይም በተጠቃሚ ቦታ ላይ መገንባት) ለገንቢው የአሠራር ሁኔታ ድጋፍ ይፈልጋል።

ዌርፍ በኩበርኔትስ ላይ መገንባትን በ Dockerfile ብቻ ሳይሆን በስታፔል ግንኙነቱ ከተጨማሪ መልሶ ግንባታዎች እና ከማይቻል ጋር ይደግፋል።

ወደ ክፍት ልማት አንድ እርምጃ

ማህበረሰባችንን እንወዳለን (የፊልሙ, ቴሌግራም) እና ብዙ ሰዎች እንዲረዷቸው፣ የምንንቀሳቀስበትን አቅጣጫ እንዲረዱ እና በልማቱ እንዲሳተፉ እንፈልጋለን።

በቅርቡ ወደ ለመቀየር ተወስኗል GitHub ፕሮጀክት ሰሌዳዎች የቡድናችንን የስራ ሂደት ለመግለፅ። አሁን የቅርብ ዕቅዶችን እና አሁን ያለውን ሥራ በሚከተሉት ቦታዎች ማየት ይችላሉ-

በጉዳዩ ላይ ብዙ ስራዎች ተሰርተዋል፡-

  • አላስፈላጊ የሆኑትን ተወግደዋል።
  • ነባሮቹ በበቂ ዝርዝሮች እና ዝርዝሮች ብዛት ወደ አንድ ቅርጸት ቀርበዋል.
  • ሃሳቦች እና ጥቆማዎች ያላቸው አዳዲስ ጉዳዮች ተጨምረዋል።

ስሪት v1.1 እንዴት ማንቃት እንደሚቻል

ስሪቱ በአሁኑ ጊዜ በ ውስጥ ይገኛል። ቻናል 1.1 e (በሰርጦች ውስጥ ጋጣ и ዓለት-ጠንካራ መረጋጋት ሲከሰት ግን ልቀቶች ይታያሉ ea ራሱ ቀድሞውኑ ለአጠቃቀም ምቹ ነው ፣ ምክንያቱም በቻናሎች ውስጥ አልፏል አልፋ и ቤታ). ነቅቷል multiwerf በኩል በሚከተለው መንገድ፡-

source $(multiwerf use 1.1 ea)
werf COMMAND ...

መደምደሚያ

አዲሱ የመድረክ ማከማቻ አርክቴክቸር እና የገንቢ ማሻሻያዎች ለ Stapel እና Dockerfile ግንበኞች በ werf ውስጥ የተከፋፈሉ እና ትይዩ ግንባታዎችን የመተግበር እድል ይከፍታሉ። እነዚህ ባህሪያት በቅርቡ በተመሳሳዩ የተለቀቀው v1.1 ላይ ይታያሉ እና በራስ-አዘምን ዘዴ (ለተጠቃሚዎች) በራስ-ሰር ይገኛሉ። multiwerf).

በዚህ ልቀት ላይ፣ በምስል ይዘት ላይ የተመሰረተ የመለያ ስልት ታክሏል - ይዘት ላይ የተመሠረተ መለያ መስጠት, ይህም ነባሪ ስትራቴጂ ሆኗል. ዋናው የትዕዛዝ ምዝግብ ማስታወሻ እንደገና ተሠርቷል፡- werf build, werf publish, werf deploy, werf dismiss, werf cleanup.

ቀጣዩ ጉልህ እርምጃ የተከፋፈሉ ስብስቦችን መጨመር ነው. የተከፋፈሉ ግንባታዎች ከ v1.0 ጀምሮ ከተመሳሳይ ግንባታዎች የበለጠ ቅድሚያ እየሰጡ መጥተዋል ምክንያቱም ለ werf ተጨማሪ እሴት ስለሚጨምሩ፡ ግንበኞች ቀጥ ያሉ መመዘን እና በተለያዩ የሲአይ/ሲዲ ስርዓቶች ውስጥ ለኢፌመር ገንቢዎች ድጋፍ እንዲሁም ለ GitHub Actions ኦፊሴላዊ ድጋፍ የመስጠት ችሎታ። . ስለዚህ ለትይዩ ስብሰባዎች የትግበራ ቀነ-ገደቦች ተለውጠዋል. ሆኖም፣ ሁለቱንም አማራጮች በተቻለ ፍጥነት ተግባራዊ ለማድረግ እየሰራን ነው።

ዜናውን ተከታተሉ! እና እኛን መጎብኘትዎን አይርሱ የፊልሙችግር ለመፍጠር፣ ያለውን ፈልግ እና ፕላስ ለመጨመር፣ PR ለመፍጠር ወይም የፕሮጀክቱን እድገት በቀላሉ ለመመልከት።

PS

በብሎጋችን ላይ ያንብቡ፡-

ምንጭ: hab.com

አስተያየት ያክሉ