DevOps म्हणजे काय? नवशिक्यांसाठी मार्गदर्शक
Read this guide in: English · मराठी · हिंदी
आपण रोज मोबाईलवर वेगवेगळी ॲप्स वापरतो. कधी नवीन बटण दिसतं, कधी एखादी सुविधा सुरू होते, तर कधी आधी येणारी अडचण दूर झालेली असते. हे बदल आपल्या ॲपपर्यंत कसे पोहोचतात? कोणीतरी कोड लिहितं, तो तपासला जातो आणि मग वापरकर्त्यांना उपलब्ध करून दिला जातो. पण एवढं काम एका व्यक्तीचं नसतं. त्यासाठी अनेक लोकांना मिळून काम करावं लागतं. हे काम नीट, कमी चुका होऊन आणि वारंवार करता यावं, यासाठी DevOps ही काम करण्याची पद्धत उपयोगी पडते.
आधी हे काम करणाऱ्या दोन टीम समजून घेऊया.
Language: English · मराठी · हिंदी
Developers write code; operations (server-side) runs servers. DevOps joins them in one loop: plan → code → build → deploy → operate, then feedback.
Before: developer and operations throw work over a wall. After DevOps: one shared path with Git, CI, Docker and a known deploy.
DevOps म्हणजे काय? अगदी सोप्या मराठीत समजून घेऊया
आपण रोज मोबाईलवर वेगवेगळी ॲप्स वापरतो. कधी नवीन बटण दिसतं, कधी एखादी सुविधा सुरू होते, तर कधी आधी येणारी अडचण दूर झालेली असते.
हे बदल आपल्या ॲपपर्यंत कसे पोहोचतात?
कोणीतरी कोड लिहितं, तो तपासला जातो आणि मग वापरकर्त्यांना उपलब्ध करून दिला जातो. पण एवढं काम एका व्यक्तीचं नसतं. त्यासाठी अनेक लोकांना मिळून काम करावं लागतं.
हे काम नीट, कमी चुका होऊन आणि वारंवार करता यावं, यासाठी DevOps ही काम करण्याची पद्धत उपयोगी पडते.
आधी हे काम करणाऱ्या दोन टीम समजून घेऊया.
१. Developer म्हणजे कोण?
Developer म्हणजे सॉफ्टवेअर किंवा ॲप तयार करण्यासाठी कोड लिहिणारी व्यक्ती.
समजा, तुम्ही ऑनलाइन खरेदीसाठी एक ॲप बनवत आहात. त्यात पुढील सुविधा हव्या आहेत:
- नवीन खातं तयार करणं.
- वस्तू शोधणं.
- वस्तू कार्टमध्ये टाकणं.
- ऑनलाइन पैसे भरणं.
- ऑर्डर कुठपर्यंत आली आहे ते पाहणं.
या सुविधा तयार करण्याचं काम Developers करतात. एखादं बटण चालत नसेल किंवा चुकीची माहिती दिसत असेल, तर कोडमधली ती चूकही दुरुस्त करतात. अशा चुकीला Bug म्हणतात.
पण कोड लिहिला म्हणजे काम पूर्ण झालं का?
अजून नाही. तो ॲप लोकांना वापरता आला पाहिजे.
२. Operations म्हणजे काय?
ॲप चालवण्यासाठी लागणारे सर्व्हर आणि इतर व्यवस्था सांभाळणाऱ्या टीमला Operations टीम म्हणतात.
सर्व्हर म्हणजे ॲप चालवणारा आणि वापरकर्त्यांच्या विनंतीला उत्तर देणारा संगणक. उदाहरणार्थ, तुम्ही वेबसाइट उघडता तेव्हा तिची माहिती तुमच्या ब्राउझरपर्यंत पोहोचवण्यासाठी सर्व्हर काम करतो.
Operations टीम साधारणपणे अशी कामं करते:
- सर्व्हर तयार करणं आणि त्यावर आवश्यक सॉफ्टवेअर बसवणं.
- ॲपची नवीन आवृत्ती सर्व्हरवर चालू करणं.
- ॲप व्यवस्थित चालतंय का ते पाहणं.
- सर्व्हरची जागा, मेमरी आणि इतर साधनांचा वापर तपासणं.
- अडचण आल्यास तिचं कारण शोधणं.
- महत्त्वाच्या माहितीचा बॅकअप ठेवणं आणि तो वापरून माहिती परत मिळते का हे तपासणं.
कामाची विभागणी प्रत्येक कंपनीत सारखीच असेल असं नाही. लहान कंपनीत एकच व्यक्ती यातली अनेक कामं करू शकते.
३. मग अडचण नेमकी कुठे येते?
समजा, Developer ने नवीन सुविधा तयार केली. त्याच्या लॅपटॉपवर ती व्यवस्थित चालते. तो Operations टीमला फाइल्स देतो आणि म्हणतो:
“माझ्याकडचं काम झालंय. आता हे सर्व्हरवर टाका.”
Operations टीम ते सर्व्हरवर चालू करते. पण तिथे काहीतरी चूक होते.
Developer म्हणतो:
“अरे, माझ्या लॅपटॉपवर तर व्यवस्थित चालत होतं!”
Operations टीम म्हणते:
“तुम्ही दिलेल्याच फाइल्स आम्ही वापरल्या. मग अडचण कुठे आहे?”
आता खरी अडचण शोधण्याआधीच चर्चा सुरू होते की चूक कोणाची आहे.
असं का घडू शकतं?
- लॅपटॉप आणि सर्व्हरवर सॉफ्टवेअरच्या वेगवेगळ्या आवृत्त्या असतात.
- एखादी आवश्यक फाइल राहून जाते.
- सर्व्हरवरील सेटिंग चुकीची असते.
- नवीन कोडऐवजी जुना कोड चुकून वापरला जातो.
- बदल करण्याआधी पुरेशी चाचणी झालेली नसते.
म्हणजे अडचण फक्त माणसांची नसते. एकत्र काम करण्याची स्पष्ट पद्धत नसणं, हेही मोठं कारण असतं.
४. DevOps म्हणजे नेमकं काय?
DevOps हा शब्द Development आणि Operations या दोन शब्दांमधून तयार झाला आहे.
सॉफ्टवेअर बनवणाऱ्या आणि ते चालू ठेवणाऱ्या लोकांनी एकत्र काम करून, बदल तपासून आणि ठरलेल्या पद्धतीने वापरकर्त्यांपर्यंत पोहोचवणं म्हणजे DevOps.
यात तीन गोष्टी विशेष महत्त्वाच्या आहेत:
- एकत्रित जबाबदारी: ॲप नीट चालण्याची काळजी सगळ्यांनी घ्यायची.
- ठरलेली कामाची पद्धत: कोणता बदल, कोणत्या चाचण्या आणि कोणत्या टप्प्यांमधून पुढे जाईल हे स्पष्ट असायचं.
- Automation: वारंवार करावी लागणारी कामं शक्य तिथे संगणकाकडून करून घ्यायची.
उदाहरणार्थ, प्रत्येक वेळी कोणीतरी आठवण करून दिल्यावर चाचण्या चालवण्याऐवजी, नवीन कोड आला की त्या आपोआप चालतील अशी व्यवस्था करता येते.
DevOps स्वीकारण्यासाठी दोन्ही टीमची नावं बदलण्याची गरज नाही. त्यांच्या कामातला समन्वय सुधारणं महत्त्वाचं आहे.
५. Instagram सारख्या ॲपचं उदाहरण घेऊया
समजा, आपण Instagram सारखं एक ॲप बनवत आहोत. प्रोफाइलवर एक नवीन बॅज दाखवायचा आहे.
Developer सोमवारपर्यंत कोड तयार करतो. त्याच्या लॅपटॉपवर बॅज दिसतो. तो फाइल्स Operations टीमला देतो.
बुधवारी त्या फाइल्स सर्व्हरवर टाकल्या जातात. पण सर्व्हरवर एका आवश्यक सॉफ्टवेअरची जुनी आवृत्ती असते. त्यामुळे वापरकर्त्यांचं प्रोफाइल पान उघडत नाही.
आता शोध सुरू होतो:
“नेमक्या कोणत्या फाइल्स वापरल्या?”
“आधीची चालणारी आवृत्ती कुठे आहे?”
“हा बदल कोणी तपासला होता?”
DevOps पद्धतीत याच कामासाठी अधिक व्यवस्थित मार्ग तयार करता येतो:
- बदलाचा कोड Git मध्ये नोंदवला जातो.
- दुसरी व्यक्ती तो बदल तपासते.
- ठरवलेल्या चाचण्या आपोआप चालतात.
- ॲपचं पॅकेज तयार होतं.
- आधी चाचणीच्या वातावरणात ते चालवून पाहतात.
- आवश्यक मंजुरीनंतर वापरकर्त्यांसाठी ते चालू करतात.
- बदलानंतर ॲपची स्थिती तपासतात.
तरीही अडचण आली, तर मागची व्यवस्थित चालणारी आवृत्ती परत आणण्याची तयारी ठेवतात. याला Rollback म्हणतात. डेटाबेसमध्ये बदल झाले असतील, तर त्यासाठी वेगळं नियोजनही लागू शकतं.
हे समजण्यासाठी घेतलेलं काल्पनिक उदाहरण आहे; Instagram ची प्रत्यक्ष अंतर्गत प्रक्रिया वेगळी असू शकते.
६. Netflix सारख्या ॲपला हे का उपयोगी पडेल?
समजा, आपण व्हिडिओ पाहण्यासाठी एक मोठं ॲप चालवत आहोत.
त्यात सतत काही ना काही बदल करावे लागतात. शोध सुधारायचा असतो, नवीन विभाग दाखवायचा असतो किंवा व्हिडिओ सुरू होण्यातली अडचण दूर करायची असते.
प्रत्येक बदलासाठी सर्व्हरवर हाताने फाइल्स टाकायच्या असतील, तर वेळ लागतो आणि एखादा टप्पा चुकू शकतो.
त्याऐवजी ठरलेली स्वयंचलित प्रक्रिया असेल, तर प्रत्येक बदलावर आवश्यक चाचण्या करता येतात आणि तो नियोजित पद्धतीने पुढे नेता येतो.
छोटा बदल केला, तर काय बदललं आणि अडचण कुठून आली हे शोधणंही तुलनेने सोपं होतं.
मात्र प्रक्रिया स्वयंचलित आहे म्हणून चूक होणारच नाही असं नाही. योग्य चाचण्या आणि बदलानंतर लक्ष ठेवणं तितकंच गरजेचं आहे.
७. Infosys सारख्या कंपनीत क्लायंटच्या प्रोजेक्टवर काम करताना काय होतं?
समजा, तुम्ही एखाद्या आयटी सेवा कंपनीत बँकेच्या प्रोजेक्टवर काम करता.
तुमची टीम कोड लिहिते. पण तो चालवणारे सर्व्हर क्लायंटची दुसरी टीम सांभाळते.
कोड पुढील वेगवेगळ्या ठिकाणी चालू शकतो:
- Development: कोड तयार करण्याची आणि सुरुवातीला तपासण्याची जागा.
- Testing / UAT: तयार केलेली सुविधा अपेक्षेप्रमाणे काम करते का हे तपासण्याची जागा. UAT मध्ये क्लायंट किंवा संबंधित व्यावसायिक वापरकर्ते तपासणी करतात.
- Production: खरे ग्राहक वापरत असलेली चालू व्यवस्था.
या ठिकाणांच्या सेटिंग वेगळ्या असू शकतात. म्हणून लॅपटॉपवर चालणारा कोड बाकी ठिकाणीही व्यवस्थित चालतोय का, हे तपासावं लागतं.
DevOps मुळे कोडची आवृत्ती, आवश्यक सेटिंग, चाचण्या आणि मंजुरी यांची नोंद ठेवून पुढे जाणं सोपं होतं.
८. DevOps मध्ये कामाचे टप्पे कोणते?
Plan — काय करायचं ते ठरवा
वापरकर्त्याला काय हवंय आणि या बदलातून काय साध्य करायचं, ते आधी स्पष्ट करा.
उदाहरणार्थ, “पासवर्ड विसरल्यास तो बदलता यावा.”
Code — आवश्यक कोड लिहा
Developer कोड लिहितो आणि Git मध्ये बदलांची नोंद ठेवतो.
Git मधील Commit म्हणजे निवडलेल्या बदलांची जतन केलेली नोंद. फाइल फक्त Save केली म्हणजे आपोआप Commit होत नाही.
Build — चालवण्यासाठी आवश्यक स्वरूप तयार करा
प्रोजेक्टनुसार कोडपासून चालवता किंवा वितरित करता येईल अशी आवृत्ती तयार केली जाते. या प्रक्रियेला Build म्हणतात.
Test — बदल तपासा
नवीन सुविधा चालतेय का आणि तिच्यामुळे आधीच्या सुविधा बिघडल्या नाहीत ना, हे तपासा.
पासवर्ड बदलण्याची सुविधा केली असेल, तर योग्य लिंक चालते का आणि चुकीची किंवा मुदत संपलेली लिंक नाकारली जाते का, हेही पाहा.
Release आणि Deploy — आवृत्ती तयार ठेवा आणि चालू करा
Release म्हणजे वापरासाठी तयार केलेली आवृत्ती. Deploy म्हणजे ती ठरलेल्या वातावरणात चालू करण्याची प्रक्रिया.
काही ठिकाणी Deploy केल्यानंतरही नवीन सुविधा सर्व वापरकर्त्यांना लगेच दिसेलच असं नाही.
Operate आणि Monitor — चालू ॲपची काळजी घ्या
वेबसाइट उघडतेय का, उत्तर मिळायला वेळ लागतोय का आणि चुका वाढल्या आहेत का, यावर लक्ष ठेवा.
Feedback — जे समजलं त्यावरून पुढचा बदल करा
वापरकर्त्यांचा अनुभव आणि ॲपमधून मिळालेली माहिती वापरून पुढचं काम ठरवा.
९. CI/CD म्हणजे काय?
हे शब्द सुरुवातीला अवघड वाटतात, पण त्यामागची कल्पना सोपी आहे.
CI — Continuous Integration
Developer चे बदल नियमितपणे सामायिक कोडमध्ये एकत्र केले जातात. त्यावेळी स्वयंचलित Build आणि चाचण्यांच्या मदतीने अडचणी लवकर शोधल्या जातात.
उदाहरणार्थ, नवीन बदलामुळे Login बंद पडलं असेल, तर संबंधित चाचणीमुळे ते वापरकर्त्यांपर्यंत जाण्याआधी लक्षात येऊ शकतं.
CD — Continuous Delivery किंवा Continuous Deployment
या दोन संज्ञांमध्ये थोडा फरक आहे:
- Continuous Delivery: चाचण्या झालेला बदल रिलीज करण्यासाठी तयार ठेवला जातो. Production वर पाठवण्यासाठी माणसाची मंजुरी असू शकते.
- Continuous Deployment: ठरवलेल्या सर्व चाचण्या आणि अटी पूर्ण करणारा बदल स्वतंत्र मानवी मंजुरीशिवाय Production वर पाठवला जातो.
या सगळ्या टप्प्यांची जोडलेली प्रक्रिया म्हणजे Pipeline.
१०. कोणतं साधन कशासाठी वापरतात?
| साधन | सोप्या भाषेत उपयोग |
|---|---|
| Git | कोडमध्ये कोणी, कधी आणि काय बदललं याची नोंद ठेवण्यासाठी. |
| GitHub | Git मधला कोड एकत्र ठेवण्यासाठी आणि टीममध्ये त्यावर चर्चा व तपासणी करण्यासाठी. |
| Docker | ॲप आणि त्याला लागणाऱ्या अनेक गोष्टी एकत्र पॅक करून चालवण्यासाठी. त्यामुळे वेगवेगळ्या ठिकाणांमधले काही फरक कमी करता येतात. |
| Docker Compose | ॲप आणि डेटाबेससारखे अनेक Containers एकत्र चालवण्याची रचना लिहिण्यासाठी. |
| GitHub Actions / Jenkins | Build, चाचण्या आणि Deploy यांसारखी कामं स्वयंचलित करण्यासाठी. |
| Ansible | सर्व्हरवर सॉफ्टवेअर आणि सेटिंग ठरल्याप्रमाणे ठेवण्यासाठी. |
| Terraform | सर्व्हर, नेटवर्क यांसारखी पायाभूत व्यवस्था कोडमध्ये लिहून तयार व व्यवस्थापित करण्यासाठी. |
Docker वापरलं तरी नेटवर्क, बाहेरचा डेटाबेस, परवानग्या किंवा सेटिंगमुळे अडचणी येऊ शकतात. त्यामुळे चाचणी करणं आवश्यकच आहे.
११. नवशिक्यांनी कुठून सुरुवात करावी?
एकदम सगळ्या साधनांच्या मागे लागू नका. आधी एक छोटं ॲप चालवण्याची पूर्ण प्रक्रिया समजून घ्या.
सुरुवातीसाठी हा क्रम वापरता येईल:
- Linux आणि Terminal: फाइल्स, फोल्डर्स, परवानग्या आणि साध्या Commands.
- नेटवर्कची मूलभूत माहिती: IP Address, DNS, Port आणि HTTP/HTTPS.
- Git: Commit, Branch, Merge आणि बदलांचा इतिहास.
- एखादं छोटं ॲप: ते चालू कसं करायचं आणि त्याचे Logs कसे पाहायचे.
- Docker: त्या ॲपचं Image बनवून Container चालवणं.
- एक CI/CD साधन: कोड बदलल्यावर चाचण्या आपोआप चालवणं.
- सर्व्हर किंवा Cloud: ॲप Deploy करणं आणि त्याची स्थिती तपासणं.
त्यानंतर गरजेनुसार Ansible, Terraform आणि Kubernetes शिकता येतील.
१२. सरावासाठी छोटा प्रोजेक्ट
एक साधी वेबसाइट घ्या आणि पुढील कामं करा:
- वेबसाइटचा कोड Git मध्ये ठेवा.
- छोटा बदल करून Commit करा.
- त्या बदलाची तपासणी करा.
- Docker वापरून वेबसाइट चालवा.
- Pipeline मधून ठरवलेली तपासणी चालवा.
- चाचणीच्या सर्व्हरवर वेबसाइटची नवीन आवृत्ती चालू करा.
- अडचण आल्यास Logs पाहा आणि आधीची आवृत्ती पुन्हा चालवून पाहा.
प्रत्येक टप्प्यावर स्वतःला विचारा: “हे काम आपण का करतोय? यातून कोणती अडचण सुटते?”
या प्रश्नाचं उत्तर कळलं, की साधनं शिकणं अधिक सोपं होतं.
१३. नेहमी विचारले जाणारे प्रश्न
DevOps म्हणजे फक्त Jenkins किंवा Docker शिकणं का?
नाही. ही साधनं काम सोपं करतात. DevOps मध्ये एकत्र काम करणं, चाचण्या, Automation आणि चालू ॲपची जबाबदारी घेणं या सगळ्यांचा समावेश होतो.
DevOps साठी Coding लागतं का?
साध्या Scripts लिहिता येणं आणि ॲप कसं चालतं हे समजणं उपयोगी असतं. सुरुवातीला Bash किंवा Python मधून छोटी कामं स्वयंचलित करता येतील. नेमकी किती Coding लागेल हे भूमिकेनुसार बदलतं.
पहिल्याच दिवशी Kubernetes शिकावं का?
आधी Linux, Git, Docker आणि साधी Pipeline समजून घ्या. त्यांचा सराव झाल्यावर Kubernetes समजणं सोपं जाईल.
AWS आणि DevOps एकच आहेत का?
नाही. AWS हे Cloud सेवा देणारं व्यासपीठ आहे. DevOps ही काम करण्याची पद्धत आहे. ती AWS, इतर Cloud सेवा किंवा स्वतःच्या सर्व्हरवरही वापरता येते.
Agile आणि DevOps यांचा संबंध काय?
Agile मध्ये छोट्या टप्प्यांत काम करणं आणि अभिप्रायानुसार सुधारणा करणं महत्त्वाचं असतं. DevOps मध्ये कोडपासून तो प्रत्यक्ष चालवण्यापर्यंतची प्रक्रिया आणि टीममधला समन्वय सुधारण्यावर भर असतो. दोन्ही पद्धती एकमेकांना पूरक आहेत.
मुलाखतीत DevOps कसं समजावून सांगावं?
असं सांगू शकता:
“DevOps ही सॉफ्टवेअर बनवणाऱ्या आणि ते चालवणाऱ्या टीमने एकत्र काम करण्याची पद्धत आहे. यात कोडची नोंद, स्वयंचलित चाचण्या, ठरलेली Deploy प्रक्रिया आणि ॲपवर लक्ष ठेवणं यांचा वापर होतो. त्यामुळे बदल अधिक विश्वासाने वापरकर्त्यांपर्यंत पोहोचवता येतात.”
त्यानंतर तुम्ही स्वतः केलेल्या छोट्या प्रोजेक्टचं उदाहरण द्या. कोणती अडचण आली, ती कशी शोधली आणि काय सुधारलं हे तुमच्या शब्दांत सांगा.
Frequently asked questions
What does DevOps mean?
DevOps joins developers and operations (the server-side employee/team) so shipping uses one loop: plan, code, build, test, deploy and feedback — like Instagram-style updates, Netflix frequent releases, or an Infosys client project.
Is DevOps only tools?
No. Tools help, but culture and process matter: small changes, automation, and shared ownership of failures.
Do I need Kubernetes on day one?
No. Beginners start with Git, Linux basics, Docker and one CI tool. Kubernetes comes later.
How is DevOps different from Agile?
Agile improves how you plan and deliver work in iterations. DevOps extends that into build, release and operations with automation.
What should I learn first?
Git and the terminal, then Docker, then a simple GitHub Actions or Jenkins pipeline.
Where does AWS fit?
AWS (or any cloud) is where many apps run. DevOps skills deploy and operate those apps reliably.
सराव Tasks
समजा आपण Atlassian (developer software कंपनी) च्या DevOps team मध्ये सिडनी मधून काम करतो. Liam O'Connor team lead आहेत आणि आपण issue tracker webhook service सांभाळतो. खर्च AUD मध्ये मोजला जातो. खालच्या tasks मध्ये या lesson मध्ये शिकलेलं वापरून आपण या project वर खरी DevOps कामं करतो. Atlassian ही खरी कंपनी आहे, पण हा project, लोक, servers, IP addresses व numbers सरावासाठी काल्पनिक आहेत.
0 / 12
सोपं Practice ओळखा
का: नावं माहीत असल्यास interviews व design चर्चेत उपयोग.
काय करायचं: Atlassian मध्ये प्रत्येक developer दिवसातून अनेकदा लहान बदल main मध्ये merge करतो, आणि प्रत्येक merge आपोआप build व test होतो. या practice ला काय म्हणतात (दोन अक्षरी short form)?
- Task मधली माहिती किंवा numbers लिहून घ्या.
- Step by step विचार करा.
- Box मध्ये फक्त final उत्तर (एक शब्द किंवा number) लिहा.
- Check answer दाबा.
सोपं सर्व files details सह दाखवा
का: Hidden files (उदा. .env), sizes व owners योग्य options नेच दिसतात.
काय करायचं: /var/www/atlassian मधल्या hidden files सह सगळ्या files ची long listing दाखवा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- Check answer दाबा.
सोपं User कोणत्या port ला जातो?
का: Host व container ports चा गोंधळ ही सर्वात सामान्य docker चूक.
काय करायचं: Container -p 8443:3000 ने सुरू केला. Host वर browser मध्ये कोणता port उघडाल?
- Task मधली माहिती किंवा numbers लिहून घ्या.
- Step by step विचार करा.
- Box मध्ये फक्त final उत्तर (एक शब्द किंवा number) लिहा.
- Check answer दाबा.
सोपं सगळे बदल stage करा
का: पहिल्या commit आधी सहसा सगळ्या नवीन files हव्या असतात.
काय करायचं: सध्याच्या folder मधल्या व खालच्या सगळ्या नवीन व बदललेल्या files stage करा.
- Task वाचा आणि कोणतं tool लागेल ते ठरवा (git, docker, kubectl, terraform, ansible...).
- आधी tool चं नाव, मग sub-command (action शब्द) लिहा.
- Task ला लागणारे flags व त्यांची value जोडा.
- शेवटी नावं, files किंवा paths लिहा आणि Check answer दाबा.
सोपं एक file stage करा
का: फक्त staged बदल पुढच्या commit मध्ये जातात.
काय करायचं: पुढच्या commit साठी फक्त Dockerfile ही file stage करा.
- Task वाचा आणि कोणतं tool लागेल ते ठरवा (git, docker, kubectl, terraform, ansible...).
- आधी tool चं नाव, मग sub-command (action शब्द) लिहा.
- Task ला लागणारे flags व त्यांची value जोडा.
- शेवटी नावं, files किंवा paths लिहा आणि Check answer दाबा.
सोपं Repository clone करा
का: Clone केल्याने पूर्ण project व history तुमच्या machine वर येते.
काय करायचं: https://github.com/atlassian/atlassian-issue-tracker-webhook.git ही repository या machine वर घ्या.
- Task वाचा आणि कोणतं tool लागेल ते ठरवा (git, docker, kubectl, terraform, ansible...).
- आधी tool चं नाव, मग sub-command (action शब्द) लिहा.
- Task ला लागणारे flags व त्यांची value जोडा.
- शेवटी नावं, files किंवा paths लिहा आणि Check answer दाबा.
सोपं Message सह commit करा
का: स्पष्ट message मुळे team ला बदल का केला ते समजतं.
काय करायचं: Staged बदल "Add health check to issue-tracker-webhook" या message सह commit करा.
- Task वाचा आणि कोणतं tool लागेल ते ठरवा (git, docker, kubectl, terraform, ansible...).
- आधी tool चं नाव, मग sub-command (action शब्द) लिहा.
- Task ला लागणारे flags व त्यांची value जोडा.
- शेवटी नावं, files किंवा paths लिहा आणि Check answer दाबा.
मध्यम Delivery की deployment?
का: दोन शब्द automation चे वेगळे स्तर सांगतात.
काय करायचं: Atlassian मध्ये tests pass झालेला प्रत्येक बदल कोणत्याही मंजुरीशिवाय आपोआप production ला जातो. हे continuous delivery की continuous deployment? एक शब्द लिहा.
- Task मधली माहिती किंवा numbers लिहून घ्या.
- Step by step विचार करा.
- Box मध्ये फक्त final उत्तर (एक शब्द किंवा number) लिहा.
- Check answer दाबा.
मध्यम Docker agent मध्ये build
का: Docker agent प्रत्येक build ला स्वच्छ, versioned toolchain देतो.
काय करायचं: agent docker { image 'maven:3.9-eclipse-temurin-21' } असलेली declarative pipeline, Build stage sh 'mvn -B verify'.
- pipeline { ने सुरू करा आणि शेवटी } ने बंद करा.
- agent, मग stages { } आणि प्रत्येक step साठी stage('Name') { steps { } } लिहा.
- steps मध्ये sh '...' वापरून commands लिहा.
- प्रत्येक block बंद झाला का ते { व } मोजून पाहा, मग Check answer दाबा.
अवघड Approach ओळखा
का: Argo CD सारखी GitOps tools K8s teams मध्ये सामान्य.
काय करायचं: Atlassian मध्ये cluster मधलं एक tool Git repo मधून manifests ओढत राहतं आणि cluster तसा ठेवतं. या approach चं नाव (एक शब्द)?
- Task मधली माहिती किंवा numbers लिहून घ्या.
- Step by step विचार करा.
- Box मध्ये फक्त final उत्तर (एक शब्द किंवा number) लिहा.
- Check answer दाबा.
अवघड CI मधून image build व push
का: main ला प्रत्येक merge नंतर registry मध्ये नवीन image.
काय करायचं: main ला push वर workflow. ubuntu-latest वर image job. Steps: actions/checkout@v4; docker/login-action@v3 (registry ghcr.io, username ${{ github.actor }}, password ${{ secrets.GITHUB_TOKEN }}); docker/build-push-action@v6 (push true, tags ghcr.io/atlassian-issue-tracker-webhook:${{ github.sha }}).
- Task मधल्या top-level keys पासून सुरू करा.
- Child keys 2 spaces ने indent करा (tabs नकोत).
- List items साठी "- " वापरा आणि task मधली values भरा.
- Colons व spacing तपासा, मग Check answer दाबा.
अवघड Jenkins credentials सुरक्षित वापरा
का: withCredentials password लपवतो व block नंतर काढतो.
काय करायचं: Push stage च्या steps मध्ये withCredentials वापरा: usernamePassword(credentialsId: 'reg-cred', usernameVariable: 'U', passwordVariable: 'P') आणि sh 'echo $P | docker login -u $U --password-stdin registry.atlassian.example.com'. Agent any सह पूर्ण declarative pipeline.
- pipeline { ने सुरू करा आणि शेवटी } ने बंद करा.
- agent, मग stages { } आणि प्रत्येक step साठी stage('Name') { steps { } } लिहा.
- steps मध्ये sh '...' वापरून commands लिहा.
- प्रत्येक block बंद झाला का ते { व } मोजून पाहा, मग Check answer दाबा.