Нашри werf 1.1: беҳбудиҳо дар сохтмончӣ имрӯз ва нақшаҳои оянда

Нашри werf 1.1: беҳбудиҳо дар сохтмончӣ имрӯз ва нақшаҳои оянда

верф Утили кушодаи GitOps CLI барои сохтан ва расонидани барномаҳо ба Kubernetes мебошад. Тавре ваъда дод, нашри версияи v1.0 оғози илова кардани хусусиятҳои нав ба werf ва аз нав дида баромадани равишҳои анъанавӣ буд. Ҳоло мо бо камоли хушнудӣ версияи v1.1-ро пешниҳод мекунем, ки ин як қадами бузург дар рушд ва таҳкурсии оянда аст коллектор верф. Версия дар айни замон дастрас аст канали 1.1.

Асоси нашр меъмории нави нигоҳдории саҳна ва оптимизатсияи кори ҳарду коллектор (барои Stapel ва Dockerfile) мебошад. Меъмории нави нигаҳдорӣ имкони татбиқи ассамблеяҳои тақсимшуда аз якчанд ҳостҳо ва ассамблеяҳои параллелӣ дар як ҳостро мекушояд.

Оптимизатсияи кор бартараф кардани ҳисобҳои нолозимро дар марҳилаи ҳисобкунии имзоҳои марҳилавӣ ва тағир додани механизмҳои ҳисоб кардани миқдори чекҳои файл ба механизмҳои самараноктарро дар бар мегирад. Ин оптимизатсия вақти миёнаи сохтани лоиҳаро бо истифода аз 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 commits асос ёфтааст:

  1. Werf имзои марҳилаи муайянро ҳисоб мекунад.
  2. В марҳилаҳо - нигоҳдорӣ Барои имзои дода метавонад якчанд марҳила вуҷуд дошта бошад. Werf ҳамаи марҳилаҳоеро, ки ба имзо мувофиқат мекунанд, интихоб мекунад.
  3. Агар марҳилаи ҷорӣ ба Git пайваст бошад (git-archive, марҳилаи фармоишӣ бо часбҳои Git: install, beforeSetup, setup; ё git-latest-patch), пас werf танҳо он марҳилаҳоеро интихоб мекунад, ки бо ӯҳдадорӣ алоқаманданд, ки аҷдоди ӯҳдадории ҷорӣ аст (барои онҳо сохтмон даъват карда мешавад).
  4. Аз марҳилаҳои боқимондаи мувофиқ яке интихоб карда мешавад - қадимтарин аз рӯи санаи офариниш.

Марҳила барои филиалҳои гуногуни Git метавонад як имзо дошта бошад. Аммо werf аз истифодаи кэши бо шохаҳои гуногун алоқаманд дар байни ин шохаҳо пешгирӣ мекунад, ҳатто агар имзоҳо мувофиқат кунанд.

→ Ҳуҷҷатҳо.

Алгоритми нав барои эҷод ва захира кардани марҳилаҳо дар нигаҳдории саҳна

Агар ҳангоми интихоби марҳилаҳо аз кэш, werf марҳилаи мувофиқро наёбад, он гоҳ раванди васлкунии марҳилаи нав оғоз мешавад.

Дар хотир доред, ки равандҳои сершумор (дар як ё якчанд ҳостҳо) метавонанд тақрибан дар як вақт сохтани як марҳиларо оғоз кунанд. Werf алгоритми бастани оптимистиро истифода мебарад марҳилаҳо - нигоҳдорӣ дар лаҳзаи захира кардани тасвири навҷамъовардашуда дар марҳилаҳо - нигоҳдорӣ. Ҳамин тавр, вақте ки сохтмони марҳилаи нав омода аст, блокҳои werf марҳилаҳо - нигоҳдорӣ ва тасвири тоза ҷамъовардашударо дар он ҷо нигоҳ медорад, агар тасвири мувофиқ дар он ҷо дигар мавҷуд набошад (аз рӯи имзо ва дигар параметрҳо - ба алгоритми нав барои интихоби марҳилаҳо аз кэш нигаред).

Тасвири навҷамъшуда кафолат дода мешавад, ки идентификатори беназире дошта бошад TIMESTAMP_MILLISEC (ба формати нави номгузории саҳна нигаред). Дар сурати дар марҳилаҳо - нигоҳдорӣ тасвири мувофиқ пайдо мешавад, werf тасвири тоза тартибдодашударо мепартояд ва тасвирро аз кэш истифода мебарад.

Ба ибораи дигар: раванди аввалини ба итмом расонидани сохтани тасвир (тезтарин) ҳуқуқи нигоҳ доштани онро дар марҳилаҳои нигоҳдорӣ (ва он гоҳ ин тасвири ягона барои ҳама сохтмонҳо истифода мешавад) мегирад. Раванди сохтани суст ҳеҷ гоҳ раванди тезтарро аз захира кардани натиҷаҳои сохтани марҳилаи ҳозира ва гузаштан ба сохтмони оянда бозмедорад.

→ Ҳуҷҷатҳо.

Иҷрои беҳтаршудаи созандаи Dockerfile

Дар айни замон, лӯлаи марҳилаҳо барои тасвири аз Dockerfile сохташуда аз як марҳила иборат аст - dockerfile. Ҳангоми ҳисоб кардани имзо маблағи назоратии файлҳо ҳисоб карда мешавад context, ки дар вакти монтаж истифода бурда мешавад. Пеш аз ин такмилдиҳӣ, werf ба таври рекурсивӣ аз тамоми файлҳо гузашт ва бо ҷамъбасти контекст ва режими ҳар як файл маблағи назоратӣ гирифт. Аз v1.1 сар карда, werf метавонад маблағи назоратии ҳисобшударо дар анбори Git истифода барад.

Алгоритм ба он асос ёфтааст git ls-tree. Алгоритм сабтҳоро дар .dockerignore ва танҳо дар ҳолати зарурӣ дарахти файлро ба таври рекурсивӣ убур мекунад. Ҳамин тариқ, мо аз хондани системаи файлӣ ва вобастагии алгоритм аз андоза ҷудо шудем. context назаррас нест.

Алгоритм инчунин файлҳои назоратнашударо месанҷад ва дар ҳолати зарурӣ онҳоро дар ҷамъи назорат ба назар мегирад.

Фаъолияти беҳтаршуда ҳангоми воридоти файлҳо

Версияҳои werf v1.1 сервери rsyncро истифода мебаранд, вақте ки воридоти файлҳо аз артефактҳо ва тасвирҳо. Пештар, воридот дар ду марҳила бо истифода аз васлкунии директория аз системаи ҳост анҷом дода мешуд.

Фаъолияти воридот дар macOS дигар бо ҳаҷми Docker маҳдуд намешавад ва воридот дар ҳамон вақт ба мисли Linux ва Windows анҷом мешавад.

Барчаспкунии бар асоси мундариҷа

Werf v1.1 ба истилоҳ барчаспро аз рӯи мундариҷаи тасвир дастгирӣ мекунад - барчасп дар асоси мундариҷа. Тегҳои тасвирҳои натиҷавии Docker аз мундариҷаи ин тасвирҳо вобастаанд.

Ҳангоми иҷро кардани фармон werf publish --tags-by-stages-signature ё werf ci-env --tagging-strategy=stages-signature тасвирҳои ба ном нашршуда имзои саҳна тасвир. Ҳар як тасвир бо имзои худ дар марҳилаҳои ин тасвир нишон дода мешавад, ки мувофиқи ҳамон қоидаҳое, ки имзои муқаррарии ҳар як марҳила дар алоҳидагӣ ҳисоб карда мешавад, аммо муайянкунандаи умумии тасвир аст.

Имзои марҳилаҳои тасвир аз инҳо вобаста аст:

  1. мазмуни ин тасвир;
  2. таърихи тағйироти Git, ки ба ин мундариҷа оварда расонд.

Дар анбори Git ҳамеша ӯҳдадориҳои мукаммал доранд, ки мундариҷаи файлҳои тасвириро тағир намедиҳанд. Масалан, танҳо бо шарҳҳо ё ӯҳдадориҳои якҷоякунӣ ё ӯҳдадориҳое, ки он файлҳоро дар Git иваз мекунанд, ки ба тасвир ворид карда намешаванд.

Ҳангоми истифодаи барчаспҳои ба мундариҷа асосёфта, мушкилоти аз нав оғоз кардани нолозими подкастҳои барнома дар Kubernetes бо сабаби тағир додани номи тасвир ҳал карда мешаванд, ҳатто агар мундариҷаи тасвир тағир наёфта бошад. Дар омади гап, ин яке аз сабабҳое мебошад, ки нигоҳ доштани бисёр микросервисҳои як барномаро дар як анбори 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, инчунин дорои гузоришҳои китобхонаҳои истифодашуда мебошад. Масалан, шумо метавонед бубинед, ки чӣ гуна ҳамкорӣ бо Реестри Docker сурат мегирад ва инчунин ҷойҳоеро, ки миқдори зиёди вақт сарф мешавад, сабт кунед:

Нашри werf 1.1: беҳбудиҳо дар сохтмончӣ имрӯз ва нақшаҳои оянда

Нақшаҳои минбаъда

Диққат! Вариантҳое, ки дар зер тавсиф шудаанд, қайд карда шудаанд v1.1 дар ин версия дастрас хоҳад шуд, бисёре аз онҳо дар ояндаи наздик. Навсозиҳо тавассути навсозии худкор ворид мешаванд ҳангоми истифодаи multiwerf. Ин хусусиятҳо ба қисми устувори функсияҳои v1.1 таъсир намерасонанд; намуди зоҳирии онҳо дахолати дастии корбарро дар конфигуратсияҳои мавҷуда талаб намекунад.

Дастгирии пурра барои татбиқи гуногуни Реестри Docker (НАВ)

Ҳадаф аз он иборат аст, ки корбар ҳангоми истифодаи werf татбиқи фармоиширо бидуни маҳдудият истифода барад.

Дар айни замон, мо маҷмӯи ҳалли зеринро муайян кардем, ки барои онҳо мо дастгирии пурраро кафолат медиҳем:

  • Пешфарз (китобхона/реестр)*,
  • AWS ECR
  • Azure*,
  • Hub Docker
  • GCR*,
  • Бастаҳои GitHub
  • Реестри GitLab*,
  • Харбор*,
  • Куай.

Ҳалҳое, ки ҳоло аз ҷониби werf пурра дастгирӣ мешаванд, бо ситорача ишора карда мешаванд. Барои дигарон дастгирӣ вуҷуд дорад, аммо бо маҳдудият.

Ду мушкилоти асосиро метавон муайян кард:

  • Баъзе қарорҳо нест кардани барчасбҳоро бо истифода аз Docker Registry API дастгирӣ намекунанд ва ба корбарон аз истифодаи тозакунии автоматии werf монеъ мешаванд. Ин барои бастаҳои AWS ECR, Docker Hub ва GitHub дуруст аст.
  • Баъзе қарорҳо анборҳои ба истилоҳ лонаро (Docker Hub, GitHub Packages ва Quay) пуштибонӣ намекунанд ё дастгирӣ намекунанд, аммо корбар бояд онҳоро бо истифода аз UI ё API (AWS ECR) дастӣ эҷод кунад.

Мо ин ва дигар мушкилотро бо истифода аз API-ҳои аслии ҳалли онҳо ҳал хоҳем кард. Ин вазифа инчунин фаро гирифтани давраи пурраи амалиёти werf бо санҷишҳо барои ҳар яки онҳоро дар бар мегирад.

Сохтани тасвири тақсимшуда (↑)

  • Версия: v1.2 v1.1 (афзалият барои татбиқи ин хусусият зиёд шудааст)
  • Санаи: март-апрел март
  • натиҷаи

Дар айни замон, werf v1.0 ва v1.1 метавонад танҳо дар як хости махсус барои амалиёти сохтан ва нашри тасвирҳо ва ҷойгиркунии барнома ба Kubernetes истифода шавад.

Барои кушодани имкониятҳои кори тақсимшудаи werf, вақте ки сохтан ва ҷойгиркунии замимаҳо дар Кубернетес дар якчанд ҳостҳои худсарона оғоз карда мешаванд ва ин ҳостҳо ҳолати худро дар байни сохтмонҳо (давандагони муваққатӣ) нигоҳ намедоранд, werf барои татбиқи қобилияти истифода талаб карда мешавад. Реестри Docker ҳамчун мағозаи саҳнавӣ.

Пештар, вақте ки лоиҳаи werf ҳанӯз dapp номида мешуд, он чунин имконият дошт. Бо вуҷуди ин, мо бо як қатор мушкилот дучор шудем, ки ҳангоми татбиқи ин функсия дар werf бояд ба назар гирифта шаванд.

эрод гирифтан. Ин хусусият коллекторро талаб намекунад, ки дар дохили қуттиҳои Kubernetes кор кунад, зеро Барои ин ба шумо лозим аст, ки аз вобастагӣ ба сервери маҳаллии Docker халос шавед (дар паҳлӯи Kubernetes ба сервери маҳаллии Docker дастрасӣ нест, зеро худи раванд дар як контейнер кор мекунад ва werf дастгирӣ намекунад ва нахоҳад кард. кор бо сервери Docker тавассути шабака). Дастгирии иҷро кардани Kubernetes алоҳида амалӣ карда мешавад.

Дастгирии расмии Actions GitHub (NEW)

Ҳуҷҷатҳои werf-ро дар бар мегирад (қисмҳо ишора и ҳидоят), инчунин Action расмии GitHub барои кор бо werf.

Илова бар ин, он ба werf имкон медиҳад, ки дар давандагони эфемерӣ кор кунад.

Механикаи ҳамкории корбарон бо системаи CI ба ҷойгир кардани тамғакоғазҳо дар дархостҳои кашидан барои оғоз кардани амалҳои муайян барои сохтан/иҷро кардани барнома асос меёбад.

Таҳияи маҳаллӣ ва густариши барномаҳо бо werf (↓)

  • Версия: v1.1
  • Санаи: январ-феврал апрел
  • натиҷаи

Ҳадафи асосӣ ин ноил шудан ба конфигуратсияи ягонаи ягона барои ҷойгиркунии барномаҳо ҳам дар дохили маҳаллӣ ва ҳам дар истеҳсолот, бидуни амалҳои мураккаб, берун аз қуттӣ мебошад.

werf инчунин талаб карда мешавад, ки режими корӣ дошта бошад, ки дар он таҳрир кардани коди барнома қулай хоҳад буд ва фавран аз замимаи иҷрошаванда барои ислоҳи хатогиҳо фикру мулоҳизаҳо гирифта шавад.

Алгоритми тозакунии нав (НАВ)

Дар версияи ҷорӣ werf v1.1 дар тартиби cleanup Барои тоза кардани тасвирҳо барои схемаи барчаспкунии мундариҷа пешбинӣ нашудааст - ин тасвирҳо ҷамъ мешаванд.

Инчунин, версияи кунунии werf (v1.0 ва v1.1) сиёсатҳои гуногуни тозакуниро барои тасвирҳои зери схемаҳои барчаспҳо нашршуда истифода мебарад: филиали Git, теги Git ё Git commit.

Алгоритми нави тоза кардани тасвирҳо дар асоси таърихи ӯҳдадориҳо дар Git, ки барои ҳама схемаҳои барчаспҳо муттаҳид шудааст, ихтироъ карда шуд:

  • Барои ҳар як git HEAD (шоҳҳо ва барчаспҳо) на бештар аз тасвирҳои N1-ро, ки бо ӯҳдадориҳои охирини N2 алоқаманданд, нигоҳ доред.
  • Барои ҳар як git HEAD (шоҳҳо ва барчаспҳо) на бештар аз N1 тасвирҳои марҳилаи марбут ба N2-и охиринро нигоҳ доред.
  • Ҳама тасвирҳоеро, ки дар ҳама гуна захираҳои кластери Kubernetes истифода мешаванд, нигоҳ доред (ҳамаи контекстҳои куби файли конфигуратсия ва фазоҳои номҳо скан карда мешаванд; шумо метавонед ин рафторро бо имконоти махсус маҳдуд кунед).
  • Ҳама тасвирҳоеро, ки дар манифестҳои конфигуратсияи захираҳо дар релизҳои Helm захира шудаанд, нигоҳ доред.
  • Тасвирро нест кардан мумкин аст, агар он бо ягон HEAD аз git алоқаманд набошад (масалан, барои он ки худи HEAD мувофиқ нест карда шудааст) ва дар ягон манифест дар кластери Kubernetes ва релизҳои Helm истифода нашавад.

Сохтани тасвири параллелӣ (↓)

  • Версия: v1.1
  • Санаи: январ-феврал апрел*

Варианти кунунии werf тасвирҳо ва артефактҳои дар тасвир тавсифшударо ҷамъ меорад werf.yaml, пай дар пай. Раванди монтажи марҳилаҳои мустақили тасвирҳо ва артефактҳоро мувозӣ кардан, инчунин баромади қулай ва иттилоотиро таъмин кардан лозим аст.

* Эзоҳ: мӯҳлат бо сабаби зиёд шудани афзалият барои татбиқи анҷумани тақсимшуда, ки имкониятҳои миқёси уфуқӣ ва инчунин истифодаи werf бо Actions GitHub илова мекунад, иваз карда шуд. Монтажи параллелӣ қадами навбатии оптимизатсия мебошад, ки миқёси амудиро ҳангоми васл кардани як лоиҳа таъмин мекунад.

Гузариш ба руль 3 (↓)

  • Версия: v1.2
  • Санаи: феврал-март май*

Муҳоҷират ба пойгоҳи нави кодро дар бар мегирад Руль 3 ва роҳи исботшуда ва қулайи интиқоли дастгоҳҳои мавҷуда.

* Эзоҳ: Гузариш ба Helm 3 ба werf хусусиятҳои муҳимро илова намекунад, зеро ҳама хусусиятҳои асосии Helm 3 (якҷоякунии 3-роҳ ва бидуни ченкунӣ) аллакай дар werf амалӣ карда шудаанд. Илова бар ин, werf дорад хусусиятҳои иловагӣ гайр аз онхое, ки нишон дода шудаанд. Аммо ин гузариш дар накшахои мо мемонад ва амалй мегардад.

Jsonnet барои тавсифи конфигуратсияи Kubernetes (↓)

  • Версия: v1.2
  • Санаи: январ-феврал апрел-май

Werf тавсифи конфигуратсияро барои Kubernetes дар формати Jsonnet дастгирӣ мекунад. Ҳамзамон, werf бо Helm мувофиқ боқӣ мемонад ва интихоби формати тавсиф вуҷуд хоҳад дошт.

Сабаб дар он аст, ки қолибҳои Go, ба гуфтаи бисёриҳо, монеаи баланди воридшавӣ доранд ва фаҳмиши коди ин қолабҳо низ осеб мебинанд.

Имконияти ҷорӣ намудани дигар системаҳои тавсифи конфигуратсияи Kubernetes (масалан, Kustomize) низ баррасӣ мешавад.

Кор дар дохили Kubernetes (↓)

  • Версия: v1.2
  • Санаи: апрел-май май-июн

Ҳадаф: Боварӣ ҳосил кунед, ки тасвирҳо сохта шудаанд ва барнома тавассути давандагон дар Кубернетес интиқол дода мешавад. Онхое. Тасвирҳои навро мустақиман аз қуттиҳои Kubernetes ҷамъ кардан, нашр кардан, тоза кардан ва ҷойгир кардан мумкин аст.

Барои татбиқи ин қобилият, шумо аввал бояд қодир бошед, ки тасвирҳои тақсимшуда эҷод кунед (ба нуктаи боло нигаред).

Он инчунин дастгирии режими кории меъморро бе сервери Docker талаб мекунад (масалан, сохтан ба Канико ё сохтан дар фазои корбарон).

Werf сохтани Кубернетесро на танҳо бо Dockerfile, балки бо созандаи Stapel бо барқарорсозии афзоянда ва Ansible дастгирӣ хоҳад кард.

Қадам ба сӯи рушди кушод

Мо ҷомеаи худро дӯст медорем (GitHub, телеграмма) ва мо мехоҳем, ки шумораи бештари одамон барои беҳтар кардани werf, дарк кардани самте, ки мо ба он ҳаракат мекунем ва дар таҳия иштирок кунанд.

Ба наздикӣ тасмим гирифта шуд, ки ба он гузаред Шӯрои лоиҳаҳои GitHub то ки процесси кори бригадаамон ошкор карда шавад. Акнун шумо метавонед нақшаҳои фаврӣ, инчунин корҳои ҷорӣ дар самтҳои зеринро бубинед:

Оид ба масъалахо бисьёр корхо ба чо оварда шуданд:

  • Бартараф кардани номатлуб.
  • Мав-чудахо ба формати ягона, бо микдори кофии детальхо ва детальхо оварда мешаванд.
  • Масъалахои нави фикру мулохиза ва таклифхо илова карда шуданд.

Чӣ тавр фаъол кардани версияи v1.1

Версия дар айни замон дастрас аст канали 1.1 (дар каналхо устувор и санги сахт релизҳо пайдо мешаванд, ки ба эътидол меояд, аммо ea худ аллакай кофӣ барои истифода устувор аст, зеро аз каналхо гузаштанд alpha и бета). Фаъол карда шуд тавассути 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 арзиши бештар медиҳанд: миқёси амудии бинокорон ва дастгирии бинокорони эфемерӣ дар системаҳои гуногуни CI/CD, инчунин қобилияти дастгирии расмӣ барои Actions GitHub . Аз ин рӯ, мӯҳлатҳои иҷрои ҷаласаҳои параллелӣ дигар карда шуданд. Бо вуҷуди ин, мо кӯшиш карда истодаем, ки ҳарду имкониятро ҳарчи зудтар амалӣ созем.

Хабарҳоро пайгирӣ кунед! Ва фаромӯш накунед, ки ба мо ташриф оред GitHubБарои эҷод кардани масъала, пайдо кардани масъалаи мавҷуда ва илова кардани плюс, эҷод кардани PR ё танҳо таҳияи лоиҳаро тамошо кунед.

PS

Инчунин дар блоги мо хонед:

Манбаъ: will.com

Илова Эзоҳ