எளிய தமிழில் DevOps-7

Jenkins

 

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

நம்முடைய கிட் சர்வரில் real_time எனும் ஃபோல்டருக்குள் உள்ள அப்ளிகேஷனை ஜென்கின்ஸ் மூலம் எவ்வாறு சர்வரில் நிறுவுவது என்று இப்பகுதியில் பார்க்கலாம்.

ஜென்கின்ஸ் நிறுவுவற்கான மற்றும் நீக்குவதற்கான கட்டளைகள் பின்வருமாறு.

sudo apt-get install jenkins
sudo apt-get remove jenkins

அதனை துவக்குவதற்கான மற்றும் நிறுத்துவதற்கான கட்டளைகள் பின்வருமாறு.

sudo systemctl start jenkins
sudo systemctl stop jenkins

ஜென்கின்ஸ் தற்போது எந்த நிலையில் உள்ளது என்பதை அறிய பின்வரும் கட்டளை பயன்படுகிறது.

sudo systemctl status jenkins

மேற்கண்ட கட்டளை active என்று வெளிப்படுத்தினால் இதற்கான சர்வர் பின்வரும் முகவரியில் இயங்கிக் கொண்டிருக்கும்.

localhost:8080/login

முதன்முதலில் இதற்குள் நுழைவதற்குத் தேவையான சான்றுகளை எவ்வாறு பெறுவது என்பது பற்றி பின்வரும் இணைப்பில் விளக்கமாக காணலாம்.

www.digitalocean.com/community/tutorials/how-to-install-jenkins-on-ubuntu-18-04

பின் நமக்கான பயனர்பெயர் மற்றும் கடவுச்சொல்லைப் பயன்படுத்தி உள்நுழைந்து கொள்ளலாம்.

இப்போது நமக்கான price_prediction எனும் பெயர்கொண்ட ஒரு ப்ராஜெக்டை உருவாக்க New Item எனும் இணைப்பின் மீது சொடுக்கி, பெயர் அளித்து Freestyle Project என்பதை தேர்வு செய்து OK எனும் பொத்தானின் மீது சொடுக்கவும்.


நமக்கான ப்ராஜெக்ட் உருவாக்கப்பட்ட பின் அதில் பின்வரும் ஆறு பகுதிகள் இருப்பதைக் காணலாம்.

General
Source Code Management
Build Triggers
Build Environment
Build
Post-build Actions



இவற்றில் மூல நிரல் மேலாண்மைக்கான பகுதியில் சென்று Git என்பதை தேர்வு செய்து நாம் உருவாக்கிய கிட் சர்வரின் முகவரியைக் கொடுக்கவும்.

அடுத்து அப்ளிகேஷனை எவ்வாறு நிறுவ வேண்டும் என்பதற்கான கட்டளைகளை ஒன்றன்பின் ஒன்றாக Build எனும் பகுதியில் நாம் குறிப்பிட வேண்டும்.

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

rm -rf ./*
git clone https://github.com/nithyadurai87/devops_examples
cd devops_examples/real_time
docker build -t prediction:${BUILD_NUMBER} .

இவற்றை அளித்தபின் Save-ன் மீது சொடுக்கவும். இப்போது நமது அப்ளிகேஷனுக்கான டாக்டர் இமேஜை உருவாக்கக்கூடிய ஜென்கின்ஸ் ப்ராஜெக்ட் அமைக்கப்பட்டு விட்டது. இதைத்தொடர்ந்து இடது பகுதியில் உள்ள Build Now இணைப்பின் மீது சொடுக்கவும்.

கொடுக்கப்பட்ட கட்டளைகளின் படி இமேஜை உருவாக்கும் வேலையை இது செய்யத் தொடங்கிவிடும். Build History –ல் உள்ள #1 என்பது இதனுடைய ரன் எண் ஆகும். அதாவது முதல் முறையாக இதற்கான இமேஜை பில்டு செய்து கொண்டிருக்கிறது என்று அர்த்தம்.

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

கன்சோலின் கடைசியில் சக்சஸ் என வெளிப்பட்டுள்ளது இமேஜ் வெற்றிகரமாக உருவாக்கப்பட்டுள்ளதை உணர்த்துகிறது. நாம் பில்டு பகுதியில் குறிப்பிட்டுள்ளது prediction:${BUILD_NUMBER} போலவே prediction:1 எனும் இமேஜ் உருவாக்கப்பட்டது. இதனை டெர்மினலில் சோதித்துப் பார்ப்பது பின்வருமாறு.

$ sudo docker images -a

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

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

%d bloggers like this: