ఈ రోజు మనం పదం యొక్క చరిత్రను పరిశీలిస్తాము, CIని అమలు చేయడంలో ఉన్న ఇబ్బందులను చర్చిస్తాము మరియు దానితో పని చేయడంలో మీకు సహాయపడే అనేక ప్రసిద్ధ సాధనాలను అందిస్తాము.
నిరంతర ఇంటిగ్రేషన్ అనేది అప్లికేషన్ డెవలప్మెంట్కు ఒక విధానం, ఇందులో తరచుగా ప్రాజెక్ట్ బిల్డ్లు మరియు కోడ్ టెస్టింగ్ ఉంటాయి.
ఏకీకరణ ప్రక్రియను ఊహాజనితంగా చేయడం మరియు సంభావ్య బగ్లు మరియు లోపాలను ప్రారంభ దశలో గుర్తించడం లక్ష్యం, తద్వారా వాటిని పరిష్కరించడానికి ఎక్కువ సమయం ఉంటుంది.
నిరంతర ఇంటిగ్రేషన్ అనే పదం మొదట 1991లో కనిపించింది. ఇది UML భాష సృష్టికర్తచే పరిచయం చేయబడింది గ్రేడీ బుచ్ (గ్రేడీ బూచ్). ఇంజనీర్ తన స్వంత అభివృద్ధి సాధనలో భాగంగా CI భావనను ప్రవేశపెట్టాడు - బూచ్ పద్ధతి. ఇది ఆబ్జెక్ట్-ఓరియెంటెడ్ సిస్టమ్లను రూపొందించేటప్పుడు ఆర్కిటెక్చర్ యొక్క ఇంక్రిమెంటల్ రిఫైన్మెంట్ను సూచిస్తుంది. గ్రేడి నిరంతర ఏకీకరణ కోసం ఎలాంటి అవసరాలను వివరించలేదు. కానీ తరువాత అతని పుస్తకంలో "అప్లికేషన్లతో ఆబ్జెక్ట్-ఓరియెంటెడ్ విశ్లేషణ మరియు డిజైన్"అంతర్గత విడుదలల" విడుదలను వేగవంతం చేయడమే పద్దతి యొక్క లక్ష్యం అని అతను చెప్పాడు.
కథ
1996లో, CI పద్దతి యొక్క సృష్టికర్తలచే స్వీకరించబడింది తీవ్రమైన ప్రోగ్రామింగ్ (XP) - కెంట్ బెక్ (కెంట్ బెక్) మరియు రాన్ జెఫ్రీస్ (రాన్ జెఫ్రీస్). నిరంతర ఏకీకరణ వారి విధానం యొక్క పన్నెండు కీలక సూత్రాలలో ఒకటిగా మారింది. XP వ్యవస్థాపకులు CI పద్దతి కోసం అవసరాలను స్పష్టం చేశారు మరియు రోజుకు అనేక సార్లు ప్రాజెక్ట్ను నిర్మించాల్సిన అవసరాన్ని గుర్తించారు.
2000ల ప్రారంభంలో, ఎజైల్ అలయన్స్ వ్యవస్థాపకులలో ఒకరు నిరంతర ఏకీకరణ పద్ధతిని ప్రోత్సహించడం ప్రారంభించారు. మార్టిన్ ఫౌలర్ (మార్టిన్ ఫౌలర్). CIతో అతని ప్రయోగాలు ఈ ప్రాంతంలో మొదటి సాఫ్ట్వేర్ సాధనానికి దారితీశాయి - క్రూజ్కంట్రోల్. యుటిలిటీని మార్టిన్ సహోద్యోగి, మాథ్యూ ఫోమెల్ రూపొందించారు.
టూల్లోని బిల్డ్ సైకిల్ డెమోన్గా అమలు చేయబడుతుంది, ఇది కోడ్ బేస్లో మార్పుల కోసం క్రమానుగతంగా సంస్కరణ నియంత్రణ వ్యవస్థను తనిఖీ చేస్తుంది. పరిష్కారం నేడు డౌన్లోడ్ చేసుకోవచ్చు - ఇది ద్వారా పంపిణీ చేయబడింది BSD లాంటి లైసెన్స్ కింద.
CI కోసం సాఫ్ట్వేర్ రాకతో, మరిన్ని కంపెనీలు ఈ పద్ధతిని అనుసరించడం ప్రారంభించాయి. ఫారెస్టర్ పరిశోధన ప్రకారం [పేజీ 5 నివేదిక], 2009లో, సర్వే చేయబడిన యాభై సాంకేతిక సంస్థలలో 86% CI పద్ధతులను ఉపయోగించాయి లేదా అమలు చేశాయి.
నేడు, అనేక రకాల పరిశ్రమలకు చెందిన సంస్థలచే నిరంతర ఏకీకరణ యొక్క అభ్యాసం ఉపయోగించబడుతుంది. 2018లో, ఒక పెద్ద క్లౌడ్ ప్రొవైడర్ సేవలు, విద్య మరియు ఆర్థిక రంగాలలోని కంపెనీల నుండి IT నిపుణుల మధ్య ఒక సర్వే నిర్వహించింది. ఆరు వేల మంది ప్రతివాదులు, 58% మంది తమ పనిలో CI సాధనాలు మరియు సూత్రాలను ఉపయోగిస్తున్నారని చెప్పారు.
ఎలా పని చేస్తుంది
నిరంతర ఏకీకరణ రెండు సాధనాలపై ఆధారపడి ఉంటుంది: సంస్కరణ నియంత్రణ వ్యవస్థ మరియు CI సర్వర్. రెండోది క్లౌడ్ వాతావరణంలో భౌతిక పరికరం లేదా వర్చువల్ మిషన్ కావచ్చు. డెవలపర్లు రోజుకు ఒకటి లేదా అంతకంటే ఎక్కువ సార్లు కొత్త కోడ్ని అప్లోడ్ చేస్తారు. CI సర్వర్ దానిని అన్ని డిపెండెన్సీలతో స్వయంచాలకంగా కాపీ చేస్తుంది మరియు దానిని నిర్మిస్తుంది. తరువాత, ఇది ఇంటిగ్రేషన్ మరియు యూనిట్ పరీక్షలను అమలు చేస్తుంది. పరీక్షలు విజయవంతంగా పాస్ అయినట్లయితే, CI సిస్టమ్ కోడ్ని అమలు చేస్తుంది.
సాధారణ ప్రక్రియ రేఖాచిత్రం క్రింది విధంగా సూచించబడుతుంది:
CI పద్దతి డెవలపర్ల కోసం అనేక అవసరాలను చేస్తుంది:
సమస్యలను వెంటనే సరిదిద్దండి. ఈ సూత్రం తీవ్రమైన ప్రోగ్రామింగ్ నుండి CIకి వచ్చింది. బగ్లను పరిష్కరించడం డెవలపర్ల అత్యధిక ప్రాధాన్యత.
ప్రక్రియలను ఆటోమేట్ చేయండి. డెవలపర్లు మరియు మేనేజర్లు ఏకీకరణ ప్రక్రియలో అడ్డంకుల కోసం నిరంతరం వెతకాలి మరియు వాటిని తొలగించాలి. ఉదాహరణకు, ఇంటిగ్రేషన్లో తరచుగా అడ్డంకి ఉంటుంది మార్పు పరీక్ష.
వీలైనంత తరచుగా సమావేశాలను నిర్వహించండి. బృందం పనిని సమకాలీకరించడానికి రోజుకు ఒకసారి.
అమలు ఇబ్బందులు
మొదటి సమస్య అధిక నిర్వహణ ఖర్చులు. ఒక కంపెనీ ఓపెన్ CI సాధనాలను ఉపయోగిస్తున్నప్పటికీ (దీని గురించి మేము తరువాత మాట్లాడుతాము), అది ఇప్పటికీ మౌలిక సదుపాయాల మద్దతు కోసం డబ్బు ఖర్చు చేయాల్సి ఉంటుంది. అయితే, క్లౌడ్ టెక్నాలజీలు పరిష్కారం కావచ్చు.
వారు వివిధ-స్థాయి కంప్యూటర్ కాన్ఫిగరేషన్ల అసెంబ్లీని సులభతరం చేస్తారు. సంస్థ యొక్క ప్లస్ చెల్లించండి ఉపయోగించిన వనరుల కోసం మాత్రమే, ఇది మౌలిక సదుపాయాలపై ఆదా చేయడంలో సహాయపడుతుంది.
సర్వేల ప్రకారం [పేజీ 14 వ్యాసాలు], నిరంతర ఏకీకరణ కంపెనీ ఉద్యోగులపై భారాన్ని పెంచుతుంది (కనీసం మొదట్లో). వారు కొత్త సాధనాలను నేర్చుకోవాలి మరియు సహోద్యోగులు ఎల్లప్పుడూ శిక్షణలో సహాయం చేయరు. అందువలన, మీరు ఫ్లైలో కొత్త ఫ్రేమ్వర్క్లు మరియు సేవలతో వ్యవహరించాలి.
మూడవ కష్టం ఆటోమేషన్తో సమస్యలు. స్వయంచాలక పరీక్షల ద్వారా కవర్ చేయబడని పెద్ద మొత్తంలో లెగసీ కోడ్ ఉన్న సంస్థలు ఈ సమస్యను ఎదుర్కొంటున్నాయి. CI యొక్క పూర్తి అమలుకు ముందు కోడ్ కేవలం తిరిగి వ్రాయబడిందనే వాస్తవానికి ఇది దారి తీస్తుంది.
పద్దతి యొక్క ప్రయోజనాలను మెచ్చుకున్న వారిలో ఐటి దిగ్గజాలు మొదటివారు. Google ఉపయోగాలు 2000ల మధ్యకాలం నుండి నిరంతర ఏకీకరణ. సెర్చ్ ఇంజిన్లో జాప్యాల సమస్యను పరిష్కరించడానికి CI అమలు చేయబడింది. నిరంతర ఏకీకరణ సమస్యలను త్వరగా గుర్తించడానికి మరియు పరిష్కరించడానికి సహాయపడింది. ఇప్పుడు CIని IT దిగ్గజం యొక్క అన్ని విభాగాలు ఉపయోగిస్తున్నాయి.
నిరంతర ఏకీకరణ చిన్న కంపెనీలకు కూడా సహాయపడుతుంది మరియు CI సాధనాలను ఆర్థిక మరియు ఆరోగ్య సంరక్షణ సంస్థలు కూడా ఉపయోగిస్తాయి. ఉదాహరణకు, మార్నింగ్స్టార్లో, నిరంతర ఇంటిగ్రేషన్ సేవలు దుర్బలత్వాలను 70% వేగంగా పరిష్కరించడంలో సహాయపడ్డాయి. మరియు ఫిలిప్స్ హెల్త్కేర్ మెడికల్ ప్లాట్ఫారమ్ టెస్టింగ్ అప్డేట్ల వేగాన్ని రెట్టింపు చేయగలిగింది.
సాధన
CI కోసం ఇక్కడ కొన్ని ప్రసిద్ధ సాధనాలు ఉన్నాయి:
జెంకిన్స్ అత్యంత ప్రజాదరణ పొందిన CI వ్యవస్థలలో ఒకటి. ఇది వివిధ VCS, క్లౌడ్ ప్లాట్ఫారమ్లు మరియు ఇతర సేవలతో ఏకీకరణ కోసం వెయ్యి కంటే ఎక్కువ ప్లగిన్లకు మద్దతు ఇస్తుంది. మేము 1cloud: టూల్లో జెంకిన్స్ని కూడా ఉపయోగిస్తాము మా DevOps సిస్టమ్లో చేర్చబడింది. అతను పరీక్ష కోసం ఉద్దేశించిన Git శాఖను క్రమం తప్పకుండా తనిఖీ చేస్తాడు.
బిల్డ్బాట్ — మీ స్వంత నిరంతర ఏకీకరణ ప్రక్రియలను వ్రాయడానికి పైథాన్ ఫ్రేమ్వర్క్. సాధనం యొక్క ప్రారంభ సెటప్ చాలా క్లిష్టంగా ఉంటుంది, అయితే ఇది విస్తృత అనుకూలీకరణ ఎంపికల ద్వారా భర్తీ చేయబడుతుంది. ఫ్రేమ్వర్క్ యొక్క ప్రయోజనాలలో, వినియోగదారులు దాని తక్కువ వనరుల తీవ్రతను హైలైట్ చేస్తారు.
కాంకోర్స్ CI డాకర్ కంటైనర్లను ఉపయోగించే కీలకమైన సర్వర్. Concourse CI ఏదైనా టూల్స్ మరియు వెర్షన్ కంట్రోల్ సిస్టమ్లతో కలిసిపోతుంది. డెవలపర్లు సిస్టమ్ ఏ పరిమాణంలోనైనా కంపెనీలలో పని చేయడానికి అనుకూలంగా ఉంటుందని గమనించండి.
గిట్లాబ్ సీఐ GitLab సంస్కరణ నియంత్రణ వ్యవస్థలో నిర్మించబడిన సాధనం. సేవ క్లౌడ్లో నడుస్తుంది మరియు కాన్ఫిగరేషన్ కోసం YAML ఫైల్లను ఉపయోగిస్తుంది. కాన్కోర్స్ లాగా, గిట్లాబ్ CI వర్తిస్తుంది ఒకదానికొకటి విభిన్న ప్రక్రియలను వేరుచేయడంలో సహాయపడే డాకర్ కంటైనర్లు.
కోడ్షిప్ GitHub, GitLab మరియు BitBucketతో పనిచేసే క్లౌడ్ CI సర్వర్. ప్లాట్ఫారమ్కు సుదీర్ఘ ప్రారంభ సెటప్ అవసరం లేదు - ప్రామాణిక ముందే ఇన్స్టాల్ చేయబడిన CI ప్రక్రియలు కోడ్షిప్లో అందుబాటులో ఉన్నాయి. చిన్న (నెలకు 100 బిల్డ్ల వరకు) మరియు ఓపెన్ సోర్స్ ప్రాజెక్ట్ల కోసం, కోడ్షిప్ ఉచితంగా అందుబాటులో ఉంటుంది.