నిరంతర సమైక్యత మరియు విస్తరణ, లేదా CI / CD, మీ ప్రాజెక్ట్ కోసం ప్రతి నిబద్ధతను స్వయంచాలకంగా నిర్మించడం మరియు పరీక్షించడం ద్వారా అభివృద్ధిని క్రమబద్ధీకరించడం మరియు వేగవంతం చేసే ప్రక్రియ. GitLab వారి ఫైల్లో CI / CD ని అనుసంధానిస్తుంది git
పరిష్కారం చాలా బాగా ఉంది మరియు దాన్ని ఎలా సెటప్ చేయాలో మరియు దానితో ఎలా పని చేయాలో మేము మీకు చూపుతాము.
బిల్డ్ సర్వర్ను కాన్ఫిగర్ చేస్తోంది (గిట్ల్యాబ్ రన్నర్)
కోడ్ను కంపైల్ చేయడం చాలా సవాలుగా ఉంటుంది. అన్ని భాషలకు ఈ సమస్య లేదు, కానీ కొన్ని, C ++ వంటివి, సంక్లిష్టమైన సంకలనాన్ని పూర్తి చేయడానికి అరగంటకు పైగా పట్టవచ్చు. ఉదాహరణకు, ఈ గేమర్స్ నెక్సస్ గ్రాఫ్లో చూపిన విధంగా క్రోమియం 12-కోర్ సిస్టమ్లలో కూడా ఒక గంట సమయం పడుతుంది.
సమయం డబ్బు, కాబట్టి చాలా కంపెనీలు అంకితమైన బిల్డ్ సర్వర్లను ఎంచుకుంటాయి, తరచూ సర్వర్ల సమూహంగా ఉంటాయి మరియు శక్తివంతమైన హార్డ్వేర్పై వారి CI / CD పైప్లైన్లను అమలు చేస్తాయి.
మీరు స్వీయ-హోస్టింగ్ కాకపోతే మరియు బదులుగా GitLab యొక్క ఆన్లైన్ SaaS సొల్యూషన్ (gitlab.com) ను ఉపయోగిస్తుంటే, మీరు CI / CD నిమిషాలకు చెల్లించాలి. ఉచిత శ్రేణిలో 400 CI / CD నిమిషాలు ఉన్నాయి, ఇది సాధారణ ప్రాజెక్టులకు సరిపోతుంది, ముఖ్యంగా JS వంటి భాషలు అవసరమయ్యేవన్నీ పునాది npm build
. ప్రతి శ్రేణికి వసూలు చేయబడే అధిక శ్రేణులు, ఎక్కువ నిర్మాణ సమయాన్ని అందిస్తాయి. మీరు GitLab యొక్క ధర సమాచార పేజీ నుండి నవీకరించబడిన మొత్తాలను చూడవచ్చు.
మా విషయంలో, మేము స్వీయ హోస్టింగ్, కాబట్టి మేము ఒక GitLab రన్నర్ను సెటప్ చేయాలి, ఇది సర్వర్లో ఇన్స్టాల్ చేస్తుంది మరియు దానిని బిల్డ్ ఏజెంట్గా కాన్ఫిగర్ చేస్తుంది. ఇది బైనరీ మరియు కుబెర్నెట్ పంపిణీగా అందుబాటులో ఉంది, ఇది స్వీయ-స్కేలింగ్ బహుళ-సర్వర్ విస్తరణలకు అనువైనది.
అదృష్టవశాత్తూ, సంస్థాపనా విధానం సులభం. మీ హోస్ట్ కోసం మీకు ఏ బైనరీ అవసరమో మీరు కనుగొని దాన్ని డౌన్లోడ్ చేసుకోవాలి. ఉబుంటు వంటి డెబియన్ ఆధారిత వ్యవస్థల కోసం, అది deb
ప్యాకేజీ:
curl -LJO "https://gitlab-runner-downloads.s3.amazonaws.com/latest/deb/gitlab-runner_amd64.deb"
మరియు దీన్ని ఇన్స్టాల్ చేయండి dpkg
:
sudo dpkg -i gitlab-runner_amd64.deb
తరువాత, మీరు దీన్ని URL మరియు టోకెన్తో / అడ్మిన్ / రన్నర్లలో కాన్ఫిగర్ చేయాలి.
sudo gitlab-runner register
ఈ రన్నర్ను ఏ ప్రదర్శకుడు ఉపయోగించాలో పేర్కొనమని మిమ్మల్ని అడుగుతారు. చాలా సందర్భాలలో, మీరు ఉబుంటు వంటి డిఫాల్ట్ చిత్రంతో “డాకర్” ను ఉపయోగించవచ్చు.
కాన్ఫిగర్ చేసిన తర్వాత, మీరు రన్నర్ను ప్రారంభించవచ్చు:
sudo gitlab-runner register
కాబట్టి మీరు దానిని జాబితాలో చూడాలి.
మా విషయంలో, రన్నర్ ప్రారంభించని వింత బగ్ ఉంది ఎందుకంటే /var/lib/gitlab-runner
ఫోల్డర్ లేదు. మాన్యువల్ సృష్టి సమస్యను వెంటనే పరిష్కరించింది:
sudo mkdir /var/lib/gitlab-runner
మీరు రన్నర్ కోసం సెట్టింగులను తెరిచి, తగిన ట్యాగ్లను సెట్ చేయాలి, ఇవి gitlab-ci.yml కాన్ఫిగరేషన్ ఫైల్లను సరిపోల్చడం ద్వారా సేకరించబడతాయి. మీరు బదులుగా ట్యాగ్ల గురించి పట్టించుకోకపోతే, ట్యాగ్ చేయని ఉద్యోగాలను సేకరించడానికి మీరు ఈ పెట్టెను ఇక్కడ తనిఖీ చేయవచ్చు:
తరువాత, ఈ రన్నర్ను ఉపయోగించడానికి మీరు మీ డిజైన్లను సెటప్ చేయాలి.
ప్రాజెక్ట్ కోసం CI / CD ఆకృతీకరణ
ప్రాజెక్ట్ రూట్లోని ఫైల్తో గిట్ల్యాబ్ సిఐ కాన్ఫిగరేషన్ జరుగుతుంది .gitlab-ci.yml
. ఇది నిర్వహించడానికి స్వయంచాలకంగా ఉపయోగించబడుతుంది.
వాస్తవానికి, దీని యొక్క ఖచ్చితమైన కాన్ఫిగరేషన్ మీపై మరియు మీ అవసరాలపై చాలా ఆధారపడి ఉంటుంది. మీ భాష మరియు రన్టైమ్ కోసం ఇతరులు దీన్ని ఎలా చేశారో చూడటం ప్రారంభించడానికి మంచి ప్రదేశం.
ఉదాహరణకు, కింది ఆకృతీకరణను ఉపయోగించి సరళమైన .NET బిల్డ్ చేయవచ్చు:
image : microsoft/dotnet:latest stages: - build before_script: - 'dotnet restore' build: stage: build script: - 'dotnet build'
మొదట, మీ అనువర్తనాన్ని రూపొందించడానికి GitLab ఉపయోగించే డాకర్ చిత్రాన్ని మేము సెటప్ చేయాలి. ఇది ముఖ్యం ఎందుకంటే లేకపోతే పర్యావరణానికి .NET రన్టైమ్ ఉండదు. అన్నింటిలో మొదటిది, ఇది పనిచేస్తుంది dotnet restore
, ఆపై నడుస్తుంది dotnet build
వాస్తవానికి అనువర్తనాన్ని రూపొందించడానికి.
ఈ ఫైల్ యొక్క నిర్మాణం గురించి మరింత తెలుసుకోవడానికి, మీరు GitLab డాక్యుమెంటేషన్ను సంప్రదించవచ్చు.
మీ రిపోజిటరీకి కట్టుబడి ఉంటే, ఆ నిబద్ధత మొదటి పైప్లైన్ను సక్రియం చేస్తుంది. మీరు పైప్లైన్ ఫలితాలను CI / CD> పైప్లైన్లో చూడవచ్చు, ఇక్కడ మీరు ప్రతి పరుగును దాని స్థితితో పాటు చూస్తారు.
మీరు వివరాలపై క్లిక్ చేస్తే, విఫలమైన అమలులో ఏమి జరిగిందో మీరు డీబగ్ చేయవచ్చు, ఎందుకంటే ఇది కన్సోల్ యొక్క లాగ్ను ఉంచుతుంది.