werf 1.1 رليز: اڄ بلڊر ۾ بهتري ۽ مستقبل لاءِ منصوبا

werf 1.1 رليز: اڄ بلڊر ۾ بهتري ۽ مستقبل لاءِ منصوبا

werf اسان جي اوپن سورس آهي GitOps CLI يوٽيليٽي بلڊنگ ۽ ڊليوري لاءِ ايپليڪيشنون Kubernetes تائين. وعدي موجب، ورجن جي رليز v1.0 werf ۾ نئين خاصيتون شامل ڪرڻ ۽ روايتي طريقن کي نظرثاني ڪرڻ جي شروعات کي نشان لڳايو. هاڻي اسان رليز v1.1 پيش ڪرڻ تي راضي آهيون، جيڪو ترقي ۾ هڪ وڏو قدم آهي ۽ مستقبل لاءِ هڪ بنياد آهي جمع ڪندڙ werf. نسخو هن وقت موجود آهي چينل 1.1 ea.

رليز جو بنياد اسٽيج اسٽوريج جو نئون فن تعمير آهي ۽ ٻنهي جمعن جي ڪم جي اصلاح (اسٽيپل ۽ ڊاکرفائل لاءِ). نئين اسٽوريج آرڪيٽيڪچر کي ورهايل اسيمبلين کي لاڳو ڪرڻ جو امڪان پيدا ڪري ٿو ڪيترن ئي ميزبان ۽ متوازي اسيمبليون ساڳئي ميزبان تي.

ڪم جي اصلاح ۾ شامل آهي غير ضروري حسابن کان نجات حاصل ڪرڻ اسٽيج جي دستخطن جي ڳڻپ جي مرحلي ۾ ۽ ميڪانيزم کي تبديل ڪرڻ لاءِ فائل چيڪسم کي ڳڻڻ لاءِ وڌيڪ ڪارائتو. هي اصلاح 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 هڪ گارنٽيڊ منفرد تصويري سڃاڻپ ڪندڙ آهي جيڪو ان وقت ٺاهيل آهي جڏهن هڪ نئين تصوير ٺاهي وئي آهي.

ڪيش مان مرحلن کي چونڊڻ لاءِ الگورتھم گٽ ڪمٽس جي رشتي کي جانچڻ تي ٻڌل آهي:

  1. Werf هڪ خاص اسٽيج جي دستخط جي حساب سان.
  2. В اسٽوريج- اسٽوريج ڏنل دستخط لاءِ ڪيترائي مرحلا ٿي سگهن ٿا. Werf سڀني مرحلن کي چونڊيندو آهي جيڪي دستخط سان ملن ٿا.
  3. جيڪڏهن موجوده اسٽيج Git سان ڳنڍيل آهي (گٽ-آرڪائيو، گٽ پيچ سان ڪسٽم اسٽيج: install, beforeSetup, setup؛ يا git-latest-patch)، پوء werf صرف انهن مرحلن کي چونڊيندو آهي جيڪي وابستگي سان جڙيل آهن جيڪي موجوده وابستگي جو هڪ پادري آهي (جنهن لاء تعمير سڏيو ويندو آهي).
  4. باقي مناسب مرحلن مان، ھڪڙو چونڊيو ويو آھي - پيدائش جي تاريخ جي لحاظ کان سڀ کان پراڻو.

مختلف گٽ شاخن لاءِ اسٽيج ساڳيا دستخط ٿي سگھن ٿا. پر werf مختلف شاخن سان لاڳاپيل ڪيش کي انهن شاخن جي وچ ۾ استعمال ٿيڻ کان روڪيندو، جيتوڻيڪ دستخط ملن ٿا.

→ دستاويز.

اسٽيج اسٽوريج ۾ اسٽيج ٺاهڻ ۽ بچائڻ لاء نئين الگورتھم

جيڪڏهن، ڪيش مان اسٽيج چونڊڻ وقت، ويرف کي مناسب اسٽيج نه ملي، ته پوءِ نئين اسٽيج کي گڏ ڪرڻ جو عمل شروع ڪيو وڃي ٿو.

نوٽ ڪريو ته گھڻا عمل (ھڪڙو يا وڌيڪ ميزبان تي) لڳ ڀڳ ساڳئي وقت ھڪڙي اسٽيج جي تعمير شروع ڪري سگھن ٿا. Werf هڪ اميد رکندڙ بلاڪنگ الگورتھم استعمال ڪري ٿو اسٽوريج- اسٽوريج تازو گڏ ڪيل تصوير کي محفوظ ڪرڻ جي وقت ۾ اسٽوريج- اسٽوريج. اهو طريقو، جڏهن نئين اسٽيج جي تعمير تيار آهي، ويرف بلاڪ اسٽوريج- اسٽوريج ۽ هڪ تازي گڏ ڪيل تصوير کي محفوظ ڪري ٿو اتي صرف جيڪڏهن مناسب تصوير موجود ناهي (دستخط ۽ ٻين پيٽرولن ذريعي - ڪيش مان اسٽيج چونڊڻ لاءِ نئون الگورٿم ڏسو).

هڪ تازو گڏ ڪيل تصوير جي ضمانت آهي ته هڪ منفرد سڃاڻپ ڪندڙ طرفان TIMESTAMP_MILLISEC (ڏسو اسٽيج جي نالي جي نئين شڪل). جي صورت ۾ اسٽوريج- اسٽوريج هڪ مناسب تصوير ملي ويندي، werf تازو مرتب ڪيل تصوير کي رد ڪندو ۽ تصوير کي ڪيش مان استعمال ڪندو.

ٻين لفظن ۾: تصوير جي تعمير کي ختم ڪرڻ جو پهريون عمل (تيزي کان تيز ترين) ان کي اسٽيج-اسٽوريج ۾ ذخيرو ڪرڻ جو حق حاصل ڪندو (۽ پوءِ اها واحد تصوير آهي جيڪا سڀني عمارتن لاءِ استعمال ڪئي ويندي). هڪ سست تعميراتي عمل ڪڏهن به تيز رفتار عمل کي موجوده اسٽيج جي تعميراتي نتيجن کي بچائڻ ۽ ايندڙ تعمير ڏانهن وڌڻ کان روڪي نه سگهندو.

→ دستاويز.

بهتر Dockerfile بلڊر ڪارڪردگي

هن وقت، هڪ ڊاکرفائل مان ٺهيل تصوير لاء مرحلن جي پائپ لائن هڪ اسٽيج تي مشتمل آهي. dockerfile. جڏهن دستخط جي حساب سان، فائلن جي چيڪسم کي حساب ڪيو ويندو آهي context، جيڪو اسيمبليءَ دوران استعمال ڪيو ويندو. هن سڌاري کان اڳ، werf recursively سڀني فائلن جي ذريعي هلندو هو ۽ هر فائل جي حوالي سان ۽ موڊ کي گڏ ڪندي هڪ چيڪسم حاصل ڪيو. v1.1 سان شروع ڪندي، werf استعمال ڪري سگھي ٿو حساب ڪتاب جي ذخيري ۾ محفوظ ڪيل چيڪسم.

الورورٿم تي ٻڌل آهي git ls-وڻ. الورورٿم اڪائونٽ ۾ رڪارڊ ۾ وٺندو آهي .dockerignore ۽ فائل جي وڻ کي بار بار ڦيرائي ٿو صرف جڏهن ضروري هجي. ان ڪري، اسان فائل سسٽم کي پڙهڻ کان ڌار ڪيو آهي، ۽ سائيز تي الگورتھم جو انحصار context اهم نه آهي.

الورورٿم اڻ ٽر ٿيل فائلن کي به چيڪ ڪري ٿو ۽، جيڪڏهن ضروري هجي ته، انهن کي چيڪسم ۾ حساب ۾ رکي ٿو.

بهتر ڪارڪردگي جڏهن فائلن کي درآمد ڪندي

werf v1.1 جا نسخا هڪ rsync سرور استعمال ڪندا آهن جڏهن نمونن ۽ تصويرن مان فائلون درآمد ڪرڻ. اڳي، ڊاريڪٽري ماؤنٽ ميزبان سسٽم مان استعمال ڪندي ٻن مرحلن ۾ درآمد ڪيو ويو.

macOS تي درآمد جي ڪارڪردگي هاڻي ڊڪر جي مقدار تائين محدود نه آهي، ۽ درآمد ساڳئي وقت ۾ مڪمل ٿئي ٿي جيئن لينڪس ۽ ونڊوز.

مواد تي ٻڌل ٽيگنگ

Werf v1.1 کي سپورٽ ڪري ٿو نام نهاد ٽيگنگ پاران تصويري مواد - مواد تي ٻڌل ٽيگنگ. نتيجن جي ڊاکر تصويرن جا ٽيگ انهن تصويرن جي مواد تي ڀاڙين ٿا.

جڏهن حڪم هلائڻ werf publish --tags-by-stages-signature يا werf ci-env --tagging-strategy=stages-signature جي نالي سان شايع ٿيل تصويرون اسٽيج دستخط تصوير. هر تصوير کي هن تصوير جي مرحلن جي پنهنجي پنهنجي دستخط سان ٽيگ ڪيو ويو آهي، جيڪو ساڳئي قاعدن مطابق حساب ڪيو ويو آهي جيئن هر اسٽيج جي باقاعده دستخط الڳ الڳ، پر تصوير جي هڪ عام سڃاڻپ ڪندڙ آهي.

تصويري مرحلن جي دستخط تي منحصر آهي:

  1. هن تصوير جو مواد؛
  2. Git جي تبديلين جي تاريخ جيڪي هن مواد ڏانهن وڌيا.

هڪ Git مخزن ۾ هميشه ڊمي ڪمنٽس آهن جيڪي تصويرون فائلن جي مواد کي تبديل نه ڪندا آهن. مثال طور، صرف تبصرن سان ڪم ڪري ٿو يا ڪمن کي ضم ڪري ٿو، يا ڪم ڪري ٿو جيڪي Git ۾ انهن فائلن کي تبديل ڪن ٿيون جيڪي تصوير ۾ درآمد نه ٿينديون.

جڏهن مواد تي ٻڌل ٽيگنگ استعمال ڪندي، تصوير جي نالي ۾ تبديلين جي ڪري ڪبرنيٽس ۾ ايپليڪيشن پوڊس جي غير ضروري ٻيهر شروع ٿيڻ جا مسئلا حل ٿي ويا آهن، جيتوڻيڪ تصوير جو مواد تبديل نه ٿيو آهي. رستي ۾، اهو هڪ سبب آهي جيڪو هڪ ايپليڪيشن جي ڪيترن ئي مائڪرو سروسز کي هڪ واحد Git مخزن ۾ محفوظ ڪرڻ کان روڪي ٿو.

انهي سان گڏ، مواد جي بنياد تي ٽيگنگ گٽ شاخن تي ٽيگنگ کان وڌيڪ قابل اعتماد ٽيگنگ طريقو آهي، ڇاڪاڻ ته نتيجن جي تصويرن جو مواد ان ترتيب تي منحصر نه آهي جنهن ۾ پائپ لائنون CI سسٽم ۾ هڪ ئي شاخ جي ڪيترن ئي ڪمن کي گڏ ڪرڻ لاء عمل ڪيو ويو آهي.

اهم: هاڻي کان شروع مرحلو- دستخط - هي آهي صرف تجويز ڪيل ٽيگنگ حڪمت عملي. اهو ڪمانڊ ۾ ڊفالٽ طور استعمال ڪيو ويندو werf ci-env (جيستائين توهان واضح طور تي مختلف ٽيگنگ اسڪيم جي وضاحت نه ڪريو).

→ دستاويز. هڪ الڳ اشاعت پڻ هن مضمون لاء وقف ڪئي ويندي. اپڊيٽ ٿيل (اپريل 3): تفصيل سان آرٽيڪل شايع ٿيل.

لاگنگ جي سطح

استعمال ڪندڙ کي ھاڻي اھو موقعو آھي ته ھو آئوٽ پٽ کي ڪنٽرول ڪري، لاگنگ جي سطح کي سيٽ ڪري ۽ ڊيبگنگ جي معلومات سان ڪم ڪري. اختيار شامل ڪيا ويا --log-quiet, --log-verbose, --log-debug.

ڊفالٽ طور، ٻاھر گھٽ ۾ گھٽ معلومات تي مشتمل آھي:

werf 1.1 رليز: اڄ بلڊر ۾ بهتري ۽ مستقبل لاءِ منصوبا

جڏهن وربوز آئوٽ استعمال ڪندي (--log-verbose) توهان ڏسي سگهو ٿا ته werf ڪيئن ڪم ڪري ٿو:

werf 1.1 رليز: اڄ بلڊر ۾ بهتري ۽ مستقبل لاءِ منصوبا

تفصيلي پيداوار (--log-debug)، ورف ڊيبگنگ جي معلومات کان علاوه، استعمال ٿيل لائبريرين جا لاگ پڻ شامل آهن. مثال طور، توهان ڏسي سگهو ٿا ته ڊاڪر رجسٽري سان ڪيئن لهه وچڙ ٿئي ٿو، ۽ انهن هنڌن کي پڻ رڪارڊ ڪيو جتي هڪ اهم وقت گذاريو ويو آهي:

werf 1.1 رليز: اڄ بلڊر ۾ بهتري ۽ مستقبل لاءِ منصوبا

مستقبل جا منصوبا

مهرباني ڪري ڏسو! هيٺ بيان ڪيل اختيارن کي نشان لڳايو ويو آهي v1.1 هن نسخي ۾ دستياب ٿي ويندا، انهن مان ڪيترائي ويجهي مستقبل ۾. تازه ڪاريون خودڪار تازه ڪاريون ذريعي اينديون جڏهن multiwerf استعمال ڪندي. اهي خاصيتون v1.1 افعال جي مستحڪم حصو تي اثر انداز نه ڪندا آهن؛ انهن جي ظاهري موجوده ترتيبن ۾ دستياب صارف جي مداخلت جي ضرورت نه هوندي.

مختلف Docker رجسٽري لاڳو ڪرڻ لاء مڪمل حمايت (NEW)

  • نسخو: v1.1
  • تاريخون: مارچ
  • مسئلو

مقصد آهي صارف لاءِ استعمال ڪرڻ لاءِ ڪسٽم لاڳو ڪرڻ بغير پابندين جي جڏهن werf استعمال ڪندي.

في الحال، اسان حلن جي ھيٺين سيٽ جي نشاندهي ڪئي آھي جنھن لاءِ اسان مڪمل مدد جي ضمانت ڏيڻ وارا آھيون.

  • ڊفالٽ (لائبريري/رجسٽري)*,
  • AWS ECR
  • Azure*,
  • Docker Hub
  • GCR*,
  • GitHub پيڪيجز
  • GitLab رجسٽري*,
  • بندرگاهه*,
  • ڪوئي.

حل جيڪي في الحال مڪمل طور تي سپورٽ ڪيا ويا آهن werf سان نشان لڳل آهن ستاري سان. ٻين لاءِ مدد آهي، پر حدن سان.

ٻن مکيه مسئلن جي نشاندهي ڪري سگهجي ٿو:

  • ڪجھ حل ڊاکر رجسٽري API استعمال ڪندي ٽيگ ختم ڪرڻ جي حمايت نه ڪندا آھن، صارفين کي werf جي خودڪار صفائي استعمال ڪرڻ کان روڪيندا آھن. اهو صحيح آهي AWS ECR، Docker Hub، ۽ GitHub پيڪيجز لاءِ.
  • ڪجھ حل نام نهاد nested repositories (Docker Hub، GitHub Packages ۽ Quay) کي سپورٽ نه ڪندا آھن يا ڪندا آھن، پر صارف کي انھن کي دستي طور تي UI يا API (AWS ECR) استعمال ڪرڻ گھرجي.

اسان انهن ۽ ٻين مسئلن کي حل ڪرڻ وارا آهيون حل جي مقامي API استعمال ڪندي. ھن ڪم ۾ شامل آھي ورف آپريشن جي مڪمل چڪر کي ڍڪڻ سان انھن مان ھر ھڪ لاءِ ٽيسٽ.

ورهايل تصويري تعمير (↑)

  • نسخو: v1.2 v1.1 (هن خصوصيت کي لاڳو ڪرڻ جي ترجيح وڌائي وئي آهي)
  • تاريخون: مارچ-اپريل مارچ
  • مسئلو

هن وقت، werf v1.0 ۽ v1.1 صرف هڪ وقف ڪيل ميزبان تي استعمال ڪري سگھجن ٿا تصويرن جي تعمير ۽ اشاعت جي عملن لاءِ ۽ ايپليڪيشن کي Kubernetes تي ترتيب ڏيڻ.

ورف جي ورهايل ڪم جي امڪانن کي کولڻ لاءِ، جڏهن ڪبرنيٽس ۾ ايپليڪيشنن جي بلڊنگ ۽ ڊيپلائيمينٽ ڪيترن ئي صوابديدي ميزبانن تي شروع ڪئي وئي آهي ۽ اهي ميزبان پنهنجي رياست کي عمارتن (عارضي رانديگرن) جي وچ ۾ محفوظ نٿا ڪن، werf کي استعمال ڪرڻ جي صلاحيت کي لاڳو ڪرڻ جي ضرورت آهي. ڊاڪر رجسٽري اسٽيج اسٽور جي طور تي.

اڳي، جڏهن ويرف پروجيڪٽ اڃا تائين ڊيپ سڏيو ويندو هو، اهو هڪ موقعو هو. تنهن هوندي، اسان ڪيترن ئي مسئلن سان منهن ڪيو آهي جن کي حساب ۾ رکڻ جي ضرورت آهي جڏهن werf ۾ هن ڪارڪردگي کي لاڳو ڪرڻ.

ويچاري. هن مضمون جي ڪليڪٽر جي ضرورت نه رکندو آھي اندر ڪم ڪرڻ لاء Kubernetes pods، ڇاڪاڻ ته هن کي ڪرڻ لاء، توهان کي مقامي Docker سرور تي انحصار کان نجات حاصل ڪرڻ جي ضرورت آهي (Kubernetes پوڊ ۾ مقامي Docker سرور تائين ڪا به رسائي ناهي، ڇاڪاڻ ته اهو عمل پاڻ هڪ ڪنٽينر ۾ هلندو آهي، ۽ werf نه ڪندو آهي ۽ نه ڪندو. نيٽ ورڪ تي Docker سرور سان ڪم ڪرڻ). ڪبرنيٽس کي هلائڻ لاءِ سپورٽ الڳ الڳ لاڳو ڪئي ويندي.

GitHub عملن لاءِ سرڪاري مدد (NEW)

  • نسخو: v1.1
  • تاريخون: مارچ
  • مسئلو

شامل آهن werf دستاويز (سيڪشن حوالو и ھدايت ڪرڻ وارو)، گڏوگڏ سرڪاري GitHub ايڪشن werf سان ڪم ڪرڻ لاء.

ان کان علاوه، اهو werf کي عارضي رنرن تي ڪم ڪرڻ جي اجازت ڏيندو.

CI سسٽم سان صارف جي رابطي جي ميڪانيڪس پل جي درخواستن تي ليبل لڳائڻ تي ٻڌل هوندي ته ايپليڪيشن کي ٺاهڻ/رول آئوٽ ڪرڻ لاءِ ڪجهه ڪارناما شروع ڪرڻ لاءِ.

werf (↓) سان ايپليڪيشنن جي مقامي ترقي ۽ ترتيب

  • نسخو: v1.1
  • تاريخون: جنوري-فيبروري اپريل
  • مسئلو

بنيادي مقصد حاصل ڪرڻ آهي هڪ واحد گڏيل ترتيب حاصل ڪرڻ لاءِ ايپليڪيشنن کي ترتيب ڏيڻ لاءِ مقامي ۽ پيداوار ۾، بغير پيچيده عملن جي، دٻي کان ٻاهر.

werf کي هڪ آپريٽنگ موڊ جي ضرورت پڻ آهي جنهن ۾ ايپليڪيشن ڪوڊ کي ايڊٽ ڪرڻ ۽ فوري طور تي ڊيبگنگ لاءِ هلندڙ ايپليڪيشن مان موٽ حاصل ڪرڻ آسان هوندو.

نئون صفائي الگورتھم (NEW)

  • نسخو: v1.1
  • تاريخون: اپريل
  • مسئلو

طريقيڪار ۾ werf v1.1 جي موجوده نسخي ۾ cleanup مواد تي ٻڌل ٽيگنگ اسڪيم لاءِ تصويرن کي صاف ڪرڻ جي ڪا به گنجائش نه آهي - اهي تصويرون گڏ ٿينديون.

انهي سان گڏ، werf جو موجوده نسخو (v1.0 ۽ v1.1) ٽيگنگ اسڪيمن تحت شايع ٿيل تصويرن لاءِ مختلف صفائي پاليسيون استعمال ڪري ٿو: گٽ برانچ، گيٽ ٽيگ يا گيٽ ڪمٽ.

گٽ ۾ ڪميٽ جي تاريخ جي بنياد تي تصويرن کي صاف ڪرڻ لاءِ هڪ نئون الگورٿم، سڀني ٽيگنگ اسڪيمن لاءِ متحد، ايجاد ڪيو ويو آهي:

  • هر گٽ هيڊ (شاخن ۽ ٽيگ) لاءِ N1 کان وڌيڪ تصويرون N2 سان لاڳاپيل سڀ کان تازيون ڪميٽون نه رکو.
  • هر گٽ هيڊ (شاخن ۽ ٽيگ) لاءِ N1 اسٽيج تصويرن کان وڌيڪ محفوظ نه ڪريو N2 سان لاڳاپيل سڀ کان تازو ڪميٽ.
  • سڀني تصويرن کي ذخيرو ڪريو جيڪي ڪنهن به ڪبرنيٽس ڪلستر وسيلن ۾ استعمال ٿيل آهن (سڀني ڪيب جي حوالي سان ترتيب واري فائل ۽ نالا اسپيس اسڪين ٿيل آهن؛ توهان خاص اختيارن سان هن رويي کي محدود ڪري سگهو ٿا).
  • سڀني تصويرن کي ذخيرو ڪريو جيڪي وسيلن جي ترتيب ۾ استعمال ٿيل آهن هيلم رليز ۾ محفوظ ڪيل ظاهر.
  • هڪ تصوير کي حذف ڪري سگهجي ٿو جيڪڏهن اهو گٽ مان ڪنهن به HEAD سان لاڳاپيل ناهي (مثال طور، ڇاڪاڻ ته لاڳاپيل هيڊ پاڻ کي ختم ڪيو ويو) ۽ ڪبرنيٽس ڪلستر ۽ هيلم رليز ۾ ڪنهن به ظاهر ۾ استعمال نه ڪيو ويو آهي.

متوازي تصويري عمارت (↓)

  • نسخو: v1.1
  • تاريخون: جنوري-فيبروري اپريل*

werf جو موجوده نسخو گڏ ڪري ٿو تصويرون ۽ نموني ۾ بيان ڪيل werf.yaml، ترتيب وار. اهو ضروري آهي ته تصويرن ۽ نموني جي آزاد مرحلن کي گڏ ڪرڻ جي عمل کي متوازي ڪرڻ، انهي سان گڏ آسان ۽ معلوماتي پيداوار مهيا ڪرڻ.

* نوٽ: ورهايل اسيمبليءَ کي لاڳو ڪرڻ لاءِ ترجيح وڌائڻ جي ڪري آخري تاريخ تبديل ڪئي وئي آهي، جيڪا وڌيڪ افقي اسڪيلنگ صلاحيتون شامل ڪندي، گڏو گڏ GitHub عملن سان werf جو استعمال. متوازي اسيمبلي ايندڙ اصلاحي قدم آهي، هڪ منصوبي کي گڏ ڪرڻ دوران عمودي اسپيبلبل مهيا ڪندي.

هيلم 3 ڏانهن منتقلي (↓)

  • نسخو: v1.2
  • تاريخون: فيبروري-مارچ مئي*

نئين ڪوڊ بيس ڏانهن لڏپلاڻ شامل آهي هيلم 3 ۽ موجوده تنصيب کي لڏڻ جو هڪ ثابت، آسان طريقو.

* نوٽ: هيلم 3 تي سوئچ ڪرڻ سان werf ۾ اهم خصوصيتون شامل نه ٿينديون، ڇاڪاڻ ته Helm 3 جون سڀئي اهم خاصيتون (3-طريقه مرج ۽ ڪو به ٽيلر) اڳ ۾ ئي werf ۾ لاڳو ٿيل آهن. ان کان سواء، werf آهي اضافي خاصيتون ان کان علاوه جيڪي اشارو ڪيو ويو آهي. بهرحال، هي منتقلي اسان جي منصوبن ۾ رهي ٿي ۽ ان تي عمل ڪيو ويندو.

ڪبرنيٽس ڪنفيگريشن بيان ڪرڻ لاءِ Jsonnet (↓)

  • نسخو: v1.2
  • تاريخون: جنوري-فيبروري اپريل-مئي

Werf Jsonnet فارميٽ ۾ Kubernetes لاءِ تشڪيل جي وضاحتن جي مدد ڪندو. ساڳئي وقت، werf هيلم سان مطابقت رکي ٿي ۽ وضاحت جي شڪل جي چونڊ هوندي.

ان جو سبب اهو آهي ته Go templates، ڪيترن ئي ماڻهن جي مطابق، هڪ اعلي داخلا رڪاوٽ آهي، ۽ انهن ٽيمپليٽس جي ڪوڊ جي سمجھڻ جي صلاحيت پڻ متاثر ٿئي ٿي.

ٻين Kubernetes تشريح جي وضاحت واري نظام کي متعارف ڪرائڻ جو امڪان (مثال طور، Kustomize) پڻ غور ڪيو پيو وڃي.

Kubernetes اندر ڪم ڪرڻ (↓)

  • نسخو: v1.2
  • تاريخون: اپريل-مئي مئي-جون

مقصد: پڪ ڪريو ته تصويرون ٺهيل آهن ۽ ايپليڪيشن ڪبرنيٽس ۾ رنر استعمال ڪندي پهچائي وئي آهي. اهي. نيون تصويرون ٺاهي سگھجن ٿيون، شايع ڪري سگھجن ٿيون، صاف ڪري سگھجن ٿيون، ۽ سڌو سنئون ڪبرنيٽس پوڊس مان.

ھن صلاحيت کي لاڳو ڪرڻ لاء، توھان کي پھريون ضرورت آھي ورهايل تصويرون ٺاھيو (ڏسو مٿي پوائنٽ).

اهو پڻ ضرورت آهي بلڊر جي آپريٽنگ موڊ لاءِ بغير ڊڪر سرور جي (يعني ڪنيڪو جهڙو بلڊ يا بلڊ ان يوزر اسپيس).

Werf ڪبرنيٽس تي عمارت جي مدد ڪندو نه رڳو ڊاکرفائل سان، پر ان سان گڏ ان جي اسٽيپل بلڊر سان گڏ وڌندڙ تعميراتي ۽ جوابي.

کليل ترقي ڏانهن هڪ قدم

اسان کي پنهنجي ڪميونٽي سان پيار آهي (GitHub, تار) ۽ اسان چاهيون ٿا ته وڌ کان وڌ ماڻهو مدد ڪن werf کي بهتر بنائڻ ۾، انهي هدايت کي سمجهي جنهن ۾ اسين اڳتي وڌي رهيا آهيون، ۽ ترقي ۾ حصو وٺن.

بلڪل تازو ان کي تبديل ڪرڻ جو فيصلو ڪيو ويو GitHub پروجيڪٽ بورڊ اسان جي ٽيم جي ڪم ڪندڙ عمل کي ظاهر ڪرڻ لاء. ھاڻي توھان ڏسي سگھوٿا فوري منصوبا، گڏوگڏ موجوده ڪم ھيٺ ڏنل علائقن ۾:

مسئلن سان تمام گهڻو ڪم ڪيو ويو آهي:

  • غير لاڳاپيل کي هٽايو.
  • موجوده صورتون ھڪڙي ھڪڙي شڪل ۾ آڻيا ويا آھن، ڪافي تعداد ۽ تفصيل سان.
  • خيالن ۽ تجويزن سان نوان مسئلا شامل ڪيا ويا آهن.

ورجن v1.1 کي ڪيئن فعال ڪجي

نسخو هن وقت موجود آهي چينل 1.1 ea (چينل ۾ مستحڪم и پٿر وارو رليز ظاهر ٿيندا جيئن استحڪام ٿئي ٿي ea پاڻ اڳ ۾ ئي استعمال لاء ڪافي مستحڪم آهي، ڇاڪاڻ ته چينلز ذريعي گذريو Alpha и بيٽ). چالو multiwerf ذريعي هيٺين طريقي سان:

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

ٿڪل

نئين اسٽيج اسٽوريج آرڪيٽيڪچر ۽ اسٽيپل ۽ ڊاکرفائل بلڊرز لاءِ بلڊر جي اصلاحن کي ورف ۾ ورهايل ۽ متوازي تعميرات کي لاڳو ڪرڻ جو امڪان کليل آهي. اهي خاصيتون جلد ئي ساڳئي v1.1 رليز ۾ ظاهر ٿينديون ۽ خودڪار تازه ڪاري ميڪانيزم ذريعي خودڪار طور تي دستياب ٿي وينديون (صارفين لاءِ multiwerf).

هن رليز ۾، تصويري مواد تي ٻڌل هڪ ٽيگنگ حڪمت عملي شامل ڪئي وئي آهي - مواد تي ٻڌل ٽيگنگ، جيڪا ڊفالٽ حڪمت عملي بڻجي وئي آهي. مکيه ڪمانڊ لاگ پڻ ٻيهر ڪم ڪيو ويو آهي: werf build, werf publish, werf deploy, werf dismiss, werf cleanup.

ايندڙ اهم قدم ورهايل اسيمبلين کي شامل ڪرڻ آهي. ورهايل عمارتون v1.0 کان متوازي تعميرن جي ڀيٽ ۾ اعليٰ ترجيح بڻجي چڪيون آھن ڇاڪاڻ ته اھي werf ۾ وڌيڪ قدر شامل ڪن ٿيون: بلڊرز جي عمودي اسڪيلنگ ۽ مختلف CI/CD سسٽم ۾ عارضي بلڊرز لاءِ سپورٽ، گڏوگڏ GitHub عملن لاءِ سرڪاري مدد ڪرڻ جي صلاحيت. . تنهن ڪري، متوازي اسيمبلين لاء عملدرآمد جي آخري حدن کي منتقل ڪيو ويو. بهرحال، اسان ڪم ڪري رهيا آهيون ٻنهي ممڪنن کي جلد کان جلد لاڳو ڪرڻ لاء.

خبرن جي تابعداري ڪريو! ۽ اسان جو دورو ڪرڻ نه وساريو GitHubمسئلو پيدا ڪرڻ لاءِ، هڪ موجود ڳولهيو ۽ هڪ پلس شامل ڪريو، هڪ پي آر ٺاهيو، يا صرف پروجيڪٽ جي ترقي کي ڏسو.

پي ايس

اسان جي بلاگ تي پڻ پڙهو:

جو ذريعو: www.habr.com

تبصرو شامل ڪريو