Werf 1.1 hoʻokuʻu: hoʻomaikaʻi i ka mea hana i kēia lā a me nā hoʻolālā no ka wā e hiki mai ana

Werf 1.1 hoʻokuʻu: hoʻomaikaʻi i ka mea hana i kēia lā a me nā hoʻolālā no ka wā e hiki mai ana

werf ʻO kā mākou kumu hāmama GitOps CLI pono no ke kūkulu ʻana a me ka hāʻawi ʻana i nā noi iā Kubernetes. E like me ka mea i hoʻohiki ʻia, hoʻokuʻu i ka mana v1.0 ʻo ka hoʻomaka ʻana o ka hoʻohui ʻana i nā hiʻohiʻona hou i ka werf a me ka hoʻoponopono ʻana i nā ala kuʻuna. I kēia manawa, hauʻoli mākou e hōʻike i ka hoʻokuʻu v1.1, kahi hana nui i ka hoʻomohala ʻana a me kahi kumu no ka wā e hiki mai ana ʻohi ʻohi werf. Loaʻa ka mana i kēia manawa ma kaila 1.1 ea.

ʻO ke kumu o ka hoʻokuʻu ʻana ʻo ia ka hoʻolālā hou o ka mālama ʻana i ke kahua a me ka optimization o ka hana a nā ʻohi ʻelua (no Stapel a me Dockerfile). Ke wehe nei ka hale waihona puke hou i ka hiki ke hoʻokō i nā hui i hoʻokaʻawale ʻia mai nā pūʻali lehulehu a me nā hui like ʻole ma ka host hoʻokahi.

ʻO ka hoʻonui ʻana i ka hana e pili ana i ka hoʻopau ʻana i nā helu pono ʻole ma ke kahua o ka helu ʻana i nā pūlima pae a me ka hoʻololi ʻana i nā mīkini no ka helu ʻana i nā loiloi faila i nā mea ʻoi aku ka maikaʻi. Hoʻemi kēia hoʻonui ʻana i ka manawa maʻamau o ke kūkulu ʻana o ka papahana me ka werf. A hana ʻole ka hana ʻana, i ka wā e loaʻa ai nā pae āpau i ka cache pae-hoʻahu, ua wikiwiki loa. I ka nui o nā hihia, ʻo ka hoʻomaka hou ʻana i ke kūkulu ʻana e liʻiliʻi ma mua o 1 kekona! Pili pū kēia i nā kaʻina hana no ka hōʻoia ʻana i nā pae i ke kaʻina hana o nā hui. werf deploy и werf run.

Ma kēia hoʻokuʻu ʻana, ua ʻike ʻia kahi hoʻolālā no ka hoʻopaʻa ʻana i nā kiʻi ma o ka ʻike - kāʻili ʻana ma muli o ka maʻiʻo, ka mea i hiki i kēia manawa ma ka paʻamau a ʻo ka mea wale nō i ʻōlelo ʻia.

E nānā pono kākou i nā mea hou nui ma werf v1.1, a ma ka manawa like e haʻi aku iā ʻoe e pili ana i nā hoʻolālā no ka wā e hiki mai ana.

He aha ka mea i hoʻololi i werf v1.1?

Hōʻano inoa inoa hou a me ka algorithm no ke koho ʻana i nā pae mai ka cache

Ka lula hoʻokumu inoa kahua hou. I kēia manawa, hoʻokumu kēlā me kēia kahua kūkulu i kahi inoa kahua kūʻokoʻa, aia i 2 mau ʻāpana: kahi pūlima (e like me ka v1.0) a me kahi mea hōʻike manawa kūʻokoʻa.

No ka laʻana, ʻano like paha ka inoa kiʻi pae piha:

werf-stages-storage/myproject:d2c5ad3d2c9fcd9e57b50edd9cb26c32d156165eb355318cebc3412b-1582656767835

...a i ʻole ma ka laulā:

