Lati awọn iwe afọwọkọ si pẹpẹ ti ara wa: bii a ṣe n ṣe idagbasoke adaṣe ni CIAN

Lati awọn iwe afọwọkọ si pẹpẹ ti ara wa: bii a ṣe n ṣe idagbasoke adaṣe ni CIAN

Ni RIT 2019, ẹlẹgbẹ wa Alexander Korotkov ṣe iroyin nipa adaṣe ti idagbasoke ni CIAN: lati ṣe irọrun igbesi aye ati iṣẹ, a lo pẹpẹ Integro tiwa. O ṣe atẹle ọna igbesi aye ti awọn iṣẹ ṣiṣe, tu awọn olupilẹṣẹ ti awọn iṣẹ ṣiṣe deede ati dinku nọmba awọn idun ni iṣelọpọ. Ninu ifiweranṣẹ yii, a yoo ṣe iranlowo ijabọ Alexander ati sọ fun ọ bi a ṣe lọ lati awọn iwe afọwọkọ ti o rọrun si apapọ awọn ọja orisun ṣiṣi nipasẹ pẹpẹ tiwa ati kini ẹgbẹ adaṣe adaṣe lọtọ ṣe.
 

Odo ipele

"Ko si iru nkan bii ipele odo, Emi ko mọ iru nkan bẹẹ"
Titunto si Shifu lati fiimu "Kung Fu Panda"

Automation ni CIAN bẹrẹ 14 ọdun lẹhin ti awọn ile-ti a da. Ni akoko yẹn eniyan 35 wa ninu ẹgbẹ idagbasoke. Gidigidi lati gbagbọ, otun? Nitoribẹẹ, adaṣe wa tẹlẹ ni diẹ ninu awọn fọọmu, ṣugbọn itọsọna lọtọ fun isọpọ igbagbogbo ati ifijiṣẹ koodu bẹrẹ lati ni apẹrẹ ni ọdun 2015. 

Ni akoko yẹn, a ni monolith nla ti Python, C # ati PHP, ti a gbe lọ sori awọn olupin Linux/Windows. Lati ran aderubaniyan yii ṣiṣẹ, a ni ṣeto awọn iwe afọwọkọ ti a ṣiṣẹ pẹlu ọwọ. Apejọ monolith tun wa, eyiti o mu irora ati ijiya wa nitori awọn ija nigba ti o dapọ awọn ẹka, atunṣe awọn abawọn, ati atunṣe “pẹlu akojọpọ awọn iṣẹ-ṣiṣe ti o yatọ ni kikọ.” Ilana ti o rọrun kan dabi eyi:

Lati awọn iwe afọwọkọ si pẹpẹ ti ara wa: bii a ṣe n ṣe idagbasoke adaṣe ni CIAN

A wà ko dun pẹlu yi, ati awọn ti a fe lati kọ kan repeatable, aládàáṣiṣẹ ati ki o ṣakoso awọn Kọ ati imuṣiṣẹ ilana. Fun eyi, a nilo eto CI / CD, ati pe a yan laarin ẹya ọfẹ ti Teamcity ati ẹya ọfẹ ti Jenkins, nitori a ṣiṣẹ pẹlu wọn ati pe awọn mejeeji baamu wa ni awọn ofin ti ṣeto awọn iṣẹ. A yan Teamcity bi ọja to ṣẹṣẹ diẹ sii. Ni akoko yẹn, a ko tii lo iṣẹ iṣelọpọ microservice ati pe a ko nireti nọmba nla ti awọn iṣẹ ṣiṣe ati awọn iṣẹ akanṣe.

A wa si imọran ti eto ti ara wa

Awọn imuse ti Teamcity kuro nikan ni apa ti awọn Afowoyi iṣẹ: ohun ti o ku ni awọn ẹda ti Fa ibeere, igbega ti oran nipa ipo ni Jira, ati yiyan ti oran fun Tu. Eto Teamcity ko le farada eyi mọ. O jẹ dandan lati yan ọna ti adaṣe siwaju sii. A ṣe akiyesi awọn aṣayan fun ṣiṣẹ pẹlu awọn iwe afọwọkọ ni Teamcity tabi yi pada si awọn eto adaṣe ẹni-kẹta. Ṣugbọn ni ipari a pinnu pe a nilo irọrun ti o pọju, eyiti ojutu ti ara wa nikan le pese. Eyi ni bi ẹya akọkọ ti eto adaṣe inu inu ti a pe ni Integro ṣe farahan.

Teamcity ṣe pẹlu adaṣe ni ipele ti ifilọlẹ awọn ilana iṣelọpọ ati imuṣiṣẹ, lakoko ti Integro dojukọ adaṣe ipele-giga ti awọn ilana idagbasoke. O jẹ dandan lati darapọ iṣẹ pẹlu awọn ọran ni Jira pẹlu sisẹ koodu orisun ti o somọ ni Bitbucket. Ni ipele yii, Integro bẹrẹ lati ni awọn ṣiṣan iṣẹ tirẹ fun ṣiṣẹ pẹlu awọn iṣẹ ṣiṣe ti awọn oriṣi oriṣiriṣi. 

Nitori ilosoke ninu adaṣe ni awọn ilana iṣowo, nọmba awọn iṣẹ akanṣe ati ṣiṣe ni Teamcity ti pọ si. Nitorinaa iṣoro tuntun kan wa: apẹẹrẹ Teamcity ọfẹ kan ko to (awọn aṣoju 3 ati awọn iṣẹ akanṣe 100), a ṣafikun apẹẹrẹ miiran (awọn aṣoju 3 diẹ sii ati awọn iṣẹ akanṣe 100), lẹhinna miiran. Bi abajade, a pari pẹlu eto ti ọpọlọpọ awọn iṣupọ, eyiti o nira lati ṣakoso:

Lati awọn iwe afọwọkọ si pẹpẹ ti ara wa: bii a ṣe n ṣe idagbasoke adaṣe ni CIAN

Nigbati ibeere ti apẹẹrẹ 4th dide, a rii pe a ko le tẹsiwaju lati gbe bii eyi, nitori awọn idiyele lapapọ ti atilẹyin awọn ọran 4 ko si laarin awọn opin eyikeyi. Awọn ibeere dide nipa rira san Teamcity tabi yan free Jenkins. A ṣe awọn iṣiro lori awọn iṣẹlẹ ati awọn ero adaṣe ati pinnu pe a yoo gbe lori Jenkins. Lẹhin ọsẹ meji kan, a yipada si Jenkins ati yọkuro diẹ ninu awọn orififo ti o ni nkan ṣe pẹlu mimu awọn iṣẹlẹ Teamcity lọpọlọpọ. Nitorinaa, a ni anfani si idojukọ lori idagbasoke Integro ati isọdi Jenkins fun ara wa.

Pẹlu idagba ti adaṣe ipilẹ (ni irisi ẹda adaṣe ti Awọn ibeere Fa, gbigba ati atẹjade ti agbegbe koodu ati awọn sọwedowo miiran), ifẹ ti o lagbara wa lati kọ awọn idasilẹ Afowoyi bi o ti ṣee ṣe ki o fun iṣẹ yii si awọn roboti. Ni afikun, ile-iṣẹ bẹrẹ gbigbe si awọn microservices laarin ile-iṣẹ naa, eyiti o nilo awọn idasilẹ loorekoore, ati lọtọ si ara wọn. Eyi ni bii a ṣe wa diẹdiẹ si awọn idasilẹ adaṣe ti awọn iṣẹ microservices wa (a n ṣe idasilẹ monolith lọwọlọwọ pẹlu ọwọ nitori iloju ilana naa). Ṣugbọn, bi o ti maa n ṣẹlẹ, idiju tuntun kan dide. 

A ṣe adaṣe adaṣe

Lati awọn iwe afọwọkọ si pẹpẹ ti ara wa: bii a ṣe n ṣe idagbasoke adaṣe ni CIAN

