Nānā: pehea e hana ai ke kaʻina hana Hoʻohui Hoʻomau

I kēia lā e nānā mākou i ka mōʻaukala o ka huaʻōlelo, e kūkākūkā i nā pilikia o ka hoʻokō ʻana i ka CI, a hāʻawi i kekahi mau mea hana kaulana e kōkua iā ʻoe e hana pū me ia.

Nānā: pehea e hana ai ke kaʻina hana Hoʻohui Hoʻomau
/flickr/ Altug Karakoc / ʻO CC / Hoʻololi ʻia ke kiʻi

Hōʻike

ʻO ka Continuous Integration kahi ala i ka hoʻomohala ʻana i nā noi e pili ana i ka hana pinepine ʻana o ka papahana a me ka hoʻāʻo code.

ʻO ka pahuhopu ka hana ʻana i ke kaʻina hana hoʻohui i ʻike ʻia a ʻike i nā pōpoki a me nā hewa i ka wā mua, i nui ka manawa e hoʻoponopono ai.

Ua puka mua ka hua'ōlelo Continuous Integration i ka makahiki 1991. Ua hoʻolauna ʻia e ka mea nāna i hana i ka ʻōlelo UML Grady Butch (Grady Booch). Ua hoʻokomo ka ʻenekinia i ka manaʻo o CI ma ke ʻano he ʻāpana o kāna hana hoʻomohala pono - ʻO ke ʻano Booch. Hoʻopili ia i ka hoʻomaʻemaʻe hoʻonui ʻana o ka hoʻolālā ʻana i ka hoʻolālā ʻana i nā ʻōnaehana hoʻohālikelike. ʻAʻole i wehewehe ʻo Gradi i nā koi no ka hoʻohui mau ʻana. Akā ma hope o kāna puke "ʻIke a me ka hoʻolālā ʻana me nā noi"Ua ʻōlelo ʻo ia ʻo ka pahuhopu o ke ʻano hana e wikiwiki i ka hoʻokuʻu ʻana i nā" hoʻokuʻu kūloko.

История

I ka makahiki 1996, ua lawe ʻia ʻo CI e nā mea hana o ke ʻano hana hoʻolālā kiʻekiʻe (XP) - Kent Beck (Kent Beck) a Ron Jeffries (Ron Jeffries). ʻO ka hoʻohui mau ʻana i lilo i ʻumikūmālua kumu nui o kā lākou ʻano. Ua wehewehe nā mea hoʻokumu o XP i nā koi no ke kaʻina hana CI a ʻike i ka pono e kūkulu i ka papahana i nā manawa he nui i ka lā.

I ka 2000s mua, ua hoʻomaka kekahi o nā mea hoʻokumu o ka Agile Alliance e hoʻolaha i ke ʻano hoʻohui hoʻomau. Martin Fowler (Martin Fowler). ʻO kāna mau hoʻokolohua me CI i alakaʻi i ka mea hana polokalamu mua ma kēia wahi - CruiseControl. Ua hana ʻia ka mea hoʻohana e ka hoa hana o Martin, ʻo Matthew Foemmel.

Hoʻokō ʻia ka pōʻaiapili kūkulu i ka mea hana ma ke ʻano he daemon e nānā i kēlā me kēia manawa i ka ʻōnaehana mana mana no nā loli i ke kumu code. Hiki ke hoʻoiho ʻia ka hopena i kēia lā - ʻo ia mahele ʻia e ma lalo o kahi laikini like BSD.

Me ka hiki ʻana mai o ka polokalamu no CI, ua hoʻomaka ka nui o nā ʻoihana e hana i ka hana. Wahi a Forrester noiʻi [ʻaoʻao 5 hōʻike], ma 2009, 86% o nā hui ʻenehana he kanalima i noiʻi ʻia i hoʻohana a hoʻokō paha i nā ʻano CI.

I kēia lā, hoʻohana ʻia ka hana o Continuous Integration e nā hui mai nā ʻano ʻoihana like ʻole. I ka makahiki 2018, ua alakaʻi kahi mea hāʻawi ao nui i kahi noiʻi ma waena o nā loea IT mai nā hui i nā lawelawe, hoʻonaʻauao a me nā ʻāpana kālā. ʻO nā kaukani ʻeono kaukani pane, ʻōlelo ʻo 58% e hoʻohana lākou i nā mea hana CI a me nā loina i kā lākou hana.

Pehea hana i keia hana

Hoʻokumu ʻia ka hoʻohui mau ʻana ma luna o nā mea hana ʻelua: kahi ʻōnaehana mana mana a me kahi kikowaena CI. Hiki i ka mea hope ke lilo i mea kino kino a i ʻole mīkini uila i loko o ke ao ao. Hoʻouka nā mea hoʻomohala i nā code hou i hoʻokahi a ʻoi aku paha i ka lā. Hoʻopili maʻalahi ke kikowaena CI me nā mea hilinaʻi āpau a kūkulu iā ia. Ma hope, holo ia i ka hoʻohui a me nā hoʻāʻo ʻāpana. Inā holo maikaʻi nā hoʻokolohua, hoʻolaha ka ʻōnaehana CI i ke code.

Hiki ke hōʻike ʻia ke kiʻikuhi kaʻina hana maʻamau penei:

Nānā: pehea e hana ai ke kaʻina hana Hoʻohui Hoʻomau

Hana ka CI methodology i kekahi mau koi no nā mea hoʻomohala:

  • E hoʻoponopono koke i nā pilikia. Ua hele mai kēia kumumanaʻo i CI mai ka hoʻolālā kiʻekiʻe. ʻO ka hoʻoponopono ʻana i nā pōpoki ka mea nui o nā mea hoʻomohala.
  • Hoʻokaʻawale i nā kaʻina hana. Pono nā mea hoʻomohala a me nā luna e ʻimi mau i nā bottlenecks i ke kaʻina hoʻohui a hoʻopau iā lākou. No ka laʻana, loaʻa pinepine kahi bottleneck i ka hoʻohui huli mai hoao ana.
  • E hana i nā hui i nā manawa hiki. Hoʻokahi manawa i ka lā e hoʻonohonoho i ka hana a ka hui.

Nā pilikia hoʻokō

ʻO ka pilikia mua he kiʻekiʻe nā koina hana. ʻOiai inā hoʻohana kahi hui i nā mea hana CI wehe (a mākou e kamaʻilio e pili ana ma hope), pono ia e hoʻolilo kālā i ke kākoʻo ʻoihana. Eia nō naʻe, ʻo nā ʻenehana kapua ka hopena.

Hoʻomaʻamaʻa lākou i ka hui ʻana o nā hoʻonohonoho kamepiula like ʻole. Hoʻohui o ka hui uku wale no nā kumuwaiwai i hoʻohana ʻia, e kōkua i ka mālama ʻana i ka ʻoihana.

Wahi a nā noiʻi [ʻaoʻao 14 nāʻatikala], hoʻonui ka hoʻohui mau i ka ukana ma luna o nā limahana ʻoihana (ma ka liʻiliʻi ma mua). Pono lākou e aʻo i nā mea hana hou, a ʻaʻole kōkua mau nā hoa hana i ke aʻo ʻana. No laila, pono ʻoe e hana me nā ʻōnaehana hou a me nā lawelawe ma ka lele.

ʻO ke kolu o ka paʻakikī he pilikia me ka automation. ʻO nā hui me ka nui o nā code hoʻoilina ʻaʻole i uhi ʻia e nā hoʻokolohua automated e kū nei i kēia pilikia. Ke alakaʻi nei kēia i ka ʻoiaʻiʻo ua kākau hou ʻia ke code ma mua o ka hoʻokō piha ʻana o CI.

Nānā: pehea e hana ai ke kaʻina hana Hoʻohui Hoʻomau
/flickr/ theilr / CC BY-SA

ʻO wai ka mea hoʻohana

ʻO nā mea nunui IT kekahi o ka poʻe mua i mahalo i nā pono o ke ʻano. Google hoʻohana hoʻohui mau mai ka waena o 2000s. Ua hoʻokō ʻia ʻo CI e hoʻoponopono i ka pilikia o ka lohi i ka ʻenekini huli. Ua kōkua ka hoʻohui mau ʻana i ka ʻike a hoʻoponopono i nā pilikia. I kēia manawa, hoʻohana ʻia ʻo CI e nā keʻena āpau o ka pilikua IT.

ʻO ka hoʻohui mau ʻana e kōkua pū i nā ʻoihana liʻiliʻi, a hoʻohana pū ʻia nā mea hana CI e nā hui kālā a mālama ola. No ka laʻana, ma Morningstar, ua kōkua nā lawelawe hoʻohui hoʻomau i ka hoʻopaʻa ʻana i nā nāwaliwali 70% wikiwiki. A ua hiki i ka Philips Healthcare kahua lapaʻau ke pālua i ka wikiwiki o ka hoʻāʻo ʻana i nā mea hou.

Nā Mea Hana

Eia kekahi mau mea hana kaulana no CI:

  • ʻO Jenkins ʻo ia kekahi o nā ʻōnaehana CI kaulana loa. Kākoʻo ia ma mua o hoʻokahi kaukani plugins no ka hoʻohui ʻana me nā VCS like ʻole, nā kapuaʻi kapuaʻi a me nā lawelawe ʻē aʻe. Hoʻohana pū mākou iā Jenkins ma 1cloud: mea hana komo i loko o kā mākou ʻōnaehana DevOps. Nānā mau ʻo ia i ka lālā Git i manaʻo ʻia no ka hoʻāʻo.
  • Buildbot - he ʻano python no ke kākau ʻana i kāu kaʻina hana hoʻohui mau. ʻO ka hoʻonohonoho mua o ka hāmeʻa he paʻakikī loa, akā ua uku ʻia kēia e nā koho hoʻoponopono ākea. Ma waena o nā pono o ka framework, hōʻike nā mea hoʻohana i kona haʻahaʻa haʻahaʻa haʻahaʻa.
  • ʻO Concourse CI he kikowaena mai Pivotal e hoʻohana ana i nā pahu Docker. Hoʻohui pū ʻo Concourse CI me nā mea hana a me nā ʻōnaehana mana mana. Hoʻomaopopo nā mea hoʻomohala e kūpono ka ʻōnaehana no ka hana ma nā ʻoihana o kēlā me kēia nui.
  • Gitlab CI he mea hana i kūkulu ʻia i loko o ka ʻōnaehana mana mana GitLab. Holo ka lawelawe i ke ao a hoʻohana i nā faila YAML no ka hoʻonohonoho. E like me Concourse, Gitlab CI pili Nā pahu Docker e kōkua i ka hoʻokaʻawale ʻana i nā kaʻina hana like ʻole.
  • Palena Kuhi he kikowaena CI kapua e hana pū ana me GitHub, GitLab a me BitBucket. ʻAʻole koi ka paepae i ka hoʻonohonoho mua lōʻihi - loaʻa nā kaʻina CI pre-installed maʻamau ma Codeship. No nā mea liʻiliʻi (a hiki i ka 100 kūkulu i kēlā me kēia mahina) a me nā papahana open source, loaʻa ka Codeship no ka manuahi.

Nā mea mai kā mākou blog hui:

Source: www.habr.com

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