werf-stages-storage/PROJECT:SIGNATURE-TIMESTAMP_MILLISEC

Maʻaneʻi:

  • SIGNATURE he hōʻailona pae, e hōʻike ana i ka ʻike o ka maʻiʻo o ke kahua a hilinaʻi i ka mōʻaukala o nā hoʻoponopono ma Git i alakaʻi i kēia ʻike;
  • TIMESTAMP_MILLISEC he mea hōʻike kiʻi kūʻokoʻa i hōʻoia ʻia i hana ʻia i ka manawa i kūkulu ʻia ai kahi kiʻi hou.

ʻO ka algorithm no ke koho ʻana i nā pae mai ka cache e pili ana i ka nānā ʻana i ka pilina o Git commits:

  1. Hoʻopili ʻo Werf i ka pūlima o kekahi pae.
  2. В pae-hoʻahu Nui paha nā pae no ka pūlima i hāʻawi ʻia. Koho ʻo Werf i nā pae āpau e pili ana i ka pūlima.
  3. Inā pili ka pae o kēia manawa iā Git (git-archive, hana maʻamau me nā ʻāpana Git: install, beforeSetup, setup; a i ʻole git-latest-patch), a laila koho wale ʻo werf i kēlā mau pae e pili ana i kahi commit he kupuna o ka hana o kēia manawa (no ka mea i kapa ʻia ke kūkulu).
  4. Mai nā pae kūpono i koe, koho ʻia kekahi - ʻo ka mea kahiko loa ma ka lā hana.

Hiki ke loaʻa ka pūlima like i kahi pae no nā lālā Git like ʻole. Akā e pale ʻo werf i ka hoʻohana ʻana i ka huna huna e pili ana i nā lālā like ʻole ma waena o kēia mau lālā, ʻoiai inā pili nā pūlima.

→ Palapala.

ʻO ka algorithm hou no ka hoʻokumu ʻana a me ka mālama ʻana i nā pae i ka waiho ʻana o ke kahua

Inā, i ke koho ʻana i nā pae mai ka cache, ʻaʻole ʻike ʻo werf i kahi pae kūpono, a laila hoʻomaka ke kaʻina hana o ka hōʻuluʻulu ʻana i kahi pae hou.

E hoʻomaopopo he nui nā kaʻina hana (ma hoʻokahi a ʻoi aku paha) hiki ke hoʻomaka i ke kūkulu ʻana i ka pae like i ka manawa like. Hoʻohana ʻo Werf i kahi algorithm blocking optimistic pae-hoʻahu i ka manawa e mālama ai i ke kiʻi i hōʻiliʻili hou ʻia i loko pae-hoʻahu. ʻO kēia ala, i ka wā i mākaukau ai ke kahua hou, paʻa nā werf pae-hoʻahu a mālama i kahi kiʻi i hōʻiliʻili hou ʻia ma laila inā ʻaʻohe kiʻi kūpono i laila (ma ka pūlima a me nā ʻāpana ʻē aʻe - e ʻike i ka algorithm hou no ke koho ʻana i nā pae mai ka cache).

ʻO ke kiʻi i hui hou ʻia ua hōʻoiaʻiʻo ʻia e loaʻa kahi ʻike kū hoʻokahi e TIMESTAMP_MILLISEC (e ʻike i ke ʻano inoa inoa o ke kahua hou). I ka hihia ma pae-hoʻahu e ʻike ʻia kahi kiʻi kūpono, e hoʻolei ʻo werf i ke kiʻi hou i hōʻuluʻulu ʻia a hoʻohana i ke kiʻi mai ka hūnā.

I nā huaʻōlelo ʻē aʻe: ʻo ke kaʻina hana mua e hoʻopau ai i ke kūkulu ʻana i ke kiʻi (ʻo ka wikiwiki loa) e loaʻa iā ia ke kuleana e mālama iā ia ma nā pae-waiho (a laila ʻo kēia kiʻi hoʻokahi e hoʻohana ʻia no nā kūkulu āpau). ʻAʻole hiki i ke kaʻina hana lohi i ke kaʻina hana wikiwiki mai ka mālama ʻana i nā hopena kūkulu o ka pae o kēia manawa a neʻe aku i kahi kūkulu aʻe.

→ Palapala.

Hoʻomaikaʻi ʻia ka hana kūkulu hale Dockerfile

I kēia manawa, ʻo ka pipeline o nā ʻanuʻu no kahi kiʻi i kūkulu ʻia mai kahi Dockerfile i hoʻokahi pae - dockerfile. I ka helu ʻana i ka pūlima, helu ʻia ka helu helu o nā faila context, e hoʻohana ʻia i ka wā o ka hui ʻana. Ma mua o kēia hoʻomaikaʻi ʻana, ua hele ʻo werf i nā faila āpau a loaʻa i kahi helu helu ma ka hōʻuluʻulu ʻana i ka pōʻaiapili a me ke ʻano o kēlā me kēia faila. E hoʻomaka me v1.1, hiki iā werf ke hoʻohana i nā helu helu helu i mālama ʻia ma kahi waihona Git.

Hoʻokumu ʻia ka algorithm git ls-lāʻau. Mālama ka algorithm i nā moʻolelo ma .dockerignore a hele hou i ka lāʻau faila inā pono. No laila, ua wehe mākou mai ka heluhelu ʻana i ka ʻōnaehana faila, a me ka hilinaʻi o ka algorithm i ka nui context ʻaʻole koʻikoʻi.

Nānā pū ka algorithm i nā faila i ʻike ʻole ʻia a, inā pono, e noʻonoʻo iā lākou i ka checksum.

Hoʻomaikaʻi i ka hana i ka lawe ʻana i nā faila

Hoʻohana nā mana o werf v1.1 i kahi kikowaena rsync i ka wā lawe mai i nā faila mai nā kiʻi a me nā kiʻi. Ma mua, ua hana ʻia ka lawe ʻana mai i ʻelua mau ʻanuʻu me ka hoʻohana ʻana i kahi papa kuhikuhi mai ka ʻōnaehana hoʻokipa.

ʻAʻole i kaupalena ʻia ka hana hoʻokomo ʻana ma ka macOS e ka Docker volumes, a hoʻopau ʻia ka lawe ʻana mai i ka manawa like me Linux a me Windows.

Kau inoa ma muli o ka maʻiʻo

Kākoʻo ʻo Werf v1.1 i ka mea i kapa ʻia ʻo ka hoʻopaʻa inoa ʻana e nā ʻike kiʻi - kāʻili ʻana ma muli o ka maʻiʻo. ʻO nā hōʻailona o nā kiʻi Docker hopena e pili ana i nā mea o kēlā mau kiʻi.

Ke holo i ke kauoha werf publish --tags-by-stages-signature ai ole ia, werf ci-env --tagging-strategy=stages-signature paʻi kiʻi o ka mea i kapa ʻia pūlima kahua kiʻi. Hoʻopaʻa ʻia kēlā me kēia kiʻi me kona pūlima ponoʻī o nā pae o kēia kiʻi, i helu ʻia e like me nā lula like me ka pūlima maʻamau o kēlā me kēia pae i kaʻawale, akā he mea hōʻike maʻamau o ke kiʻi.

Aia ka pūlima o nā pae kiʻi i:

  1. nā mea i loko o kēia kiʻi;
  2. nā moʻolelo o nā loli Git i alakaʻi i kēia ʻike.

Loaʻa i kahi waihona Git nā hana dummy i hoʻololi ʻole i nā ʻike o nā faila kiʻi. No ka laʻana, commit me nā manaʻo wale a i ʻole merge commits, a i ʻole commit e hoʻololi i kēlā mau faila ma Git i lawe ʻole ʻia i ke kiʻi.

I ka hoʻohana ʻana i ka hōʻailona ma muli o ka ʻike, hoʻoponopono ʻia nā pilikia o ka hoʻomaka hou ʻana o nā pods noi ma Kubernetes ma muli o ka hoʻololi ʻana i ka inoa kiʻi, ʻoiai inā ʻaʻole i loli nā mea o ke kiʻi. Ma ke ala, ʻo ia kekahi o nā kumu e pale ai i ka mālama ʻana i nā microservices o hoʻokahi noi i loko o kahi waihona Git hoʻokahi.

Eia kekahi, ʻoi aku ka hilinaʻi o ka hoʻopaʻa inoa ʻana ma mua o ke kau ʻana ma nā lālā Git, no ka mea, ʻaʻole hilinaʻi ka ʻike o nā kiʻi i hopena i ke kauoha e hoʻokō ʻia ai nā pipeline ma ka ʻōnaehana CI no ka hui ʻana i nā hana he nui o ka lālā like.

nui: e hoomaka ana mai keia manawa aku pae-kaulima Ua ʻo ka hoʻolālā kau inoa wale nō i ʻōlelo ʻia. E hoʻohana ʻia ia ma ka paʻamau i ke kauoha werf ci-env (inā ʻaʻole ʻoe e hōʻike maopopo i kahi hoʻolālā kau inoa ʻē aʻe).

→ Palapala. E hoʻolaʻa pū ʻia kahi puke ʻokoʻa no kēia hiʻohiʻona. HANA HOU (ʻApelila 3): ʻatikala me nā kikoʻī hoʻopuka ʻia.

Nā pae logging

Loaʻa i ka mea hoʻohana i kēia manawa ka manawa e hoʻomalu i ka hoʻopuka, hoʻonohonoho i ka pae logging a hana me ka ʻike debugging. Hoʻohui ʻia nā koho --log-quiet, --log-verbose, --log-debug.

Ma ka paʻamau, loaʻa ka ʻike liʻiliʻi i ka puka:

Werf 1.1 hoʻokuʻu: hoʻomaikaʻi i ka mea hana i kēia lā a me nā hoʻolālā no ka wā e hiki mai ana

Ke hoʻohana nei i ka huaʻōlelo verbose (--log-verbose) hiki iā ʻoe ke ʻike i ka hana ʻana o werf:

Werf 1.1 hoʻokuʻu: hoʻomaikaʻi i ka mea hana i kēia lā a me nā hoʻolālā no ka wā e hiki mai ana

Huakaʻi kikoʻī (--log-debug), ma waho aʻe o ka ʻike werf debugging, loaʻa pū kekahi mau moʻolelo o nā hale waihona puke i hoʻohana ʻia. No ka laʻana, hiki iā ʻoe ke ʻike i ke ʻano o ka launa pū ʻana me ka Docker Registry, a hoʻopaʻa pū i nā wahi i hoʻopau ʻia ai ka manawa nui:

Werf 1.1 hoʻokuʻu: hoʻomaikaʻi i ka mea hana i kēia lā a me nā hoʻolālā no ka wā e hiki mai ana

Nā papahana e hiki mai ana

E hoʻomaikaʻi mai! Ua kaha ʻia nā koho i wehewehe ʻia ma lalo nei v1.1 e loaʻa i kēia mana, ka nui o lākou i ka wā e hiki mai ana. E hele mai ana nā mea hou ma o nā hoʻohou-aunoa i ka hoʻohana ʻana i ka multiwerf. ʻAʻole pili kēia mau hiʻohiʻona i ka ʻāpana paʻa o nā hana v1.1; ʻaʻole koi ko lākou hiʻohiʻona i ka hana lima o ka mea hoʻohana i nā hoʻonohonoho i loaʻa.

Kākoʻo piha no nā hoʻokō Docker Registry (NEW)

  • Manaʻo: v1.1
  • Nā lā: Malaki
  • pukana

ʻO ka pahuhopu no ka mea hoʻohana e hoʻohana i kahi hoʻokō maʻamau me ka ʻole o ka palena i ka wā e hoʻohana ai i ka werf.