Nitori adaṣe adaṣe ti awọn idasilẹ, awọn ilana idagbasoke ti yara, ni apakan nitori fo ti diẹ ninu awọn ipele idanwo. Ati pe eyi yori si pipadanu didara fun igba diẹ. O dabi ohun kekere, ṣugbọn pẹlu isare ti awọn idasilẹ, o jẹ dandan lati yi ilana idagbasoke ọja pada. O jẹ dandan lati ronu nipa adaṣe adaṣe, fifin ojuse ti ara ẹni (nibi a n sọrọ nipa “gbigba imọran ni ori”, kii ṣe awọn itanran owo) ti olupilẹṣẹ fun koodu idasilẹ ati awọn idun ninu rẹ, ati ipinnu lati tu / ko tu iṣẹ kan nipasẹ imuṣiṣẹ laifọwọyi. 

Imukuro awọn iṣoro didara, a wa si awọn ipinnu pataki meji: a bẹrẹ lati ṣe idanwo canary ati ṣafihan ibojuwo aifọwọyi ti ipilẹ aṣiṣe pẹlu idahun adaṣe si apọju rẹ. Ojutu akọkọ jẹ ki o ṣee ṣe lati wa awọn aṣiṣe ti o han gbangba ṣaaju ki koodu ti tu silẹ ni kikun sinu iṣelọpọ, keji dinku akoko idahun si awọn iṣoro ni iṣelọpọ. Awọn aṣiṣe, dajudaju, ṣẹlẹ, ṣugbọn a lo pupọ julọ akoko ati igbiyanju wa kii ṣe lati ṣe atunṣe wọn, ṣugbọn lori idinku wọn. 

Automation Team

Lọwọlọwọ a ni oṣiṣẹ ti awọn olupilẹṣẹ 130, ati pe a tẹsiwaju dagba. Ẹgbẹ naa fun iṣọpọ lemọlemọfún ati ifijiṣẹ koodu (lẹhin ti a tọka si bi Deploy and Integration or DI team) ni awọn eniyan 7 ati ṣiṣẹ ni awọn itọnisọna 2: idagbasoke ti Syeed automation Integro ati DevOps. 

DevOps jẹ iduro fun agbegbe Dev/Beta ti aaye CIAN, agbegbe Integro, ṣe iranlọwọ fun awọn olupolowo yanju awọn iṣoro ati dagbasoke awọn isunmọ tuntun si awọn agbegbe iwọn. Itọsọna idagbasoke Integro ṣe pẹlu mejeeji Integro funrararẹ ati awọn iṣẹ ti o jọmọ, fun apẹẹrẹ, awọn afikun fun Jenkins, Jira, Confluence, ati tun ṣe agbekalẹ awọn ohun elo iranlọwọ ati awọn ohun elo fun awọn ẹgbẹ idagbasoke. 

Ẹgbẹ DI n ṣiṣẹ ni ifowosowopo pẹlu ẹgbẹ Platform, eyiti o ṣe agbekalẹ faaji, awọn ile-ikawe, ati awọn isunmọ idagbasoke ni inu. Ni akoko kan naa, eyikeyi Olùgbéejáde laarin CIAN le tiwon si adaṣiṣẹ, fun apẹẹrẹ, ṣe bulọọgi-automation lati ba awọn aini ti awọn egbe tabi pin kan itura agutan lori bi o lati ṣe adaṣiṣẹ paapa dara.

Akara oyinbo ti adaṣe ni CIAN

Lati awọn iwe afọwọkọ si pẹpẹ ti ara wa: bii a ṣe n ṣe idagbasoke adaṣe ni CIAN

Gbogbo awọn ọna ṣiṣe ti o ni ipa ninu adaṣe le pin si awọn fẹlẹfẹlẹ pupọ:

  1. Awọn ọna ita (Jira, Bitbucket, ati bẹbẹ lọ). Awọn ẹgbẹ idagbasoke ṣiṣẹ pẹlu wọn.
  2. Integro Syeed. Ni ọpọlọpọ igba, awọn olupilẹṣẹ ko ṣiṣẹ pẹlu rẹ taara, ṣugbọn o jẹ ohun ti o jẹ ki gbogbo adaṣe ṣiṣẹ.
  3. Ifijiṣẹ, orchestration ati awọn iṣẹ iṣawari (fun apẹẹrẹ, Jeknins, Consul, Nomad). Pẹlu iranlọwọ wọn, a fi koodu ranṣẹ lori olupin ati rii daju pe awọn iṣẹ ṣiṣẹ pẹlu ara wọn.
  4. Layer ti ara (awọn olupin, OS, sọfitiwia ti o jọmọ). Koodu wa ṣiṣẹ ni ipele yii. Eyi le jẹ boya olupin ti ara tabi foju kan (LXC, KVM, Docker).

Da lori ero yii, a pin awọn agbegbe ti ojuse laarin ẹgbẹ DI. Awọn ipele meji akọkọ wa ni agbegbe ti ojuse ti itọsọna idagbasoke Integro, ati pe awọn ipele meji ti o kẹhin ti wa tẹlẹ ni agbegbe ti ojuse ti DevOps. Iyapa yii gba wa laaye lati dojukọ awọn iṣẹ-ṣiṣe ati pe ko dabaru pẹlu ibaraenisepo, nitori a wa nitosi ara wa ati paarọ imọ ati iriri nigbagbogbo.

Aifọwọyi

Jẹ ki a dojukọ Integro ki a bẹrẹ pẹlu akopọ imọ-ẹrọ:

  • CentOS 7
  • Docker + Nomad + Consul + ifinkan
  • Java 11 (Integro monolith atijọ yoo wa lori Java 8)
  • Orisun Boot 2.X + Orisun Cloud Config
  • PostgreSql 11
  • EhoroMQ 
  • Apache Ignite
  • Camunda (ti a fi sii)
  • Grafana + Lẹẹdi + Prometheus + Jaeger + ELK
  • UI ayelujara: fesi (CSR) + MobX
  • SSD: Keycloak

A faramọ ilana ti idagbasoke microservice, botilẹjẹpe a ni ogún ni irisi monolith ti ẹya ibẹrẹ ti Integro. Olukuluku microservice nṣiṣẹ ninu apo Docker tirẹ, ati awọn iṣẹ naa ṣe ibasọrọ pẹlu ara wọn nipasẹ awọn ibeere HTTP ati awọn ifiranṣẹ RabbitMQ. Microservices ri kọọkan miiran nipasẹ Consul ati ki o ṣe kan ìbéèrè si o, ran ašẹ nipasẹ SSO ​​(Keycloak, OAuth 2/OpenID Connect).

Lati awọn iwe afọwọkọ si pẹpẹ ti ara wa: bii a ṣe n ṣe idagbasoke adaṣe ni CIAN

Gẹgẹbi apẹẹrẹ igbesi aye gidi, ronu ibaraṣepọ pẹlu Jenkins, eyiti o ni awọn igbesẹ wọnyi:

  1. Microservice iṣakoso ṣiṣiṣẹsẹhin (lẹhin ti a tọka si bi microservice Flow) fẹ lati ṣiṣe kikọ ni Jenkins. Lati ṣe eyi, o lo Consul lati wa IP: PORT ti microservice fun isọpọ pẹlu Jenkins (lẹhinna tọka si bi Jenkins microservice) ati firanṣẹ ibeere asynchronous si rẹ lati bẹrẹ kọ ni Jenkins.
  2. Lẹhin gbigba ibeere kan, Jenkins microservice ṣe ipilẹṣẹ ati dahun pẹlu ID Job kan, eyiti o le ṣee lo lati ṣe idanimọ abajade iṣẹ naa. Ni akoko kanna, o nfa kikọ ni Jenkins nipasẹ ipe API REST kan.
  3. Jenkins ṣe kikọ ati, lẹhin ipari, firanṣẹ webhook kan pẹlu awọn abajade ipaniyan si microservice Jenkins.
  4. Awọn microservice Jenkins, ti o ti gba webhook, ṣe ipilẹṣẹ ifiranṣẹ kan nipa ipari sisẹ ibeere ati so awọn abajade ipaniyan mọ. Ifiranṣẹ ti ipilẹṣẹ ti firanṣẹ si isinyi RabbitMQ.
  5. Nipasẹ RabbitMQ, ifiranṣẹ ti a tẹjade ti de ọdọ microservice Flow, eyiti o kọ ẹkọ nipa abajade ti sisẹ iṣẹ rẹ nipa ibaramu ID Job lati ibeere ati ifiranṣẹ ti o gba.

