werf 1.1 வெளியீடு: பில்டருக்கு இன்று மேம்பாடுகள் மற்றும் எதிர்காலத்திற்கான திட்டங்கள்

werf 1.1 வெளியீடு: பில்டருக்கு இன்று மேம்பாடுகள் மற்றும் எதிர்காலத்திற்கான திட்டங்கள்

வெர்ஃப் Kubernetes க்கு பயன்பாடுகளை உருவாக்க மற்றும் வழங்குவதற்கான எங்கள் திறந்த மூல GitOps CLI பயன்பாடு ஆகும். உறுதியளித்த படி, பதிப்பு v1.0 வெளியீடு werf இல் புதிய அம்சங்களைச் சேர்ப்பதற்கும் பாரம்பரிய அணுகுமுறைகளைத் திருத்துவதற்கும் தொடக்கத்தைக் குறித்தது. இப்போது வெளியீடு v1.1 ஐ வழங்குவதில் நாங்கள் மகிழ்ச்சியடைகிறோம், இது வளர்ச்சியில் ஒரு பெரிய படி மற்றும் எதிர்காலத்திற்கான அடித்தளமாகும் ஆட்சியர் வெர்ஃப் பதிப்பு தற்போது கிடைக்கிறது சேனல் 1.1 EA.

வெளியீட்டின் அடிப்படையானது புதிய நிலை சேமிப்பக கட்டமைப்பு மற்றும் இரண்டு சேகரிப்பாளர்களின் வேலைகளின் மேம்படுத்தல் ஆகும் (Stapel மற்றும் Dockerfile க்கு). புதிய சேமிப்பக கட்டமைப்பு ஒரே ஹோஸ்டில் பல ஹோஸ்ட்கள் மற்றும் இணையான அசெம்பிளிகளில் இருந்து விநியோகிக்கப்பட்ட அசெம்பிளிகளை செயல்படுத்துவதற்கான வாய்ப்பைத் திறக்கிறது.

வேலையின் உகப்பாக்கம் என்பது நிலை கையொப்பங்களைக் கணக்கிடும் கட்டத்தில் தேவையற்ற கணக்கீடுகளை அகற்றுவது மற்றும் கோப்பு செக்ஸம்களைக் கணக்கிடுவதற்கான வழிமுறைகளை மிகவும் திறமையானதாக மாற்றுவது ஆகியவை அடங்கும். இந்த உகப்பாக்கம் werf ஐப் பயன்படுத்தி திட்ட உருவாக்கங்களின் சராசரி நேரத்தைக் குறைக்கிறது. மற்றும் அனைத்து நிலைகளும் தற்காலிக சேமிப்பில் இருக்கும் போது, ​​செயலற்ற உருவாக்கங்கள் நிலைகள்-சேமிப்பு, இப்போது மிகவும் வேகமாக உள்ளன. பெரும்பாலான சந்தர்ப்பங்களில், உருவாக்கத்தை மறுதொடக்கம் செய்ய 1 வினாடிக்கும் குறைவாகவே ஆகும்! குழுக்களின் பணியின் செயல்பாட்டில் நிலைகளை சரிபார்க்கும் நடைமுறைகளுக்கும் இது பொருந்தும். werf deploy и werf run.

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

werf v1.1 இல் உள்ள முக்கிய கண்டுபிடிப்புகளை கூர்ந்து கவனிப்போம், அதே நேரத்தில் எதிர்காலத்திற்கான திட்டங்களைப் பற்றியும் கூறுவோம்.

werf v1.1 இல் என்ன மாறிவிட்டது?

தற்காலிக சேமிப்பில் இருந்து நிலைகளைத் தேர்ந்தெடுப்பதற்கான புதிய நிலைப் பெயரிடும் வடிவம் மற்றும் அல்காரிதம்

புதிய மேடை பெயர் உருவாக்க விதி. இப்போது ஒவ்வொரு கட்ட உருவாக்கமும் ஒரு தனித்துவமான மேடைப் பெயரை உருவாக்குகிறது, அதில் 2 பகுதிகள் உள்ளன: ஒரு கையொப்பம் (அது v1.0 இல் இருந்தது) மற்றும் ஒரு தனிப்பட்ட தற்காலிக அடையாளங்காட்டி.

எடுத்துக்காட்டாக, முழு நிலைப் படத்தின் பெயர் இப்படி இருக்கலாம்:

werf-stages-storage/myproject:d2c5ad3d2c9fcd9e57b50edd9cb26c32d156165eb355318cebc3412b-1582656767835

... அல்லது பொதுவாக:

werf-stages-storage/PROJECT:SIGNATURE-TIMESTAMP_MILLISEC

இங்கே:

  • SIGNATURE ஒரு நிலை கையொப்பம், இது மேடை உள்ளடக்கத்தின் அடையாளங்காட்டியைக் குறிக்கிறது மற்றும் இந்த உள்ளடக்கத்திற்கு வழிவகுத்த Git இல் திருத்தங்களின் வரலாற்றைப் பொறுத்தது;
  • TIMESTAMP_MILLISEC ஒரு புதிய படம் உருவாக்கப்படும் நேரத்தில் உருவாக்கப்படும் உத்தரவாதமான தனிப்பட்ட பட அடையாளங்காட்டியாகும்.

தற்காலிக சேமிப்பில் இருந்து நிலைகளைத் தேர்ந்தெடுப்பதற்கான வழிமுறையானது Git கமிட்களின் உறவைச் சரிபார்ப்பதை அடிப்படையாகக் கொண்டது:

  1. வெர்ஃப் ஒரு குறிப்பிட்ட கட்டத்தின் கையொப்பத்தைக் கணக்கிடுகிறார்.
  2. В நிலைகள்-சேமிப்பு கொடுக்கப்பட்ட கையொப்பத்திற்கு பல நிலைகள் இருக்கலாம். வெர்ஃப் கையொப்பத்துடன் பொருந்தக்கூடிய அனைத்து நிலைகளையும் தேர்ந்தெடுக்கிறது.
  3. தற்போதைய நிலை Git உடன் இணைக்கப்பட்டிருந்தால் (git-archive, Git இணைப்புகளுடன் கூடிய தனிப்பயன் நிலை: install, beforeSetup, setup; அல்லது git-latest-patch), பின்னர் werf தற்போதைய உறுதிப்பாட்டின் மூதாதையரான ஒரு உறுதியுடன் தொடர்புடைய அந்த நிலைகளை மட்டுமே தேர்ந்தெடுக்கிறது (அதற்காக உருவாக்கம் அழைக்கப்படுகிறது).
  4. மீதமுள்ள பொருத்தமான நிலைகளில் இருந்து, ஒன்று தேர்ந்தெடுக்கப்பட்டது - உருவாக்கப்பட்ட தேதியின்படி பழமையானது.

வெவ்வேறு Git கிளைகளுக்கான ஒரு நிலை ஒரே கையொப்பத்தைக் கொண்டிருக்கலாம். கையொப்பங்கள் பொருந்தினாலும், வெவ்வேறு கிளைகளுடன் தொடர்புடைய தற்காலிக சேமிப்பை இந்தக் கிளைகளுக்கு இடையில் பயன்படுத்துவதை werf தடுக்கும்.

→ ஆவணம்.

நிலை சேமிப்பகத்தில் நிலைகளை உருவாக்குவதற்கும் சேமிப்பதற்கும் புதிய அல்காரிதம்

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

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

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

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

→ ஆவணம்.

மேம்படுத்தப்பட்ட Dockerfile பில்டர் செயல்திறன்

இந்த நேரத்தில், ஒரு டாக்கர்ஃபைலில் இருந்து கட்டப்பட்ட படத்திற்கான நிலைகளின் குழாய் ஒரு கட்டத்தைக் கொண்டுள்ளது - dockerfile. கையொப்பத்தை கணக்கிடும் போது, ​​கோப்புகளின் செக்சம் கணக்கிடப்படுகிறது context, இது சட்டசபையின் போது பயன்படுத்தப்படும். இந்த மேம்பாட்டிற்கு முன், werf அனைத்து கோப்புகளையும் திரும்பத் திரும்பச் சென்று, ஒவ்வொரு கோப்பின் சூழல் மற்றும் பயன்முறையையும் தொகுத்து ஒரு செக்சம் பெற்றார். v1.1 இல் தொடங்கி, werf ஆனது Git களஞ்சியத்தில் சேமிக்கப்பட்ட கணக்கிடப்பட்ட செக்சம்களைப் பயன்படுத்தலாம்.

அல்காரிதம் அடிப்படையாக கொண்டது git ls-tree. அல்காரிதம் பதிவுகளை கணக்கில் எடுத்துக்கொள்கிறது .dockerignore மற்றும் தேவைப்படும் போது மட்டுமே கோப்பு மரத்தை மீண்டும் மீண்டும் கடந்து செல்லும். எனவே, கோப்பு முறைமையைப் படிப்பதிலிருந்தும், அல்காரிதம் அளவைச் சார்ந்திருப்பதிலிருந்தும் நாங்கள் துண்டிக்கப்பட்டோம். context குறிப்பிடத்தக்கதாக இல்லை.

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

கோப்புகளை இறக்குமதி செய்யும் போது மேம்படுத்தப்பட்ட செயல்திறன்

werf v1.1 இன் பதிப்புகள் rsync சேவையகத்தைப் பயன்படுத்தும் போது கலைப்பொருட்கள் மற்றும் படங்களிலிருந்து கோப்புகளை இறக்குமதி செய்தல். முன்னதாக, ஹோஸ்ட் அமைப்பிலிருந்து ஒரு அடைவு ஏற்றத்தைப் பயன்படுத்தி இரண்டு படிகளில் இறக்குமதி செய்யப்பட்டது.

MacOS இல் இறக்குமதி செயல்திறன் இனி Docker தொகுதிகளால் வரையறுக்கப்படாது, மேலும் Linux மற்றும் Windows போன்ற அதே நேரத்தில் இறக்குமதிகள் நிறைவடையும்.

உள்ளடக்கம் சார்ந்த குறியிடல்

Werf v1.1 பட உள்ளடக்கத்தின் மூலம் குறியிடுதல் என அழைக்கப்படுவதை ஆதரிக்கிறது - உள்ளடக்கம் சார்ந்த குறியிடல். இதன் விளைவாக வரும் டோக்கர் படங்களின் குறிச்சொற்கள் இந்தப் படங்களின் உள்ளடக்கத்தைப் பொறுத்தது.

கட்டளையை இயக்கும் போது werf publish --tags-by-stages-signature அல்லது werf ci-env --tagging-strategy=stages-signature என்று அழைக்கப்படும் படங்களை வெளியிட்டது மேடை கையெழுத்து படம். ஒவ்வொரு படமும் இந்த படத்தின் நிலைகளின் சொந்த கையொப்பத்துடன் குறியிடப்பட்டுள்ளது, இது ஒவ்வொரு கட்டத்தின் வழக்கமான கையொப்பத்தின் அதே விதிகளின்படி தனித்தனியாக கணக்கிடப்படுகிறது, ஆனால் இது படத்தின் பொதுவான அடையாளங்காட்டியாகும்.

படத்தின் நிலைகளின் கையொப்பம் இதைப் பொறுத்தது:

  1. இந்த படத்தின் உள்ளடக்கங்கள்;
  2. இந்த உள்ளடக்கத்திற்கு வழிவகுத்த Git மாற்றங்களின் வரலாறுகள்.

ஒரு Git களஞ்சியத்தில் எப்போதும் டம்மி கமிட்கள் இருக்கும், அவை படக் கோப்புகளின் உள்ளடக்கங்களை மாற்றாது. எடுத்துக்காட்டாக, கருத்துகள் அல்லது ஒன்றிணைப்பு கமிட்கள் அல்லது ஜிட்டில் உள்ள கோப்புகளை மாற்றும் கமிட்கள், படத்தில் இறக்குமதி செய்யப்படாது.

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

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

முக்கியமான: இப்போதிலிருந்து தொடங்கும் நிலைகள்-கையொப்பம் - அது ஒரே பரிந்துரைக்கப்பட்ட குறிச்சொல் உத்தி. இது கட்டளையில் இயல்பாகவே பயன்படுத்தப்படும் werf ci-env (வேறு குறியிடல் திட்டத்தை நீங்கள் வெளிப்படையாகக் குறிப்பிடாத வரை).

→ ஆவணம். இந்த அம்சத்திற்காக ஒரு தனி வெளியீடும் ஒதுக்கப்படும். புதுப்பிக்கப்பட்டது (ஏப்ரல் 3): விவரங்களுடன் கூடிய கட்டுரை வெளியிடப்பட்ட.

பதிவு நிலைகள்

வெளியீட்டைக் கட்டுப்படுத்தவும், பதிவு செய்யும் அளவை அமைக்கவும் மற்றும் பிழைத்திருத்தத் தகவலுடன் வேலை செய்யவும் பயனருக்கு இப்போது வாய்ப்பு உள்ளது. விருப்பங்கள் சேர்க்கப்பட்டது --log-quiet, --log-verbose, --log-debug.

இயல்பாக, வெளியீடு குறைந்தபட்ச தகவலைக் கொண்டுள்ளது:

werf 1.1 வெளியீடு: பில்டருக்கு இன்று மேம்பாடுகள் மற்றும் எதிர்காலத்திற்கான திட்டங்கள்

வாய்மொழி வெளியீட்டைப் பயன்படுத்தும் போது (--log-verbose) வெர்ஃப் எவ்வாறு செயல்படுகிறது என்பதை நீங்கள் பார்க்கலாம்:

werf 1.1 வெளியீடு: பில்டருக்கு இன்று மேம்பாடுகள் மற்றும் எதிர்காலத்திற்கான திட்டங்கள்

விரிவான வெளியீடு (--log-debug), werf பிழைத்திருத்தத் தகவலுடன் கூடுதலாக, பயன்படுத்தப்பட்ட நூலகங்களின் பதிவுகளும் உள்ளன. எடுத்துக்காட்டாக, Docker Registry உடனான தொடர்பு எவ்வாறு நிகழ்கிறது என்பதை நீங்கள் பார்க்கலாம், மேலும் கணிசமான அளவு நேரத்தை செலவிடும் இடங்களையும் பதிவு செய்யலாம்:

werf 1.1 வெளியீடு: பில்டருக்கு இன்று மேம்பாடுகள் மற்றும் எதிர்காலத்திற்கான திட்டங்கள்

எதிர்கால திட்டங்கள்

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

பல்வேறு டோக்கர் ரெஜிஸ்ட்ரி செயலாக்கங்களுக்கான முழு ஆதரவு (புதிய)

werf ஐப் பயன்படுத்தும் போது பயனர் கட்டுப்பாடுகள் இல்லாமல் தனிப்பயன் செயலாக்கத்தைப் பயன்படுத்துவதே குறிக்கோள்.

தற்போது, ​​பின்வரும் தீர்வுகளின் தொகுப்பை நாங்கள் கண்டறிந்துள்ளோம், அதற்கான முழு ஆதரவுக்கும் உத்தரவாதம் அளிக்கப் போகிறோம்:

  • இயல்புநிலை (நூலகம்/பதிவு)*,
  • AWS ECR
  • நீலம்*,
  • டோக்கர் ஹப்
  • ஜி.சி.ஆர்*,
  • GitHub தொகுப்புகள்
  • GitLab ரெஜிஸ்ட்ரி*,
  • துறைமுகம்*,
  • குவே.

தற்போது werf ஆல் முழுமையாக ஆதரிக்கப்படும் தீர்வுகள் நட்சத்திரக் குறியீட்டால் குறிக்கப்பட்டுள்ளன. மற்றவர்களுக்கு ஆதரவு உள்ளது, ஆனால் வரம்புகளுடன்.

இரண்டு முக்கிய சிக்கல்களை அடையாளம் காணலாம்:

  • சில தீர்வுகள் Docker Registry API ஐப் பயன்படுத்தி குறிச்சொல் அகற்றலை ஆதரிக்காது, பயனர்கள் werf இன் தானியங்கி சுத்தம் செய்வதைத் தடுக்கிறது. AWS ECR, Docker Hub மற்றும் GitHub தொகுப்புகளுக்கு இது பொருந்தும்.
  • சில தீர்வுகள் உள்ளமைக்கப்பட்ட களஞ்சியங்கள் (Docker Hub, GitHub Packages மற்றும் Quay) என அழைக்கப்படுவதை ஆதரிக்காது அல்லது செய்யாது, ஆனால் பயனர் UI அல்லது API (AWS ECR) ஐப் பயன்படுத்தி அவற்றை கைமுறையாக உருவாக்க வேண்டும்.

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

விநியோகிக்கப்பட்ட பட உருவாக்கம் (↑)

  • பதிப்பு: v1.2 v1.1 (இந்த அம்சத்தைச் செயல்படுத்துவதற்கான முன்னுரிமை அதிகரிக்கப்பட்டுள்ளது)
  • தேதிகள்: மார்ச்-ஏப்ரல் மார்ச்
  • வெளியீடு

இந்த நேரத்தில், werf v1.0 மற்றும் v1.1 படங்களை உருவாக்குவதற்கும் வெளியிடுவதற்கும் மற்றும் Kubernetes க்கு பயன்பாட்டைப் பயன்படுத்துவதற்கும் ஒரு பிரத்யேக ஹோஸ்டில் மட்டுமே பயன்படுத்த முடியும்.

பல தன்னிச்சையான ஹோஸ்ட்களில் Kubernetes இல் பயன்பாடுகளின் உருவாக்கம் மற்றும் வரிசைப்படுத்தல் தொடங்கப்படும் போது, ​​werf இன் விநியோகிக்கப்பட்ட வேலையின் சாத்தியக்கூறுகளைத் திறக்க, இந்த ஹோஸ்ட்கள் தங்கள் நிலையை உருவாக்க (தற்காலிக ரன்னர்கள்) இடையே சேமிக்கவில்லை டோக்கர் ரெஜிஸ்ட்ரி ஒரு மேடை அங்காடியாக.

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

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

GitHub செயல்களுக்கான அதிகாரப்பூர்வ ஆதரவு (புதிய)

வெர்ஃப் ஆவணங்களை உள்ளடக்கியது (பிரிவுகள் குறிப்பு и வழிகாட்டும்), அத்துடன் werf உடன் பணிபுரிவதற்கான அதிகாரப்பூர்வ GitHub நடவடிக்கை.

கூடுதலாக, இது எபிமரல் ரன்னர்களில் வேலை செய்ய வெர்ஃப் அனுமதிக்கும்.

CI அமைப்புடனான பயனர் தொடர்புகளின் இயக்கவியல், பயன்பாட்டை உருவாக்க/உருவாக்கம் செய்வதற்கான சில செயல்களைத் தொடங்க இழுக்கும் கோரிக்கைகளில் லேபிள்களை வைப்பதன் அடிப்படையில் அமையும்.

வெர்ஃப் (↓) உடன் பயன்பாடுகளின் உள்ளூர் மேம்பாடு மற்றும் வரிசைப்படுத்தல்

  • பதிப்பு: v1.1
  • தேதிகள்: ஜனவரி-பிப்ரவரி ஏப்ரல்
  • வெளியீடு

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

பயன்பாட்டுக் குறியீட்டைத் திருத்துவதற்கும், பிழைத்திருத்தத்திற்காக இயங்கும் பயன்பாட்டிலிருந்து உடனடியாகக் கருத்துக்களைப் பெறுவதற்கும் வசதியாக இருக்கும் ஒரு இயக்க முறைமையும் werfக்குத் தேவை.

புதிய துப்புரவு அல்காரிதம் (புதிய)

நடைமுறையில் werf v1.1 இன் தற்போதைய பதிப்பில் cleanup உள்ளடக்கம் சார்ந்த டேக்கிங் திட்டத்திற்கு படங்களை சுத்தம் செய்வதற்கான எந்த ஏற்பாடும் இல்லை - இந்த படங்கள் குவிந்துவிடும்.

மேலும், werf இன் தற்போதைய பதிப்பு (v1.0 மற்றும் v1.1) டேக்கிங் திட்டங்களின் கீழ் வெளியிடப்பட்ட படங்களுக்கு வெவ்வேறு தூய்மைப்படுத்தும் கொள்கைகளைப் பயன்படுத்துகிறது: Git கிளை, Git tag அல்லது Git commit.

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

  • ஒவ்வொரு git HEADக்கும் (கிளைகள் மற்றும் குறிச்சொற்கள்) N1 உடன் தொடர்புடைய N2 படங்களை விட அதிகமாக வைத்திருக்க வேண்டாம்.
  • ஒவ்வொரு git HEADக்கும் (கிளைகள் மற்றும் குறிச்சொற்கள்) N1 உடன் தொடர்புடைய N2 நிலைப் படங்களை விட அதிகமாகச் சேமிக்க வேண்டாம்.
  • எந்த Kubernetes கிளஸ்டர் ஆதாரங்களிலும் பயன்படுத்தப்படும் அனைத்து படங்களையும் சேமிக்கவும் (உள்ளமைவு கோப்பு மற்றும் பெயர்வெளிகளின் அனைத்து kube சூழல்களும் ஸ்கேன் செய்யப்படுகின்றன; நீங்கள் இந்த நடத்தையை சிறப்பு விருப்பங்களுடன் கட்டுப்படுத்தலாம்).
  • ஹெல்ம் வெளியீடுகளில் சேமிக்கப்பட்ட ஆதார உள்ளமைவு வெளிப்பாடுகளில் பயன்படுத்தப்படும் அனைத்து படங்களையும் சேமிக்கவும்.
  • ஒரு படத்தை git இலிருந்து எந்த HEAD உடன் தொடர்புபடுத்தவில்லை என்றால் அதை நீக்கலாம் (உதாரணமாக, தொடர்புடைய HEAD தானே நீக்கப்பட்டது) மற்றும் குபெர்னெட்டஸ் கிளஸ்டரிலும் ஹெல்ம் வெளியீடுகளிலும் எந்த மேனிஃபெஸ்ட்களிலும் பயன்படுத்தப்படவில்லை.

இணை பட கட்டிடம் (↓)

  • பதிப்பு: v1.1
  • தேதிகள்: ஜனவரி-பிப்ரவரி ஏப்ரல்*

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

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

ஹெல்ம் 3 க்கு மாற்றம் (↓)

  • பதிப்பு: v1.2
  • தேதிகள்: பிப்ரவரி-மார்ச் மே*

புதிய கோட்பேஸுக்கு இடம்பெயர்வதை உள்ளடக்கியது ஹெல்ம் 3 மற்றும் ஏற்கனவே உள்ள நிறுவல்களை நகர்த்துவதற்கான நிரூபிக்கப்பட்ட, வசதியான வழி.

* குறிப்பு: ஹெல்ம் 3க்கு மாறுவது குறிப்பிடத்தக்க அம்சங்களை வெர்ஃபில் சேர்க்காது, ஏனெனில் ஹெல்ம் 3 இன் அனைத்து முக்கிய அம்சங்களும் (3-வே-மெர்ஜ் மற்றும் டில்லர் இல்லை) ஏற்கனவே வெர்ஃபில் செயல்படுத்தப்பட்டுள்ளன. மேலும், வெர்ஃப் உள்ளது கூடுதல் அம்சங்கள் சுட்டிக்காட்டப்பட்டவைக்கு கூடுதலாக. இருப்பினும், இந்த மாற்றம் எங்கள் திட்டங்களில் உள்ளது மற்றும் செயல்படுத்தப்படும்.

குபெர்னெட்ஸ் உள்ளமைவை விவரிப்பதற்கான Jsonnet (↓)

  • பதிப்பு: v1.2
  • தேதிகள்: ஜனவரி-பிப்ரவரி ஏப்ரல்-மே

குபெர்னெட்ஸிற்கான உள்ளமைவு விளக்கங்களை Jsonnet வடிவத்தில் Werf ஆதரிக்கும். அதே நேரத்தில், werf ஹெல்முடன் இணக்கமாக இருக்கும் மற்றும் விளக்க வடிவமைப்பின் தேர்வு இருக்கும்.

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

மற்ற குபெர்னெட்ஸ் உள்ளமைவு விளக்க அமைப்புகளை (உதாரணமாக, கஸ்டமைஸ்) அறிமுகப்படுத்துவதற்கான சாத்தியக்கூறுகளும் பரிசீலிக்கப்படுகிறது.

குபெர்னெட்டஸில் பணிபுரிதல் (↓)

  • பதிப்பு: v1.2
  • தேதிகள்: ஏப்ரல்-மே மே-ஜூன்

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

இந்த திறனை செயல்படுத்த, நீங்கள் முதலில் விநியோகிக்கப்பட்ட படங்களை உருவாக்க வேண்டும் (மேலே உள்ள புள்ளியைப் பார்க்கவும்).

டோக்கர் சேவையகம் இல்லாமல் பில்டரின் இயக்க முறைமைக்கு ஆதரவு தேவைப்படுகிறது (அதாவது கனிகோ போன்ற உருவாக்கம் அல்லது பயனர்வெளியில் உருவாக்குவது).

Dockerfile உடன் மட்டுமின்றி, அதன் Stapel Builder ஐயும் அதிகரிக்கும் rebuilds மற்றும் Ansible உடன் குபெர்னெட்ஸில் கட்டமைப்பதை Werf ஆதரிக்கும்.

திறந்த வளர்ச்சிக்கான ஒரு படி

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

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

சிக்கல்களுடன் நிறைய வேலைகள் செய்யப்பட்டுள்ளன:

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

பதிப்பு v1.1 ஐ எவ்வாறு இயக்குவது

பதிப்பு தற்போது கிடைக்கிறது சேனல் 1.1 EA (சேனல்களில் நிலையான и பாறை-திட இருப்பினும், உறுதிப்படுத்தல் ஏற்படும் போது வெளியீடுகள் தோன்றும் ea தானே ஏற்கனவே பயன்படுத்த போதுமான அளவு நிலையானது, ஏனெனில் சேனல்கள் வழியாக சென்றது ஆல்பா и பீட்டா) செயல்படுத்தப்பட்டது மல்டிவேர்ஃப் வழியாக பின்வரும் வழியில்:

source $(multiwerf use 1.1 ea)
werf COMMAND ...

முடிவுக்கு

ஸ்டேபல் மற்றும் டோக்கர்ஃபைல் பில்டர்களுக்கான புதிய நிலை சேமிப்பக கட்டமைப்பு மற்றும் பில்டர் மேம்படுத்தல்கள் ஆகியவை வெர்ஃபில் விநியோகிக்கப்பட்ட மற்றும் இணையான கட்டிடங்களை செயல்படுத்துவதற்கான வாய்ப்பைத் திறக்கின்றன. இந்த அம்சங்கள் விரைவில் அதே v1.1 வெளியீட்டில் தோன்றும் மற்றும் தானியங்கு புதுப்பிப்பு பொறிமுறையின் மூலம் தானாகவே கிடைக்கும் (பயனர்களுக்கு பல்வகை).

இந்த வெளியீட்டில், பட உள்ளடக்கத்தின் அடிப்படையில் ஒரு குறிச்சொல் உத்தி சேர்க்கப்பட்டுள்ளது - உள்ளடக்கம் சார்ந்த குறியிடல், இது இயல்புநிலை உத்தியாகிவிட்டது. முக்கிய கட்டளை பதிவும் மறுவேலை செய்யப்பட்டுள்ளது: werf build, werf publish, werf deploy, werf dismiss, werf cleanup.

அடுத்த முக்கியமான படி, விநியோகிக்கப்பட்ட கூட்டங்களைச் சேர்ப்பதாகும். விநியோகிக்கப்பட்ட உருவாக்கங்கள் v1.0 முதல் இணையான உருவாக்கங்களை விட அதிக முன்னுரிமையாக மாறியுள்ளன, ஏனெனில் அவை werf க்கு அதிக மதிப்பைச் சேர்க்கின்றன: பில்டர்களின் செங்குத்து அளவிடுதல் மற்றும் பல்வேறு CI/CD அமைப்புகளில் எபிமெரல் பில்டர்களுக்கான ஆதரவு, அத்துடன் GitHub செயல்களுக்கு அதிகாரப்பூர்வ ஆதரவை வழங்கும் திறன். . எனவே, இணையான கூட்டங்களுக்கான அமலாக்க காலக்கெடு மாற்றப்பட்டது. எவ்வாறாயினும், இரண்டு சாத்தியக்கூறுகளையும் கூடிய விரைவில் செயல்படுத்த நாங்கள் பணியாற்றி வருகிறோம்.

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

சோசலிஸ்ட் கட்சி

எங்கள் வலைப்பதிவிலும் படிக்கவும்:

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

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