I kēia manawa, ua ʻike mākou i kēia mau hoʻonā a mākou e hōʻoia ai i ke kākoʻo piha:

  • Default (hale waihona puke/kakau inoa)*,
  • AWS ECR
  • Azure*,
  • Kahua Docker
  • GCR*,
  • Nā pūʻolo GitHub
  • Kakau inoa GitLab*,
  • Awa*,
  • Quay.

Hōʻailona ʻia nā haʻina i kākoʻo piha ʻia e werf me ka asterisk. No nā mea ʻē aʻe he kākoʻo, akā me nā palena.

Hiki ke ʻike ʻia nā pilikia nui ʻelua:

  • ʻAʻole kākoʻo kekahi mau hoʻonā i ka wehe ʻana i ka hōʻailona me ka Docker Registry API, e pale ana i nā mea hoʻohana mai ka hoʻohana ʻana i ka hoʻomaʻemaʻe ʻakomi a werf. He ʻoiaʻiʻo kēia no AWS ECR, Docker Hub, a me GitHub Packages.
  • ʻAʻole kākoʻo kekahi mau hoʻonā i ka mea i kapa ʻia ʻo nested repositories (Docker Hub, GitHub Packages a Quay) a hana paha, akā pono ka mea hoʻohana e hana me ka lima me ka UI a i ʻole API (AWS ECR).

E hoʻoponopono mākou i kēia a me nā pilikia ʻē aʻe me ka hoʻohana ʻana i nā API maoli o nā hoʻonā. Hoʻokomo pū ʻia kēia hana i ka uhi ʻana i ka pōʻai holoʻokoʻa o ka hana werf me nā hoʻāʻo no kēlā me kēia o lākou.

Kūkulu ʻia nā kiʻi (↑)

  • Manaʻo: v1.2 v1.1 (ua hoʻonui ʻia ka mea nui no ka hoʻokō ʻana i kēia hiʻohiʻona)
  • Nā lā: Malaki-ʻApelila Malaki
  • pukana

I kēia manawa, hiki ke hoʻohana ʻia ka werf v1.0 a me v1.1 wale nō ma luna o hoʻokahi pūʻali i hoʻolaʻa ʻia no ka hana o ke kūkulu ʻana a me ka hoʻopuka ʻana i nā kiʻi a me ka lawe ʻana i ka noi iā Kubernetes.

No ka wehe ʻana i nā hiki ke hoʻokaʻawale i ka hana o ka werf, i ka wā i hoʻokumu ʻia ai ke kūkulu ʻana a me ka hoʻolaha ʻana o nā noi ma Kubernetes ma luna o kekahi mau pūʻali koa ʻole a ʻaʻole mālama kēia mau pūʻali i ko lākou mokuʻāina ma waena o nā kūkulu (nā kukini manawa), pono ʻo werf e hoʻokō i ka hiki ke hoʻohana. ka Docker Registry ma ke ʻano he hale kūʻai kahua.

Ma mua, i ka wā i kapa ʻia ai ka papahana werf he dapp, loaʻa iā ia kahi manawa kūpono. Eia naʻe, ua hālāwai mākou i kekahi mau pilikia e pono e noʻonoʻo ʻia i ka wā e hoʻokō ai i kēia hana ma werf.

i hoʻopuka. ʻAʻole pono kēia hiʻohiʻona i ka mea ʻohi e hana i loko o nā pods Kubernetes, no ka mea No ka hana ʻana i kēia, pono ʻoe e kāpae i ka hilinaʻi ʻana i ka server Docker kūloko (ma ka pod Kubernetes ʻaʻole hiki ke komo i ka server Docker kūloko, no ka mea ke holo nei ke kaʻina hana i loko o kahi pahu, a ʻaʻole kākoʻo ʻo werf a ʻaʻole kākoʻo. e hana pū ana me ka kikowaena Docker ma luna o ka pūnaewele). E hoʻokō kaʻawale ʻia ke kākoʻo no ka holo ʻana i nā Kubernetes.

Kākoʻo kūhelu no GitHub Actions (NEW)

  • Manaʻo: v1.1
  • Nā lā: Malaki
  • pukana

Loaʻa nā palapala werf (mau ʻāpana pili и alakai), a me ka hana GitHub mana no ka hana ʻana me werf.

Eia kekahi, e ʻae ʻo ia i ka werf e hana i nā mea holo ephemeral.

E hoʻokumu ʻia nā mīkini o ka launa pū ʻana o ka mea hoʻohana me ka ʻōnaehana CI ma ke kau ʻana i nā lepili ma nā noi huki e hoʻomaka i kekahi mau hana e kūkulu / ʻōwili i ka noi.

Ka hoʻomohala kūloko a me ka hoʻolaha ʻana o nā noi me werf (↓)

  • Manaʻo: v1.1
  • Nā lā: Ianuali-Fepeluali ʻApelila
  • pukana

ʻO ka pahuhopu nui ka hoʻokō ʻana i hoʻokahi config i hui pū ʻia no ka lawe ʻana i nā noi ma ka ʻāina a me ka hana ʻana, me ka ʻole o nā hana paʻakikī, ma waho o ka pahu.

Pono ʻia ʻo werf e loaʻa kahi ʻano hana e hiki ai ke hoʻoponopono i ke code noi a loaʻa koke i nā manaʻo mai ka noi holo no ka debugging.

ʻO ka algorithm hoʻomaʻemaʻe hou (NEW)

  • Manaʻo: v1.1
  • Nā lā: ʻApelila
  • pukana

Ma ka mana o kēia manawa o werf v1.1 i ke kaʻina hana cleanup ʻAʻohe mea hoʻolako no ka hoʻomaʻemaʻe ʻana i nā kiʻi no ka hoʻolālā hoʻopaʻa inoa ma muli o ka ʻike - e hōʻiliʻili kēia mau kiʻi.

Eia kekahi, hoʻohana ka mana o kēia manawa o werf (v1.0 a me v1.1) i nā kulekele hoʻomaʻemaʻe ʻokoʻa no nā kiʻi i paʻi ʻia ma lalo o nā papa kuhikuhi: lālā Git, Git tag a i ʻole Git commit.

Ua hana ʻia kahi algorithm hou no ka hoʻomaʻemaʻe ʻana i nā kiʻi e pili ana i ka mōʻaukala o commits ma Git, i hui pū ʻia no nā papa kuhikuhi āpau:

  • Mai mālama i nā kiʻi ʻoi aku ma mua o N1 e pili ana i nā hana hou loa o N2 no kēlā me kēia git HEAD (nā lālā a me nā hōʻailona).
  • Mai kūʻai i nā kiʻi ʻoi aku ma mua o N1 e pili ana i ka N2 hana hou loa no kēlā me kēia git HEAD (nā lālā a me nā hōʻailona).
  • E mālama i nā kiʻi a pau i hoʻohana ʻia ma nā kumu waiwai puʻupuʻu Kubernetes (nānā ʻia nā pōʻaiapili kube a pau o ka faila hoʻonohonoho a me nā wahi inoa; hiki iā ʻoe ke kaupalena i kēia ʻano me nā koho kūikawā).
  • E mālama i nā kiʻi a pau i hoʻohana ʻia i nā hōʻike hoʻonohonoho waiwai i mālama ʻia ma nā hoʻokuʻu Helm.
  • Hiki ke holoi ʻia ke kiʻi inā ʻaʻole pili ia me kekahi HEAD mai git (no ka laʻana, no ka mea, ua holoi ʻia ka HEAD ponoʻī) a ʻaʻole hoʻohana ʻia i nā hōʻike i ka hui Kubernetes a me nā hoʻokuʻu Helm.

