మేము GitLabలో సాఫ్ట్వేర్ ప్యాచ్లను ఎలా విడుదల చేస్తాము
GitLab వద్ద, మేము సాఫ్ట్వేర్ పరిష్కారాలను రెండు విధాలుగా ప్రాసెస్ చేస్తాము: మానవీయంగా మరియు స్వయంచాలకంగా. gitlab.comకి ఆటోమేటెడ్ డిప్లాయ్మెంట్ ద్వారా ముఖ్యమైన అప్డేట్లను సృష్టించడం మరియు అందించడం, అలాగే వినియోగదారులు వారి స్వంత ఇన్స్టాలేషన్లలో పని చేయడానికి ప్యాచ్ల గురించి తెలుసుకోవడం కోసం విడుదల మేనేజర్ యొక్క పని గురించి తెలుసుకోవడానికి చదవండి.
మీ స్మార్ట్వాచ్లో రిమైండర్ను సెట్ చేయాలని నేను సిఫార్సు చేస్తున్నాను: ప్రతి నెల 22న, GitLabతో పని చేసే వినియోగదారులు వారి సౌకర్యాల వద్ద మా ఉత్పత్తి యొక్క ప్రస్తుత వెర్షన్కి సంబంధించిన అప్డేట్లను చూడగలరు. నెలవారీ విడుదలలో కొత్త ఫీచర్లు, ఇప్పటికే ఉన్న వాటి డెవలప్మెంట్లు ఉన్నాయి మరియు తరచుగా సాధనం లేదా విలీనం కోసం సంఘం అభ్యర్థనల తుది ఫలితాన్ని చూపుతుంది.
కానీ, ఆచరణలో చూపినట్లుగా, సాఫ్ట్వేర్ అభివృద్ధి అరుదుగా లోపాలు లేకుండా ఉంటుంది. బగ్ లేదా భద్రతా దుర్బలత్వం కనుగొనబడినప్పుడు, డెలివరీ బృందంలోని విడుదల మేనేజర్ మా వినియోగదారుల కోసం వారి ఇన్స్టాలేషన్లతో ప్యాచ్ను సృష్టిస్తారు. CD ప్రాసెస్ సమయంలో Gitlab.com నవీకరించబడుతుంది. GitLabలోని CD ఫీచర్తో గందరగోళాన్ని నివారించడానికి మేము ఈ CD ప్రాసెస్ని ఆటోమేటిక్ డిప్లాయ్మెంట్ అని పిలుస్తాము. ఈ ప్రక్రియలో వినియోగదారులు, కస్టమర్లు మరియు మా అంతర్గత అభివృద్ధి బృందం సమర్పించిన పుల్ అభ్యర్థనల నుండి సూచనలను పొందుపరచవచ్చు, తద్వారా ప్యాచ్లను విడుదల చేయడంలో విసుగు పుట్టించే సమస్యను రెండు విభిన్న మార్గాల్లో పరిష్కరించవచ్చు.
«డెవలపర్లు తయారుచేసే ప్రతిదాన్ని GitLab.comకి విడుదల చేయడానికి ముందు ప్రతిరోజూ అన్ని వాతావరణాలకు అమలు చేయబడుతుందని మేము నిర్ధారిస్తాము", వివరిస్తుంది మారిన్ జాంకోవ్కి, సీనియర్ టెక్నికల్ మేనేజర్, ఇన్ఫ్రాస్ట్రక్చర్ డిపార్ట్మెంట్. "మీ ఇన్స్టాలేషన్ల కోసం విడుదలలను gitlab.com విస్తరణల కోసం స్నాప్షాట్లుగా భావించండి, దీని కోసం మేము ప్యాకేజీని రూపొందించడానికి ప్రత్యేక దశలను జోడించాము, తద్వారా మా వినియోగదారులు వారి ఇన్స్టాలేషన్లలో ఇన్స్టాల్ చేయడానికి దాన్ని ఉపయోగించవచ్చు.".
బగ్ లేదా దుర్బలత్వంతో సంబంధం లేకుండా, gitlab.com కస్టమర్లు ప్రచురించబడిన కొద్దిసేపటికే పరిష్కారాలను స్వీకరిస్తారు, ఇది ఆటోమేటెడ్ CD ప్రక్రియ యొక్క ప్రయోజనం. వారి స్వంత ఇన్స్టాలేషన్లతో వినియోగదారుల కోసం ప్యాచ్లు విడుదల మేనేజర్ ద్వారా ప్రత్యేక తయారీ అవసరం.
తగ్గించడానికి విడుదలలను రూపొందించడంలో పాల్గొన్న చాలా ప్రక్రియలను ఆటోమేట్ చేయడానికి డెలివరీ బృందం తీవ్రంగా కృషి చేస్తోంది MTTP (ఉత్పత్తికి సగటు సమయం, అంటే ఉత్పత్తిపై వెచ్చించిన సమయం), డెవలపర్ ద్వారా విలీన అభ్యర్థనను ప్రాసెస్ చేయడం నుండి gitlab.comలో అమలు చేసే వరకు వ్యవధి.
«డెలివరీ బృందం యొక్క లక్ష్యం ఏమిటంటే, మేము ఒక కంపెనీగా వేగంగా ముందుకు వెళ్లగలమని లేదా కనీసం డెలివరీ వ్యక్తులు వేగంగా పని చేసేలా చేయడమే?, మారిన్ చెప్పారు.
gitlab.com కస్టమర్లు మరియు వారి ఇన్స్టాలేషన్ల వినియోగదారులు ఇద్దరూ సైకిల్ సమయాన్ని తగ్గించడానికి మరియు విస్తరణలను వేగవంతం చేయడానికి డెలివరీ బృందం చేసిన ప్రయత్నాల నుండి ప్రయోజనం పొందుతారు. ఈ రెండు పద్ధతుల మధ్య సారూప్యతలు మరియు తేడాలను ఈ వ్యాసంలో వివరిస్తాము. సమస్యలు, మరియు మా డెలివరీ బృందం వారి సౌకర్యాలపై పని చేసే వినియోగదారుల కోసం ప్యాచ్లను ఎలా సిద్ధం చేస్తుందో, అలాగే ఆటోమేటెడ్ డిప్లాయ్మెంట్ని ఉపయోగించి gitlab.com తాజాగా ఉందని మేము ఎలా నిర్ధారిస్తామో కూడా మేము వివరిస్తాము.
విడుదల నిర్వాహకుడు ఏమి చేస్తాడు?
జట్టు సభ్యులు నెలవారీ విడుదల మేనేజర్ పాత్రను బదిలీ చేయండి విడుదలల మధ్య సంభవించే ప్యాచ్లు మరియు భద్రతా విడుదలలతో సహా వినియోగదారులకు వారి సౌకర్యాల వద్ద మా విడుదలలు. స్వయంచాలక, నిరంతర విస్తరణకు కంపెనీ పరివర్తనకు దారితీసే బాధ్యత కూడా వారిదే.
స్వీయ-సంస్థాపన విడుదలలు మరియు gitlab.com విడుదలలు ఒకే విధమైన వర్క్ఫ్లోలను ఉపయోగిస్తాయి కానీ వేర్వేరు సమయాల్లో అమలు చేయబడతాయి, మారిన్ వివరిస్తుంది.
మొట్టమొదట, విడుదల మేనేజర్, విడుదల రకంతో సంబంధం లేకుండా, gitLab.comలో అప్లికేషన్ ప్రారంభించబడిన క్షణం నుండి GitLab అందుబాటులో ఉందని మరియు సురక్షితంగా ఉందని నిర్ధారిస్తుంది, అదే సమస్యలు కస్టమర్ల మౌలిక సదుపాయాలలో ముగియకుండా చూసుకోవడంతో సహా. సొంత సామర్థ్యాలు.
GitLabలో బగ్ లేదా దుర్బలత్వం పరిష్కరించబడినట్లు గుర్తించబడిన తర్వాత, విడుదల మేనేజర్ అది పాచెస్లో లేదా వారి ఇన్స్టాలేషన్లతో వినియోగదారుల కోసం భద్రతా నవీకరణలలో చేర్చబడుతుందని అంచనా వేయాలి. బగ్ లేదా దుర్బలత్వం నవీకరణకు అర్హమైనది అని అతను నిర్ణయించినట్లయితే, సన్నాహక పని ప్రారంభమవుతుంది.
విడుదల మేనేజర్ తప్పనిసరిగా పరిష్కారాన్ని సిద్ధం చేయాలా లేదా దానిని ఎప్పుడు అమలు చేయాలా అని నిర్ణయించుకోవాలి - మరియు ఇది పరిస్థితి యొక్క సందర్భంపై ఎక్కువగా ఆధారపడి ఉంటుంది, "ఈ సమయంలో, యంత్రాలు వ్యక్తుల వలె సందర్భాన్ని నిర్వహించడంలో మంచివి కావు" అని మారిన్ చెప్పారు.
ఇది అన్ని పరిష్కారాల గురించి
పాచెస్ అంటే ఏమిటి మరియు మనకు అవి ఎందుకు అవసరం?
బగ్ యొక్క తీవ్రత ఆధారంగా పరిష్కారాన్ని విడుదల చేయాలా వద్దా అని విడుదల మేనేజర్ నిర్ణయిస్తారు.
లోపాలు వాటి తీవ్రతను బట్టి మారుతూ ఉంటాయి. కాబట్టి S4 లేదా S3 లోపాలు పిక్సెల్ లేదా ఐకాన్ డిస్ప్లేస్మెంట్ వంటి స్టైలిస్టిక్గా ఉంటాయి. ఇది తక్కువ ముఖ్యమైనది కాదు, కానీ ఎవరి వర్క్ఫ్లోపై గణనీయమైన ప్రభావం లేదు, అంటే అటువంటి S3 లేదా S4 లోపాల కోసం పరిష్కారం సృష్టించబడే అవకాశం తక్కువగా ఉంటుంది, మారిన్ వివరిస్తుంది.
అయితే, దుర్బలత్వాలు S1 లేదా S2 అంటే వినియోగదారు తాజా సంస్కరణకు అప్డేట్ చేయకూడదు లేదా వినియోగదారు వర్క్ఫ్లో ప్రభావితం చేసే ముఖ్యమైన బగ్ ఉంది. వారు ట్రాకర్లో చేర్చబడితే, చాలా మంది వినియోగదారులు వాటిని ఎదుర్కొన్నారు, కాబట్టి విడుదల నిర్వాహకుడు వెంటనే పరిష్కారాన్ని సిద్ధం చేయడం ప్రారంభిస్తాడు.
దుర్బలత్వాల కోసం ఒక ప్యాచ్ S1 లేదా S2 సిద్ధమైన తర్వాత, విడుదల మేనేజర్ ప్యాచ్ని విడుదల చేయడం ప్రారంభిస్తాడు.
ఉదాహరణకు, అనేక నిరోధించే సమస్యలను గుర్తించిన తర్వాత GitLab 12.10.1 ప్యాచ్ సృష్టించబడింది మరియు డెవలపర్లు వాటికి కారణమైన అంతర్లీన సమస్యను పరిష్కరించారు. విడుదల మేనేజర్ కేటాయించిన తీవ్రత స్థాయిల యొక్క ఖచ్చితత్వాన్ని అంచనా వేశారు మరియు నిర్ధారణ తర్వాత, పరిష్కారాన్ని విడుదల చేసే ప్రక్రియ ప్రారంభించబడింది, ఇది నిరోధించే సమస్యలను గుర్తించిన XNUMX గంటల్లోపు సిద్ధంగా ఉంది.
చాలా S4, S3 మరియు S2 పేరుకుపోయినప్పుడు, విడుదల నిర్వాహకుడు పరిష్కారాన్ని విడుదల చేయాల్సిన ఆవశ్యకతను గుర్తించడానికి సందర్భాన్ని చూస్తాడు మరియు వాటిలో నిర్దిష్ట సంఖ్యను చేరుకున్నప్పుడు, అవన్నీ కలిపి విడుదల చేయబడతాయి. పోస్ట్-రిలీజ్ పరిష్కారాలు లేదా భద్రతా నవీకరణలు బ్లాగ్ పోస్ట్లలో సంగ్రహించబడ్డాయి.
విడుదల మేనేజర్ ప్యాచ్లను ఎలా సృష్టిస్తుంది
మేము ప్యాచ్లను రూపొందించడానికి GitLab CI మరియు మా ChatOps వంటి ఇతర ఫీచర్లను ఉపయోగిస్తాము. మా అంతర్గత ఛానెల్లో ChatOps బృందాన్ని యాక్టివేట్ చేయడం ద్వారా విడుదల మేనేజర్ పరిష్కారాన్ని విడుదల చేయడం ప్రారంభిస్తారు #releases స్లాక్లో.
/chatops run release prepare 12.10.1
విభిన్న ఈవెంట్లను ట్రిగ్గర్ చేయడానికి చాట్ఆప్స్ స్లాక్లో పని చేస్తాయి, తర్వాత అవి GitLab ద్వారా ప్రాసెస్ చేయబడతాయి మరియు అమలు చేయబడతాయి. ఉదాహరణకు, డెలివరీ బృందం ప్యాచ్లను విడుదల చేయడానికి వివిధ విషయాలను ఆటోమేట్ చేయడానికి ChatOpsను సెటప్ చేస్తుంది.
విడుదల మేనేజర్ స్లాక్లో ChatOps బృందాన్ని ప్రారంభించిన తర్వాత, CICDని ఉపయోగించి GitLabలో మిగిలిన పని స్వయంచాలకంగా జరుగుతుంది. విడుదల ప్రక్రియలో స్లాక్ మరియు గిట్ల్యాబ్లోని చాట్ఆప్ల మధ్య రెండు-మార్గం కమ్యూనికేషన్ ఉంది, ఎందుకంటే విడుదల మేనేజర్ ప్రక్రియలో కొన్ని ప్రధాన దశలను సక్రియం చేస్తుంది.
దిగువ వీడియో GitLab కోసం ప్యాచ్ను సిద్ధం చేసే సాంకేతిక ప్రక్రియను చూపుతుంది.
gitlab.comలో ఆటోమేటిక్ డిప్లాయ్మెంట్ ఎలా పని చేస్తుంది
gitlab.comని అప్డేట్ చేయడానికి ఉపయోగించే ప్రక్రియ మరియు సాధనాలు ప్యాచ్లను రూపొందించడానికి ఉపయోగించే వాటికి సమానంగా ఉంటాయి. gitlab.comని అప్డేట్ చేయడానికి రిలీజ్ మేనేజర్ పాయింట్ ఆఫ్ వ్యూ నుండి తక్కువ మాన్యువల్ వర్క్ అవసరం.
ChatOpsని ఉపయోగించి విస్తరణలను అమలు చేయడానికి బదులుగా, మేము CI లక్షణాలను ఉపయోగిస్తాము ఉదా. షెడ్యూల్డ్ పైప్లైన్లు, దీనితో విడుదల మేనేజర్ అవసరమైన సమయంలో కొన్ని చర్యలను షెడ్యూల్ చేయవచ్చు. మాన్యువల్ ప్రాసెస్కు బదులుగా, GitLab ప్రాజెక్ట్లకు చేసిన కొత్త మార్పులను డౌన్లోడ్ చేసి, వాటిని ప్యాకేజీలు మరియు షెడ్యూల్ డిప్లాయ్మెంట్ మరియు ఆటోమేటిక్గా టెస్టింగ్, QA మరియు ఇతర అవసరమైన దశలను అమలు చేసే పైప్లైన్ గంటకు ఒకసారి నడుస్తుంది.
"కాబట్టి మేము gitlab.comకి ముందు వివిధ వాతావరణాలలో చాలా విస్తరణలను కలిగి ఉన్నాము మరియు ఆ వాతావరణాలు మంచి ఆకృతిలో ఉండి మరియు పరీక్ష మంచి ఫలితాలను చూపిన తర్వాత, విడుదల మేనేజర్ gitlab.com విస్తరణ చర్యలను ప్రారంభిస్తారు" అని మారిన్ చెప్పారు.
Gitlab.com అప్డేట్లకు మద్దతు ఇవ్వడానికి CICD సాంకేతికత మొత్తం ప్రక్రియను ఆటోమేట్ చేస్తుంది, ఇక్కడ విడుదల మేనేజర్ తప్పనిసరిగా ఉత్పత్తి పర్యావరణం యొక్క విస్తరణను gitlab.comకి మాన్యువల్గా ప్రారంభించాలి.
మారిన్ క్రింది వీడియోలో gitlab.com అప్డేట్ ప్రాసెస్ గురించి వివరంగా చెప్పారు.
డెలివరీ బృందం ఇంకా ఏమి చేస్తుంది?
gitlab.com అప్డేట్ ప్రాసెస్లు మరియు కస్టమర్లకు ప్యాచ్లను విడుదల చేయడం మధ్య ప్రధాన వ్యత్యాసం ఏమిటంటే, రెండో ప్రక్రియకు విడుదల మేనేజర్ నుండి ఎక్కువ సమయం మరియు ఎక్కువ మాన్యువల్ పని అవసరం.
"రిపోర్ట్ చేయబడిన సమస్యలు, టూలింగ్ సమస్యలు మరియు ఒకే ప్యాచ్ను విడుదల చేసేటప్పుడు పరిగణనలోకి తీసుకోవలసిన అనేక సూక్ష్మ నైపుణ్యాలు ఉన్నందున మేము కొన్నిసార్లు కస్టమర్లకు వారి ఇన్స్టాలేషన్లతో ప్యాచ్లను విడుదల చేయడం ఆలస్యం చేస్తాము" అని మారిన్ చెప్పారు.
డెలివరీ బృందం యొక్క స్వల్పకాలిక లక్ష్యాలలో ఒకటి విడుదలను వేగవంతం చేయడానికి విడుదల మేనేజర్ నుండి మాన్యువల్ పని మొత్తాన్ని తగ్గించడం. విడుదల ప్రక్రియను సులభతరం చేయడానికి, క్రమబద్ధీకరించడానికి మరియు ఆటోమేట్ చేయడానికి బృందం కృషి చేస్తోంది, ఇది తక్కువ తీవ్రత సమస్యలకు పరిష్కారాలను పొందడంలో సహాయపడుతుంది (S3 మరియు S4, సుమారు అనువాదకుడు) వేగంపై దృష్టి కేంద్రీకరించడం అనేది కీలకమైన పనితీరు సూచిక: MTTPని తగ్గించడం అవసరం - విలీన అభ్యర్థనను స్వీకరించడం నుండి ఫలితాన్ని gitlab.comకి అమలు చేసే సమయం - ప్రస్తుత 50 గంటల నుండి 8 గంటల వరకు.
డెలివరీ టీమ్ గిట్లాబ్.కామ్ను కుబెర్నెటీస్ ఆధారిత మౌలిక సదుపాయాలకు తరలించడానికి కూడా పని చేస్తోంది.
ఎడిటర్ ఎన్.బి.: మీరు ఇప్పటికే Kubernetes టెక్నాలజీ గురించి విన్నట్లయితే (మరియు మీరు కలిగి ఉన్నారని నాకు ఎటువంటి సందేహం లేదు), కానీ మీ చేతులతో ఇంకా తాకకపోతే, నేను ఆన్లైన్ ఇంటెన్సివ్ కోర్సులలో పాల్గొనమని సిఫార్సు చేస్తున్నాను కుబెర్నెటెస్ బేస్, ఇది సెప్టెంబర్ 28-30 వరకు జరుగుతుంది మరియు కుబెర్నెటెస్ మెగా, ఇది అక్టోబర్ 14-16 వరకు జరుగుతుంది. ఇది సాంకేతికతతో నమ్మకంగా నావిగేట్ చేయడానికి మరియు పని చేయడానికి మిమ్మల్ని అనుమతిస్తుంది.
ఇవి ఒకే లక్ష్యాన్ని అనుసరించే రెండు విధానాలు: gitlab.com కోసం మరియు క్లయింట్లకు వారి సౌకర్యాల వద్ద నవీకరణలను వేగంగా అందించడం.
మాకు ఏవైనా ఆలోచనలు లేదా సిఫార్సులు ఉన్నాయా?
GitLabకి సహకరించడానికి ప్రతి ఒక్కరూ స్వాగతం పలుకుతారు మరియు మా పాఠకుల నుండి అభిప్రాయాన్ని మేము స్వాగతిస్తున్నాము. మా డెలివరీ బృందం కోసం మీకు ఏవైనా ఆలోచనలు ఉంటే, సంకోచించకండి అభ్యర్థనను సృష్టించండి గుర్తించబడింది team: Delivery.