Bayi a ni nipa 30 microservices, eyi ti o le wa ni pin si orisirisi awọn ẹgbẹ:

  1. Isakoso iṣeto ni.
  2. Alaye ati ibaraenisepo pẹlu awọn olumulo (awọn ojiṣẹ, meeli).
  3. Ṣiṣẹ pẹlu koodu orisun.
  4. Ijọpọ pẹlu awọn irinṣẹ imuṣiṣẹ (jenkins, nomad, consul, ati bẹbẹ lọ).
  5. Abojuto (awọn idasilẹ, awọn aṣiṣe, ati bẹbẹ lọ).
  6. Awọn ohun elo wẹẹbu (UI fun iṣakoso awọn agbegbe idanwo, awọn iṣiro ikojọpọ, ati bẹbẹ lọ).
  7. Ijọpọ pẹlu awọn olutọpa iṣẹ ati awọn ọna ṣiṣe ti o jọra.
  8. Ṣiṣakoso ṣiṣan iṣẹ fun awọn iṣẹ ṣiṣe oriṣiriṣi.

Awọn iṣẹ-ṣiṣe iṣan-iṣẹ

Integro ṣe adaṣe awọn iṣẹ ṣiṣe ti o ni ibatan si igbesi aye iṣẹ-ṣiṣe. Ni awọn ọrọ ti o rọrun, igbesi-aye igbesi aye ti iṣẹ-ṣiṣe yoo ni oye bi iṣan-iṣẹ ti iṣẹ-ṣiṣe kan ni Jira. Awọn ilana idagbasoke wa ni ọpọlọpọ awọn iyatọ ṣiṣiṣẹ ṣiṣẹ da lori iṣẹ akanṣe, iru iṣẹ-ṣiṣe ati awọn aṣayan ti a yan ni iṣẹ-ṣiṣe kan pato. 

Jẹ ki a wo iṣan-iṣẹ ti a lo nigbagbogbo:

Lati awọn iwe afọwọkọ si pẹpẹ ti ara wa: bii a ṣe n ṣe idagbasoke adaṣe ni CIAN

Ninu aworan atọka, jia tọkasi pe iyipada ni a pe ni aifọwọyi nipasẹ Integro, lakoko ti eeya eniyan tọka pe iyipada ni a pe ni ọwọ nipasẹ eniyan. Jẹ ki a wo awọn ọna pupọ ti iṣẹ-ṣiṣe le gba ni ṣiṣiṣẹsẹhin iṣẹ yii.

Idanwo afọwọṣe ni kikun lori DEV+BETA laisi awọn idanwo canary (nigbagbogbo eyi ni bii a ṣe tusilẹ monolith):

Lati awọn iwe afọwọkọ si pẹpẹ ti ara wa: bii a ṣe n ṣe idagbasoke adaṣe ni CIAN

Awọn akojọpọ iyipada miiran le wa. Nigba miiran ọna ti ọran yoo gba ni a le yan nipasẹ awọn aṣayan ni Jira.

Gbigbe iṣẹ-ṣiṣe

Jẹ ki a wo awọn igbesẹ akọkọ ti o ṣe nigbati iṣẹ-ṣiṣe kan ba lọ nipasẹ “Iyẹwo DEV + Awọn idanwo Canary” iṣan-iṣẹ:

1. Olùgbéejáde tabi PM ṣẹda iṣẹ-ṣiṣe naa.

2. Olùgbéejáde gba iṣẹ-ṣiṣe lati ṣiṣẹ. Lẹhin ipari, yoo yipada si ipo IWỌWỌWỌ.

3. Jira rán Webhook kan si Jira microservice (lodidi fun Integration pẹlu Jira).

4. Microservice Jira firanṣẹ ibeere kan si iṣẹ Flow (lodidi fun awọn iṣan-iṣẹ inu inu eyiti a ṣe iṣẹ) lati bẹrẹ iṣiṣẹ.

5. Ninu iṣẹ Sisan:

  • A yan awọn oluyẹwo si iṣẹ-ṣiṣe naa (Mikroservice olumulo ti o mọ ohun gbogbo nipa awọn olumulo + Jira microservice).
  • Nipasẹ microservice Orisun (o mọ nipa awọn ibi ipamọ ati awọn ẹka, ṣugbọn ko ṣiṣẹ pẹlu koodu funrararẹ), a ṣe wiwa fun awọn ibi ipamọ ti o ni ẹka kan ti oro wa (lati ṣe irọrun wiwa, orukọ ẹka naa ni ibamu pẹlu ọran naa. nọmba ni Jira). Nigbagbogbo, iṣẹ-ṣiṣe kan ni ẹka kan nikan ni ibi ipamọ kan; eyi jẹ irọrun iṣakoso ti isinyi imuṣiṣẹ ati dinku isopọmọ laarin awọn ibi ipamọ.
  • Fun ẹka kọọkan ti a rii, ọna ṣiṣe atẹle wọnyi ni a ṣe:

    i) Nmu titunto si eka (Git microservice fun ṣiṣẹ pẹlu koodu).
    ii) Ẹka naa ti dinamọ lati awọn ayipada nipasẹ olupilẹṣẹ (Bitbucket microservice).
    iii) A ṣẹda Ibeere Fa fun ẹka yii (Bitbucket microservice).
    iv) Ifiranṣẹ kan nipa Ibeere Fa titun kan ni a fi ranṣẹ si awọn ibaraẹnisọrọ idagbasoke (Fiwifun microservice fun ṣiṣẹ pẹlu awọn iwifunni).
    v) Kọ, idanwo ati imuṣiṣẹ awọn iṣẹ-ṣiṣe bẹrẹ lori DEV (Jenkins microservice fun ṣiṣẹ pẹlu Jenkins).
    vi) Ti gbogbo awọn igbesẹ ti tẹlẹ ba ti pari ni aṣeyọri, lẹhinna Integro yoo fi ifọwọsi rẹ sinu Ibeere Fa (Bitbucket microservice).

  • Integro n duro de Ifọwọsi ni Ibeere Fa lati ọdọ awọn oluyẹwo ti a yan.
  • Ni kete ti gbogbo awọn ifọwọsi pataki ti gba (pẹlu awọn idanwo adaṣe ti kọja daadaa), Integro gbe iṣẹ naa lọ si Idanwo lori ipo Dev (Jira microservice).

6. Awọn oludanwo ṣe idanwo iṣẹ naa. Ti ko ba si awọn iṣoro, lẹhinna a gbe iṣẹ naa lọ si ipo Ṣetan Fun Kọ.

7. Integro "ri" pe iṣẹ naa ti ṣetan fun itusilẹ ati bẹrẹ imuṣiṣẹ rẹ ni ipo canary (Jenkins microservice). Imurasilẹ fun itusilẹ jẹ ipinnu nipasẹ ṣeto awọn ofin. Fun apẹẹrẹ, iṣẹ-ṣiṣe wa ni ipo ti o nilo, ko si awọn titiipa lori awọn iṣẹ-ṣiṣe miiran, Lọwọlọwọ ko si awọn igbasilẹ ti nṣiṣe lọwọ ti microservice yii, ati bẹbẹ lọ.

8. Iṣẹ naa ti gbe lọ si ipo Canary (Jira microservice).

9. Jenkins ṣe ifilọlẹ iṣẹ-ṣiṣe imuṣiṣẹ nipasẹ Nomad ni ipo canary (nigbagbogbo awọn iṣẹlẹ 1-3) ati ṣe akiyesi iṣẹ ibojuwo itusilẹ (DeployWatch microservice) nipa imuṣiṣẹ naa.

10. Awọn DeployWatch microservice gba isale aṣiṣe ati fesi si o, ti o ba wulo. Ti abẹlẹ aṣiṣe ba ti kọja (iwọn isale isale jẹ iṣiro laifọwọyi), awọn oludasilẹ ti gba iwifunni nipasẹ microservice Notify. Ti o ba ti lẹhin iṣẹju marun 5 olupilẹṣẹ ko ti dahun (titẹ Pada tabi Duro), lẹhinna yiyi pada laifọwọyi ti awọn iṣẹlẹ canary ti ṣe ifilọlẹ. Ti abẹlẹ ko ba kọja, lẹhinna olupilẹṣẹ gbọdọ ṣe ifilọlẹ imuṣiṣẹ iṣẹ-ṣiṣe pẹlu ọwọ si iṣelọpọ (nipa titẹ bọtini kan ninu UI). Ti o ba wa laarin awọn iṣẹju 60 ti olupilẹṣẹ ko ṣe ifilọlẹ imuṣiṣẹ si iṣelọpọ, lẹhinna awọn ọran canary yoo tun yiyi pada fun awọn idi aabo.

11. Lẹhin ifilọlẹ imuṣiṣẹ si iṣelọpọ:

  • Iṣẹ naa ti gbe lọ si ipo iṣelọpọ (Jira microservice).
  • microservice Jenkins bẹrẹ ilana imuṣiṣẹ ati ki o sọfun DeployWatch microservice nipa imuṣiṣẹ naa.
  • DeployWatch microservice sọwedowo pe gbogbo awọn apoti lori iṣelọpọ ti ni imudojuiwọn (awọn ọran wa nigbati kii ṣe gbogbo wọn ni imudojuiwọn).
  • Nipasẹ microservice Notify, ifitonileti kan nipa awọn abajade ti imuṣiṣẹ ni a firanṣẹ si iṣelọpọ.

12. Awọn olupilẹṣẹ yoo ni awọn iṣẹju 30 lati bẹrẹ yiyi iṣẹ-ṣiṣe pada lati iṣelọpọ ti a ba rii ihuwasi microservice ti ko tọ. Lẹhin akoko yii, iṣẹ naa yoo dapọ laifọwọyi si oluwa (Git microservice).

13. Lẹhin aṣeyọri aṣeyọri sinu oluwa, ipo iṣẹ yoo yipada si Titipade (Jira microservice).

Aworan naa ko ṣe dibọn pe o jẹ alaye ni kikun (ni otitọ awọn igbesẹ diẹ sii wa), ṣugbọn o fun ọ laaye lati ṣe ayẹwo iwọn isọpọ sinu awọn ilana. A ko ro ero yii pe o dara julọ ati pe o ni ilọsiwaju awọn ilana ti idasilẹ laifọwọyi ati atilẹyin imuṣiṣẹ.

Kini atẹle

A ni awọn ero nla fun idagbasoke adaṣe, fun apẹẹrẹ, imukuro awọn iṣẹ afọwọṣe lakoko awọn idasilẹ monolith, imudarasi ibojuwo lakoko imuṣiṣẹ adaṣe, ati imudarasi ibaraenisepo pẹlu awọn olupilẹṣẹ.

Ṣugbọn jẹ ki a da duro nibi fun bayi. A bo ọpọlọpọ awọn koko-ọrọ ninu atunyẹwo adaṣe adaṣe, diẹ ninu ko kan rara, nitorinaa a yoo ni idunnu lati dahun awọn ibeere. A n duro de awọn imọran lori kini lati bo ni awọn alaye, kọ ninu awọn asọye.

orisun: www.habr.com

Fi ọrọìwòye kun