Hale kiʻi like ʻole (↓)

  • Manaʻo: v1.1
  • Nā lā: Ianuali-Feberuari ʻApelila*

ʻO ka mana o kēia manawa o werf e hōʻiliʻili i nā kiʻi a me nā mea hana i wehewehe ʻia ma werf.yaml, ma ke kaʻina. Pono e hoʻohālikelike i ke kaʻina hana o ka hui ʻana i nā pae kūʻokoʻa o nā kiʻi a me nā mea kiʻi, a me ka hāʻawi ʻana i ka hoʻopuka kūpono a me ka ʻike.

* Nānā: ua hoʻololi ʻia ka lā palena ma muli o ka hoʻonui ʻana i ka mea nui no ka hoʻokō ʻana i ka hui puʻupuʻu, kahi e hoʻohui ai i nā mana scaling ākea, a me ka hoʻohana ʻana i ka werf me GitHub Actions. ʻO ka hui ʻana ʻo Parallel ka hana hoʻoponopono hou aʻe, e hāʻawi ana i ka scalability kūpaʻa i ka wā e ʻākoakoa ai i hoʻokahi papahana.

Hoʻololi i ka Helm 3 (↓)

  • Manaʻo: v1.2
  • Nā lā: Pepeluali-Malaki Mei*

Hoʻokomo ʻia ka neʻe ʻana i kahi codebase hou Helm 3 a he ala i hōʻoia ʻia a maʻalahi hoʻi e neʻe aku i nā mea hoʻonohonoho e kū nei.

* Nānā: ʻaʻole e hoʻohui ʻia nā hiʻohiʻona koʻikoʻi i ka werf ka hoʻololi ʻana i ka Helm 3, no ka mea, ua hoʻokō ʻia nā hiʻohiʻona nui o Helm 3 (3-way-merge a ʻaʻohe tiller) i werf. Eia kekahi, ua loaʻa iā werf nā hiʻohiʻona hou aʻe ma waho aʻe o nā mea i hōʻike ʻia. Eia nō naʻe, mau kēia hoʻololi i kā mākou mau hoʻolālā a e hoʻokō ʻia.

Jsonnet no ka wehewehe ʻana i ka hoʻonohonoho Kubernetes (↓)

  • Manaʻo: v1.2
  • Nā lā: Ianuali-FepelualiʻApelila-Mei

E kākoʻo ʻo Werf i nā wehewehe hoʻonohonoho no nā Kubernetes ma ke ʻano Jsonnet. I ka manawa like, e hoʻomau ʻia ka werf me Helm a aia kahi koho o ke ʻano wehewehe.

ʻO ke kumu ʻo Go templates, e like me ka nui o nā poʻe, loaʻa kahi pale komo kiʻekiʻe, a ʻo ka hoʻomaopopo ʻana i ke code o kēia mau hiʻohiʻona.

Ke noʻonoʻo ʻia nei ka hiki ke hoʻokomo i nā ʻōnaehana wehewehe hoʻonohonoho Kubernetes (no ka laʻana, Kustomize).

Ke hana nei i loko o Kubernetes (↓)

  • Manaʻo: v1.2
  • Nā lā: ʻApelila-Mei Mei-Iune

Pahuhopu: E hōʻoia i ke kūkulu ʻia ʻana o nā kiʻi a hāʻawi ʻia ka palapala noi me nā mea holo ma Kubernetes. ʻO kēlā mau mea. Hiki ke kūkulu ʻia, paʻi ʻia, hoʻomaʻemaʻe, a hoʻoili pololei ʻia nā kiʻi hou mai nā pods Kubernetes.

No ka hoʻokō ʻana i kēia hiki, pono ʻoe e hiki ke kūkulu i nā kiʻi puʻupuʻu (e nānā i ka helu ma luna).

