DevOps - VTB அனுபவத்தைப் பயன்படுத்தி முழு அளவிலான உள்கட்டமைப்பு மேம்பாட்டை எவ்வாறு உருவாக்குவது

DevOps நடைமுறைகள் வேலை செய்கின்றன. வெளியீட்டு நிறுவல் நேரத்தை 10 மடங்கு குறைத்தபோது இதை நாமே நம்பினோம். VTB இல் நாம் பயன்படுத்தும் FIS சுயவிவர அமைப்பில், நிறுவலுக்கு இப்போது 90 நிமிடங்களை விட 10 நிமிடங்கள் ஆகும். வெளியீட்டு உருவாக்க நேரம் இரண்டு வாரங்களில் இருந்து இரண்டு நாட்களாக குறைந்துள்ளது. தொடர்ந்து செயல்படுத்தும் குறைபாடுகளின் எண்ணிக்கை கிட்டத்தட்ட குறைந்தபட்சமாக குறைந்துள்ளது. "உழைப்பு உழைப்பில்" இருந்து விலகி, விற்பனையாளரைச் சார்ந்திருப்பதை அகற்ற, நாங்கள் ஊன்றுகோல்களுடன் வேலை செய்து எதிர்பாராத தீர்வுகளைக் கண்டறிய வேண்டியிருந்தது. ஒரு முழு அளவிலான உள் வளர்ச்சியை நாங்கள் எவ்வாறு உருவாக்கினோம் என்பது பற்றிய விரிவான கதை வெட்டுக்கு கீழே உள்ளது.

DevOps - VTB அனுபவத்தைப் பயன்படுத்தி முழு அளவிலான உள்கட்டமைப்பு மேம்பாட்டை எவ்வாறு உருவாக்குவது
 

முன்னுரை: DevOps என்பது ஒரு தத்துவம்

கடந்த ஆண்டில், VTB இல் DevOps நடைமுறைகளின் உள் வளர்ச்சி மற்றும் செயல்படுத்தலை ஒழுங்கமைக்க நாங்கள் நிறைய வேலைகளைச் செய்துள்ளோம்:

  • நாங்கள் 12 அமைப்புகளுக்கான உள் வளர்ச்சி செயல்முறைகளை உருவாக்கினோம்;
  • நாங்கள் 15 குழாய்களை அறிமுகப்படுத்தினோம், அவற்றில் நான்கு உற்பத்திக்கு கொண்டு வரப்பட்டது;
  • தானியங்கு 1445 சோதனைக் காட்சிகள்;
  • உள் குழுக்கள் தயாரித்த பல வெளியீடுகளை நாங்கள் வெற்றிகரமாக செயல்படுத்தினோம்.

DevSecOps நடைமுறைகளை உள்வாங்குதல் மற்றும் செயல்படுத்துதல் ஆகியவற்றை ஒழுங்கமைக்க மிகவும் கடினமான ஒன்று FIS சுயவிவர அமைப்பாக மாறியது - இது தொடர்பில்லாத DBMS இல் ஒரு சில்லறை தயாரிப்பு செயலி. ஆயினும்கூட, எங்களால் மேம்பாட்டை உருவாக்கவும், பைப்லைனைத் தொடங்கவும், தயாரிப்பில் தனிப்பட்ட வெளியீடு அல்லாத தொகுப்புகளை நிறுவவும், வெளியீடுகளை எவ்வாறு இணைப்பது என்றும் கற்றுக்கொண்டோம். பணி எளிதானது அல்ல, ஆனால் சுவாரஸ்யமானது மற்றும் செயல்படுத்துவதில் வெளிப்படையான கட்டுப்பாடுகள் இல்லாமல்: இங்கே அமைப்பு உள்ளது - நீங்கள் ஒரு உள் வளர்ச்சியை உருவாக்க வேண்டும். உற்பத்திச் சூழலுக்கு முன் சிடியைப் பயன்படுத்துவதே ஒரே நிபந்தனை.

முதலில், செயல்படுத்தல் வழிமுறை எளிமையானதாகவும் தெளிவாகவும் தோன்றியது:

  • நாங்கள் ஆரம்ப மேம்பாட்டு நிபுணத்துவத்தை வளர்த்துக் கொள்கிறோம் மற்றும் மொத்த குறைபாடுகள் இல்லாமல் குறியீடு குழுவிலிருந்து ஏற்றுக்கொள்ளக்கூடிய தரத்தை அடைகிறோம்;
  • முடிந்தவரை இருக்கும் செயல்முறைகளில் ஒருங்கிணைக்கிறோம்;
  • தெளிவான நிலைகளுக்கு இடையில் குறியீட்டை மாற்ற, நாங்கள் ஒரு பைப்லைனை வெட்டி, அதன் முனைகளில் ஒன்றைத் தொடர்ச்சியில் தள்ளுகிறோம்.

இந்த நேரத்தில், தேவையான அளவிலான மேம்பாட்டுக் குழு திறன்களை வளர்த்துக் கொள்ள வேண்டும் மற்றும் வெளியீடுகளுக்கான பங்களிப்பின் பங்கை ஏற்றுக்கொள்ளக்கூடிய அளவிற்கு அதிகரிக்க வேண்டும். அவ்வளவுதான், முடிந்த பணியை நாம் கருத்தில் கொள்ளலாம்.

தேவையான முடிவைப் பெற இது முற்றிலும் ஆற்றல்-திறனுள்ள பாதை என்று தோன்றுகிறது: இதோ DevOps, இதோ குழுவின் செயல்திறன் அளவீடுகள், இங்கே குவிந்த நிபுணத்துவம்... ஆனால் நடைமுறையில், DevOps இன்னும் தத்துவத்தைப் பற்றியது என்று மற்றொரு உறுதிப்படுத்தலைப் பெற்றுள்ளோம். , மற்றும் "கிட்லாப் செயல்முறையுடன் இணைக்கப்படவில்லை, அன்சிபிள், நெக்ஸஸ் மற்றும் மேலும் பட்டியலில்."

செயல் திட்டத்தை மீண்டும் ஒருமுறை ஆய்வு செய்த பிறகு, நமக்குள் ஒரு வகையான அவுட்சோர்ஸ் விற்பனையாளரை உருவாக்கிக் கொண்டிருக்கிறோம் என்பதை உணர்ந்தோம். எனவே, செயல்முறை மறுசீரமைப்பு மேலே விவரிக்கப்பட்ட வழிமுறையில் சேர்க்கப்பட்டது, அத்துடன் இந்த செயல்பாட்டில் ஒரு முன்னணி பங்கை அடைய முழு வளர்ச்சி பாதையில் நிபுணத்துவத்தின் வளர்ச்சியும் சேர்க்கப்பட்டது. எளிதான விருப்பம் அல்ல, ஆனால் இது கருத்தியல் ரீதியாக சரியான வளர்ச்சியின் பாதை.
 

வீட்டு வளர்ச்சி எங்கிருந்து தொடங்குகிறது? 

இது வேலை செய்ய மிகவும் நட்பு அமைப்பு இல்லை. கட்டிடக்கலை ரீதியாக, இது ஒரு பெரிய தொடர்பற்ற டிபிஎம்எஸ் ஆகும், இது பல தனித்தனி இயங்கக்கூடிய பொருள்களை (ஸ்கிரிப்டுகள், நடைமுறைகள், தொகுதிகள் போன்றவை) உள்ளடக்கியது, அவை தேவைக்கேற்ப அழைக்கப்பட்டன, மேலும் கருப்பு பெட்டியின் கொள்கையின் அடிப்படையில் வேலை செய்தன: இது கோரிக்கை மற்றும் சிக்கல்களைப் பெறுகிறது. ஒரு பதில். கவனிக்க வேண்டிய பிற சிரமங்கள் பின்வருமாறு:

  • அயல்நாட்டு மொழி (MUMPS);
  • கன்சோல் இடைமுகம்;
  • பிரபலமான ஆட்டோமேஷன் கருவிகள் மற்றும் கட்டமைப்புகளுடன் ஒருங்கிணைப்பு இல்லாமை;
  • பல்லாயிரக்கணக்கான டெராபைட்களில் தரவு அளவு;
  • ஒரு மணி நேரத்திற்கு 2 மில்லியனுக்கும் அதிகமான செயல்பாடுகளின் சுமை;
  • முக்கியத்துவம் - வணிகம்-விமர்சனம்.

அதே நேரத்தில், எங்கள் பக்கத்தில் எந்த மூல குறியீடு களஞ்சியமும் இல்லை. அனைத்தும். ஆவணங்கள் இருந்தன, ஆனால் அனைத்து முக்கிய அறிவும் திறன்களும் வெளிப்புற அமைப்பின் பக்கத்தில் இருந்தன.
அதன் அம்சங்கள் மற்றும் குறைந்த விநியோகத்தை கணக்கில் எடுத்துக்கொண்டு, கணினியின் வளர்ச்சியை கிட்டத்தட்ட புதிதாக உருவாக்கத் தொடங்கினோம். அக்டோபர் 2018 இல் தொடங்கியது:

  • குறியீடு உருவாக்கத்தின் ஆவணங்கள் மற்றும் அடிப்படைகளைப் படித்தார்;
  • விற்பனையாளரிடமிருந்து பெறப்பட்ட மேம்பாடு குறித்த குறுகிய படிப்பைப் படித்தோம்;
  • மாஸ்டர் ஆரம்ப வளர்ச்சி திறன்கள்;
  • புதிய குழு உறுப்பினர்களுக்கான பயிற்சி கையேட்டை நாங்கள் தொகுத்துள்ளோம்;
  • அணியை "போர்" முறையில் சேர்க்க நாங்கள் ஒப்புக்கொண்டோம்;
  • குறியீட்டின் தரக் கட்டுப்பாட்டில் உள்ள சிக்கல் தீர்க்கப்பட்டது;
  • வளர்ச்சிக்கான நிலைப்பாட்டை நாங்கள் ஏற்பாடு செய்தோம்.

நாங்கள் மூன்று மாதங்கள் நிபுணத்துவத்தை வளர்த்துக்கொண்டு, அமைப்பில் மூழ்கிவிட்டோம், 2019 ஆம் ஆண்டின் தொடக்கத்தில் இருந்து, உள்ளக மேம்பாடு பிரகாசமான எதிர்காலத்தை நோக்கி நகர்வதைத் தொடங்கியது, சில சமயங்களில் சிரமத்துடன், ஆனால் நம்பிக்கையுடனும் நோக்கத்துடனும்.

களஞ்சிய இடம்பெயர்வு மற்றும் தன்னியக்க சோதனைகள்

முதல் DevOps பணி களஞ்சியமாகும். அணுகலை வழங்க நாங்கள் விரைவில் ஒப்புக்கொண்டோம், ஆனால் தற்போதைய SVN இலிருந்து ஒரு டிரங்க் கிளையுடன் எங்கள் இலக்கு Git க்கு பல கிளைகளின் மாதிரிக்கு மாறுதல் மற்றும் Git Flow இன் வளர்ச்சியுடன் இடம்பெயர்வது அவசியம். எங்களிடம் 2 அணிகள் தங்களுடைய சொந்த உள்கட்டமைப்புடன் உள்ளன, மேலும் வெளிநாட்டில் விற்பனையாளர் குழுவின் ஒரு பகுதியும் உள்ளது. நான் இரண்டு கிட்களுடன் வாழ வேண்டும் மற்றும் ஒத்திசைவை உறுதிப்படுத்த வேண்டும். அத்தகைய சூழ்நிலையில், அது இரண்டு தீமைகளில் குறைவானது.

களஞ்சியத்தின் இடம்பெயர்வு மீண்டும் மீண்டும் ஒத்திவைக்கப்பட்டது; இது ஏப்ரல் மாதத்தில் மட்டுமே, முன் வரிசையில் இருந்து சக ஊழியர்களின் உதவியுடன் முடிக்கப்பட்டது. Git Flow மூலம், தொடங்குவதற்கு விஷயங்களை எளிமையாக வைத்திருக்க முடிவுசெய்து, ஹாட்ஃபிக்ஸ், டெவலப் செய்து வெளியிடுவதன் மூலம் கிளாசிக் திட்டத்தில் குடியேறினோம். அவர்கள் மாஸ்டரை கைவிட முடிவு செய்தனர் (அக்கா ப்ராட் போன்ற). இந்த விருப்பம் ஏன் எங்களுக்கு உகந்ததாக மாறியது என்பதை கீழே விளக்குவோம். விற்பனையாளருக்கு சொந்தமான வெளிப்புற களஞ்சியம், இரண்டு அணிகளுக்கு பொதுவானது, ஒரு தொழிலாளியாக பயன்படுத்தப்பட்டது. இது ஒரு அட்டவணையின்படி உள் களஞ்சியத்துடன் ஒத்திசைக்கப்பட்டது. இப்போது Git மற்றும் Gitlab மூலம் செயல்முறைகளை தானியக்கமாக்க முடிந்தது.

தன்னியக்க சோதனைகளின் சிக்கல் வியக்கத்தக்க வகையில் எளிதாக தீர்க்கப்பட்டது - எங்களுக்கு ஒரு ஆயத்த கட்டமைப்பு வழங்கப்பட்டது. கணினியின் தனித்தன்மையை கணக்கில் எடுத்துக்கொள்வது, ஒரு தனி செயல்பாட்டை அழைப்பது வணிக செயல்முறையின் புரிந்துகொள்ளக்கூடிய பகுதியாகும், அதே நேரத்தில் ஒரு அலகு சோதனையாகவும் செயல்பட்டது. சோதனைத் தரவைத் தயாரித்து, ஸ்கிரிப்ட்களை அழைப்பதற்கும் முடிவுகளை மதிப்பிடுவதற்கும் தேவையான வரிசையை அமைப்பதே எஞ்சியுள்ளது. செயல்பாட்டு புள்ளிவிவரங்கள், செயல்முறைகளின் விமர்சனம் மற்றும் தற்போதுள்ள பின்னடைவு முறை ஆகியவற்றின் அடிப்படையில் உருவாக்கப்பட்ட காட்சிகளின் பட்டியல் நிரப்பப்பட்டதால், தானியங்கி சோதனைகள் தோன்றத் தொடங்கின. இப்போது நாம் குழாய் அமைக்க ஆரம்பிக்கலாம்.

அது எப்படி இருந்தது: ஆட்டோமேஷனுக்கு முன் மாதிரி

செயல்படுத்தும் செயல்முறையின் தற்போதைய மாதிரி ஒரு தனி கதை. ஒவ்வொரு மாற்றமும் ஒரு தனி அதிகரிப்பு நிறுவல் தொகுப்பாக கைமுறையாக மாற்றப்பட்டது. அடுத்து ஜிராவில் கைமுறையாகப் பதிவு செய்தல் மற்றும் சூழல்களில் கைமுறையாக நிறுவுதல் ஆகியவை வந்தன. தனிப்பட்ட தொகுப்புகளுக்கு, எல்லாம் தெளிவாகத் தெரிந்தது, ஆனால் வெளியீட்டைத் தயாரிப்பதன் மூலம், விஷயங்கள் மிகவும் சிக்கலானவை.

சுயாதீனமான பொருள்களான தனிப்பட்ட விநியோகங்களின் மட்டத்தில் சட்டசபை மேற்கொள்ளப்பட்டது. எந்த மாற்றமும் ஒரு புதிய பிரசவம். மற்றவற்றுடன், முக்கிய வெளியீட்டு தொகுப்பின் 60-70 தொகுப்புகளில் 10-15 தொழில்நுட்ப பதிப்புகள் சேர்க்கப்பட்டன - வெளியீட்டில் இருந்து எதையாவது சேர்க்கும்போது அல்லது விலக்கும்போது பெறப்பட்ட பதிப்புகள் மற்றும் வெளியீடுகளுக்கு வெளியே விற்பனையில் ஏற்படும் மாற்றங்களை பிரதிபலிக்கிறது.

டெலிவரிகளுக்குள் உள்ள பொருள்கள் ஒன்றுடன் ஒன்று ஒன்றுடன் ஒன்று இணைக்கப்பட்டுள்ளன, குறிப்பாக இயங்கக்கூடிய குறியீட்டில், இது பாதிக்கு குறைவாகவே இருந்தது. ஏற்கனவே நிறுவப்பட்ட குறியீடு மற்றும் அதன் நிறுவல் திட்டமிடப்பட்ட ஒன்று ஆகிய இரண்டிலும் பல சார்புகள் இருந்தன. 

குறியீட்டின் தேவையான பதிப்பைப் பெற, நிறுவல் வரிசையை கண்டிப்பாக பின்பற்ற வேண்டியது அவசியம், இதன் போது பொருள்கள் பல முறை, சில 10-12 முறை மீண்டும் எழுதப்பட்டன.

ஒரு தொகுதி தொகுப்புகளை நிறுவிய பிறகு, அமைப்புகளை துவக்குவதற்கு நான் கைமுறையாக வழிமுறைகளைப் பின்பற்ற வேண்டும். வெளியீடு விற்பனையாளரால் சேகரிக்கப்பட்டு நிறுவப்பட்டது. வெளியீட்டின் கலவை செயல்படுத்தப்படும் தருணத்திற்கு முன்பே தெளிவுபடுத்தப்பட்டது, இது "டிகூப்பிங்" தொகுப்புகளை உருவாக்கியது. இதன் விளைவாக, விநியோகங்களில் குறிப்பிடத்தக்க பகுதியானது அதன் சொந்த வால் "டிகூப்லிங்ஸ்" மூலம் வெளியீட்டில் இருந்து வெளியிடப்பட்டது.

இந்த அணுகுமுறையுடன் - தொகுப்பு மட்டத்தில் வெளியீட்டு புதிரை அசெம்பிள் செய்தல் - ஒற்றை முதன்மைக் கிளைக்கு நடைமுறை அர்த்தம் இல்லை என்பது இப்போது தெளிவாகிறது. உற்பத்தியில் நிறுவல் ஒன்றரை முதல் இரண்டு மணி நேரம் வரை உழைப்பு எடுத்தது. குறைந்தபட்சம் நிறுவி மட்டத்திலாவது பொருள் செயலாக்கத்தின் வரிசை குறிப்பிடப்பட்டிருப்பது நல்லது: புலங்கள் மற்றும் கட்டமைப்புகள் அவற்றுக்கான தரவு மற்றும் நடைமுறைகளுக்கு முன் உள்ளிடப்பட்டன. இருப்பினும், இது ஒரு தனி தொகுப்பில் மட்டுமே வேலை செய்தது.

இந்த அணுகுமுறையின் தர்க்கரீதியான விளைவாக, பொருட்களின் வளைந்த பதிப்புகள், தேவையற்ற குறியீடு, விடுபட்ட வழிமுறைகள் மற்றும் பொருட்களின் பரஸ்பர தாக்கங்களுக்கு கணக்கிடப்படாத வடிவத்தில் கட்டாய நிறுவல் குறைபாடுகள், அவை வெளியான பிறகு காய்ச்சலுடன் அகற்றப்பட்டன. 

முதல் புதுப்பிப்புகள்: அசெம்பிளி மற்றும் டெலிவரி

இந்த வழியில் ஒரு குழாய் மூலம் குறியீட்டை அனுப்புவதன் மூலம் ஆட்டோமேஷன் தொடங்கியது:

  • சேமிப்பகத்திலிருந்து முடிக்கப்பட்ட விநியோகத்தை எடுத்துக் கொள்ளுங்கள்;
  • ஒரு பிரத்யேக சூழலில் அதை நிறுவவும்;
  • தன்னியக்க சோதனைகளை இயக்கவும்;
  • நிறுவல் முடிவை மதிப்பிடுங்கள்;
  • சோதனை கட்டளையின் பக்கத்தில் பின்வரும் பைப்லைனை அழைக்கவும்.

அடுத்த பைப்லைன் ஜிராவில் பணியைப் பதிவுசெய்து, தேர்ந்தெடுக்கப்பட்ட சோதனை சுழல்களுக்கு கட்டளைகள் விநியோகிக்கப்படும் வரை காத்திருக்க வேண்டும், இது பணியைச் செயல்படுத்தும் நேரத்தைப் பொறுத்தது. தூண்டுதல் - கொடுக்கப்பட்ட முகவரிக்கு வழங்குவதற்கான தயார்நிலை பற்றிய கடிதம். இது, நிச்சயமாக, ஒரு வெளிப்படையான ஊன்றுகோலாக இருந்தது, ஆனால் நான் எங்காவது தொடங்க வேண்டியிருந்தது. மே 2019 இல், குறியீட்டின் பரிமாற்றம் எங்கள் சூழல்களின் சரிபார்ப்புடன் தொடங்கியது. செயல்முறை தொடங்கியது, எஞ்சியிருப்பது அதை ஒழுக்கமான வடிவத்திற்கு கொண்டு வர வேண்டும்:

  • ஒவ்வொரு மாற்றமும் ஒரு தனி கிளையில் செய்யப்படுகிறது, இது நிறுவல் தொகுப்புக்கு ஒத்திருக்கிறது மற்றும் இலக்கு முதன்மை கிளையில் இணைகிறது;
  • பைப்லைன் லான்ச் ட்ரிகர் என்பது மாஸ்டர் கிளையில் ஒரு இணைப்பு கோரிக்கையின் மூலம் ஒரு புதிய கமிட் தோன்றுவதாகும், இது இன்ஹவுஸ் குழுவில் இருந்து பராமரிப்பாளர்களால் மூடப்பட்டது;
  • ஐந்து நிமிடங்களுக்கு ஒருமுறை களஞ்சியங்கள் ஒத்திசைக்கப்படுகின்றன;
  • நிறுவல் தொகுப்பின் சட்டசபை தொடங்கப்பட்டது - விற்பனையாளரிடமிருந்து பெறப்பட்ட அசெம்பிளரைப் பயன்படுத்தி.

இதற்குப் பிறகு, குறியீட்டைச் சரிபார்ப்பதற்கும் மாற்றுவதற்கும், குழாயைத் தொடங்குவதற்கும் எங்கள் பக்கத்தில் அசெம்பிள் செய்வதற்கும் ஏற்கனவே இருக்கும் படிகள் இருந்தன.

இந்த விருப்பம் ஜூலை மாதம் தொடங்கப்பட்டது. மாற்றத்தின் சிரமங்கள் விற்பனையாளர் மற்றும் முன் வரிசையில் சில அதிருப்தியை ஏற்படுத்தியது, ஆனால் அடுத்த மாதத்தில் நாங்கள் அனைத்து கரடுமுரடான விளிம்புகளையும் அகற்றி அணிகளிடையே ஒரு செயல்முறையை நிறுவ முடிந்தது. நாங்கள் இப்போது உறுதி மற்றும் விநியோகம் மூலம் சட்டசபை உள்ளது.
ஆகஸ்ட் மாதத்தில், எங்கள் பைப்லைனைப் பயன்படுத்தி உற்பத்தியில் ஒரு தனி தொகுப்பின் முதல் நிறுவலை முடிக்க முடிந்தது, மேலும் செப்டம்பர் முதல், விதிவிலக்கு இல்லாமல், தனிப்பட்ட வெளியீடு அல்லாத தொகுப்புகளின் அனைத்து நிறுவல்களும் எங்கள் குறுவட்டு கருவி மூலம் செய்யப்பட்டன. கூடுதலாக, விற்பனையாளரை விட சிறிய குழுவுடன் வெளியீட்டு தொகுப்பில் 40% இன்ஹவுஸ் பணிகளின் பங்கை நாங்கள் அடைய முடிந்தது - இது ஒரு திட்டவட்டமான வெற்றி. மிகவும் தீவிரமான பணி இருந்தது - வெளியீட்டைக் கூட்டி நிறுவுவது.

இறுதி தீர்வு: ஒட்டுமொத்த நிறுவல் தொகுப்புகள் 

விற்பனையாளரின் அறிவுறுத்தல்களை ஸ்கிரிப்ட் செய்வது மிகவும் ஆட்டோமேஷன் என்பதை நாங்கள் நன்கு புரிந்துகொண்டோம்; செயல்முறையையே நாங்கள் மறுபரிசீலனை செய்ய வேண்டியிருந்தது. தீர்வு வெளிப்படையானது - தேவையான பதிப்புகளின் அனைத்து பொருட்களுடன் வெளியீட்டு கிளையிலிருந்து ஒரு ஒட்டுமொத்த விநியோகத்தை சேகரிக்க.

கருத்தின் ஆதாரத்துடன் நாங்கள் தொடங்கினோம்: கடந்தகால செயலாக்கத்தின் உள்ளடக்கங்களின்படி வெளியீட்டு தொகுப்பை கையால் சேகரித்து அதை எங்கள் சூழலில் நிறுவினோம். எல்லாம் செயல்பட்டது, கருத்து சாத்தியமானதாக மாறியது. அடுத்து, துவக்க அமைப்புகளை ஸ்கிரிப்ட் செய்வதில் உள்ள சிக்கலை நாங்கள் தீர்த்தோம் மற்றும் அவற்றை உறுதிப்பாட்டில் சேர்ப்போம். நாங்கள் ஒரு புதிய தொகுப்பைத் தயாரித்து, விளிம்புப் புதுப்பிப்பின் ஒரு பகுதியாக சோதனைச் சூழல்களில் சோதனை செய்தோம். செயல்படுத்தல் குழுவிலிருந்து பலதரப்பட்ட கருத்துகள் இருந்தாலும், நிறுவல் வெற்றிகரமாக இருந்தது. ஆனால் முக்கிய விஷயம் என்னவென்றால், நவம்பர் வெளியீட்டில் எங்கள் சட்டசபையுடன் தயாரிப்பில் இறங்குவதற்கான அனுமதி எங்களுக்கு வழங்கப்பட்டது.

இன்னும் ஒரு மாதமே எஞ்சியிருக்கும் நிலையில், கையால் தேர்ந்தெடுக்கப்பட்ட பொருட்கள் நேரம் முடிந்துவிட்டதை தெளிவாக உணர்த்தியது. வெளியீட்டுக் கிளையிலிருந்து கட்டமைக்க முடிவு செய்தனர், ஆனால் அதை ஏன் பிரிக்க வேண்டும்? எங்களிடம் தயாரிப்பு போன்றது இல்லை, ஏற்கனவே உள்ள கிளைகள் நல்லதல்ல - தேவையற்ற குறியீடுகள் நிறைய உள்ளன. நாம் அவசரமாக ப்ராட்-லைக்குகளை குறைக்க வேண்டும், இது மூவாயிரத்திற்கும் அதிகமான கமிட் ஆகும். கையால் அசெம்பிள் செய்வது ஒரு விருப்பமல்ல. தயாரிப்பு நிறுவல் பதிவின் மூலம் இயங்கும் ஸ்கிரிப்டை நாங்கள் வரைந்தோம் மற்றும் கிளைக்கான கமிட்களை சேகரிக்கிறோம். மூன்றாவது முறையாக அது சரியாக வேலை செய்தது, மேலும் "கோப்புடன் முடித்த பிறகு" கிளை தயாராக இருந்தது. 

நிறுவல் பொதிக்கு சொந்தமாக பில்டரை எழுதி ஒரு வாரத்தில் முடித்தோம். கணினியின் முக்கிய செயல்பாட்டிலிருந்து நிறுவியை மாற்றியமைக்க வேண்டியிருந்தது, ஏனெனில் இது திறந்த மூலமாகும். தொடர்ச்சியான சோதனைகள் மற்றும் மாற்றங்களுக்குப் பிறகு, முடிவு வெற்றிகரமாகக் கருதப்பட்டது. இதற்கிடையில், வெளியீட்டின் கலவை வடிவம் பெற்றது, அதன் சரியான நிறுவலுக்கு, சோதனை சுற்றுகளை உற்பத்தியுடன் சீரமைக்க வேண்டியது அவசியம், இதற்காக ஒரு தனி ஸ்கிரிப்ட் எழுதப்பட்டது.

இயற்கையாகவே, முதல் நிறுவலைப் பற்றி நிறைய கருத்துகள் இருந்தன, ஆனால் ஒட்டுமொத்த குறியீடு வேலை செய்தது. மூன்றாவது நிறுவலுக்குப் பிறகு எல்லாம் நன்றாகத் தெரிந்தது. பொருட்களின் கலவை கட்டுப்பாடு மற்றும் பதிப்பு கட்டுப்பாடு கையேடு முறையில் தனித்தனியாக கண்காணிக்கப்பட்டது, இது இந்த கட்டத்தில் மிகவும் நியாயமானது.

கூடுதல் சவாலானது, அதிக எண்ணிக்கையில் வெளியிடப்படாதவை கணக்கில் எடுத்துக்கொள்ளப்பட வேண்டும். ஆனால் ப்ராட் போன்ற கிளை மற்றும் ரீபேஸ் மூலம், பணி வெளிப்படையானது.

முதல் முறையாக, விரைவாகவும் பிழைகள் இல்லாமல்

நாங்கள் ஒரு நம்பிக்கையான அணுகுமுறையுடன் வெளியீட்டை அணுகினோம் மற்றும் வெவ்வேறு சுற்றுகளில் ஒரு டஜன் வெற்றிகரமான நிறுவல்களுடன் அணுகினோம். ஆனால் உண்மையில் காலக்கெடுவிற்கு ஒரு நாள் முன்னதாக, விற்பனையாளர் ஏற்றுக்கொள்ளப்பட்ட வழியில் நிறுவலுக்கு வெளியீட்டைத் தயாரிப்பதற்கான வேலையை முடிக்கவில்லை என்று மாறியது. சில காரணங்களால் எங்கள் உருவாக்கம் வேலை செய்யவில்லை என்றால், வெளியீடு தடைபடும். மேலும், எங்கள் முயற்சிகள் மூலம், இது குறிப்பாக விரும்பத்தகாதது. நாங்கள் பின்வாங்க வழியில்லை. எனவே, நாங்கள் மாற்று விருப்பங்கள் மூலம் சிந்தித்து, செயல் திட்டங்களைத் தயாரித்து நிறுவலைத் தொடங்கினோம்.

ஆச்சரியப்படும் விதமாக, 800 க்கும் மேற்பட்ட பொருட்களைக் கொண்ட முழு வெளியீடும், முதல் முறையாக மற்றும் வெறும் 10 நிமிடங்களில் சரியாகத் தொடங்கியது. பிழைகளைத் தேடிப் பதிவுகளைச் சரிபார்த்து ஒரு மணிநேரம் செலவழித்தோம், ஆனால் எதுவும் கிடைக்கவில்லை.

அடுத்த நாள் முழுவதும் வெளியீட்டு அரட்டையில் அமைதி நிலவியது: செயல்படுத்துவதில் சிக்கல்கள் இல்லை, வளைந்த பதிப்புகள் அல்லது "பொருத்தமற்ற" குறியீடு. அது எப்படியோ சங்கடமாக இருந்தது. பின்னர், சில கருத்துகள் வெளிப்பட்டன, ஆனால் மற்ற அமைப்புகள் மற்றும் முந்தைய அனுபவத்துடன் ஒப்பிடுகையில், அவற்றின் எண்ணிக்கையும் முன்னுரிமையும் குறிப்பிடத்தக்க அளவில் குறைவாகவே இருந்தன.

ஒட்டுமொத்த விளைவின் கூடுதல் விளைவு அசெம்பிளி மற்றும் சோதனையின் தரத்தில் அதிகரிப்பு ஆகும். முழு வெளியீட்டின் பல நிறுவல்கள் காரணமாக, உருவாக்க குறைபாடுகள் மற்றும் வரிசைப்படுத்தல் பிழைகள் சரியான நேரத்தில் அடையாளம் காணப்பட்டன. முழு வெளியீட்டு உள்ளமைவுகளில் சோதனையானது, அதிகரிக்கும் நிறுவல்களின் போது தோன்றாத பொருட்களின் பரஸ்பர செல்வாக்கின் குறைபாடுகளை கூடுதலாக அடையாளம் காண முடிந்தது. இது நிச்சயமாக ஒரு வெற்றியாகும், குறிப்பாக வெளியீட்டிற்கு எங்கள் 57% பங்களிப்பு.

முடிவுகள் மற்றும் முடிவுகள்

ஒரு வருடத்திற்குள் நாங்கள் முடிந்தது:

  • ஒரு கவர்ச்சியான அமைப்பைப் பயன்படுத்தி முழு அளவிலான உள் வளர்ச்சியை உருவாக்குங்கள்;
  • முக்கியமான விற்பனையாளர் சார்புநிலையை நீக்குதல்;
  • மிகவும் நட்பற்ற பாரம்பரியத்திற்காக CI/CD ஐத் தொடங்கவும்;
  • செயல்படுத்தல் செயல்முறைகளை ஒரு புதிய தொழில்நுட்ப நிலைக்கு உயர்த்தவும்;
  • வரிசைப்படுத்தல் நேரத்தை கணிசமாகக் குறைக்கிறது;
  • செயல்படுத்தல் பிழைகளின் எண்ணிக்கையை கணிசமாகக் குறைத்தல்;
  • உங்களை ஒரு முன்னணி மேம்பாட்டு நிபுணராக நம்பிக்கையுடன் அறிவிக்கவும்.

நிச்சயமாக, விவரிக்கப்பட்டுள்ளவற்றில் பெரும்பாலானவை முற்றிலும் முட்டாள்தனமாகத் தெரிகிறது, ஆனால் இவை அமைப்பின் அம்சங்கள் மற்றும் அதில் இருக்கும் செயல்முறை வரம்புகள். இந்த நேரத்தில், மாற்றங்கள் IS சுயவிவர தயாரிப்புகள் மற்றும் சேவைகளை (முதன்மை கணக்குகள், பிளாஸ்டிக் அட்டைகள், சேமிப்புக் கணக்குகள், எஸ்க்ரோ, பணக் கடன்கள்) பாதித்தன, ஆனால் DevOps நடைமுறைகளை செயல்படுத்தும் பணி அமைக்கப்பட்டுள்ள எந்த IS க்கும் அணுகுமுறையைப் பயன்படுத்தலாம். பல டெலிவரிகளிலிருந்து அடுத்தடுத்த செயலாக்கங்களுக்கு (வெளியிடப்படாதவை உட்பட) ஒட்டுமொத்த மாதிரியைப் பாதுகாப்பாகப் பிரதிபலிக்க முடியும்.

ஆதாரம்: www.habr.com

கருத்தைச் சேர்