Pono nō hoʻi ke kākoʻo no ke ʻano hana o ka mea kūkulu hale me ka ʻole o kahi kikowaena Docker (ʻo ia hoʻi.

E kākoʻo ʻo Werf i ke kūkulu ʻana ma nā Kubernetes ʻaʻole wale me Dockerfile, akā pū kekahi me kāna mea hana Stapel me nā hana hou a me Ansible.

He ʻanuʻu i ka hoʻomohala ākea

Aloha mākou i ko mākou kaiāulu (GitHub, Telegram) a makemake mākou i nā poʻe hou aʻe e kōkua i ka hoʻomaikaʻi ʻana i ka werf, hoʻomaopopo i ke ala a mākou e neʻe nei, a komo i ka hoʻomohala ʻana.

I kēia manawa ua hoʻoholo ʻia e hoʻololi i Nā papa papahana GitHub i mea e hōʻike ai i ke kaʻina hana o kā mākou hui. I kēia manawa hiki iā ʻoe ke ʻike i nā hoʻolālā koke, a me nā hana o kēia manawa ma nā wahi aʻe:

Nui nā hana i hana ʻia me nā pilikia:

  • Wehe ʻia nā mea pili ʻole.
  • Lawe ʻia nā mea i loaʻa i kahi ʻano hoʻokahi, me ka nui o nā kikoʻī a me nā kikoʻī.
  • Ua hoʻohui ʻia nā pilikia hou me nā manaʻo a me nā manaʻo.

Pehea e hiki ai i ka mana v1.1

Loaʻa ka mana i kēia manawa ma kaila 1.1 ea (ma nā kahawai lio и paʻa pōhaku e ʻike ʻia nā hoʻokuʻu ʻana i ka wā e hoʻopaʻa ʻia ai, akā naʻe ea pono'ī ua paʻa pono no ka hoʻohana ʻana, no ka mea hele ma na auwai alpha и Hoʻokolohua). Ho'ā ma o multiwerf penei:

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

hopena

ʻO ka hoʻolālā hale waihona kahua hou a me ka hoʻonui ʻana i nā mea kūkulu hale no nā mea kūkulu hale Stapel a me Dockerfile e wehe i ka hiki ke hoʻokō i nā mea i hāʻawi ʻia a me nā kūkulu like ʻana ma werf. E hōʻike koke ʻia kēia mau hiʻohiʻona ma ka hoʻokuʻu like v1.1 a e loaʻa koke ʻia ma o ka mīkini hoʻololi hou (no nā mea hoʻohana multiwerf).

Ma kēia hoʻokuʻu ʻana, ua hoʻohui ʻia kahi hoʻolālā e pili ana i ka ʻike kiʻi - kāʻili ʻana ma muli o ka maʻiʻo, i lilo i ka hoʻolālā paʻamau. Ua hana hou ʻia ka log kauoha nui: werf build, werf publish, werf deploy, werf dismiss, werf cleanup.

ʻO ka hana koʻikoʻi aʻe e hoʻohui i nā hui puʻupuʻu. Ua lilo nā hale i hoʻokaʻawale ʻia i mea koʻikoʻi ma mua o nā kūkulu like ʻana mai ka v1.0 no ka mea ua hoʻohui lākou i ka waiwai nui i werf: ka hoʻonui ʻia ʻana o nā mea kūkulu hale a me ke kākoʻo no nā mea kūkulu ephemeral i nā ʻōnaehana CI/CD like ʻole, a me ka hiki ke hana i ke kākoʻo kūhelu no GitHub Actions . No laila, ua hoʻololi ʻia nā manawa hoʻokō no nā hui like. Eia naʻe, ke hana nei mākou e hoʻokō i nā mea ʻelua i ka hiki.

E hahai i ka nūhou! A mai poina e kipa mai iā mākou ma GitHubno ka hana ʻana i kahi pilikia, e ʻimi i kahi mea i loaʻa a hoʻohui i kahi hoʻohui, hana i kahi PR, a i ʻole e nānā wale i ka hoʻomohala ʻana o ka papahana.

PS

E heluhelu pū ma kā mākou blog:

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka