Jenkins के साथ Docker इमेज बनाना
कोड में बदलाव होने पर Docker इमेज को रजिस्ट्री में स्वचालित रूप से बनाने और भेजने के लिए Jenkins जॉब कॉन्फ़िगर करें।
Jenkins के साथ Docker इमेज बनाना, CoddyKit पर DevOps बूटकैंप का एक निःशुल्क पाठ है। यह 4 में से 2वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह DevOps बूटकैंप सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। DevOps बूटकैंप पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
Docker बिल्ड को स्वचालित करना
Docker इमेज को मैन्युअल रूप से बनाना धीमा, असंगत और त्रुटियों की संभावना वाला हो सकता है। टीम के वातावरण में या बार-बार कोड बदलाव होने पर यह विशेष रूप से सही है।
विश्वसनीय और कुशल सॉफ़्टवेयर डिलीवरी के लिए स्वचालन महत्वपूर्ण है। इस पाठ में हम सीखेंगे कि इमेज निर्माण और पुश को स्वचालित करने के लिए Jenkins को Docker के साथ कैसे एकीकृत करें।

Jenkins और Docker की पूर्वापेक्षाएँ
Jenkins द्वारा Docker इमेज बनाने के लिए उसका Docker डेमन के साथ संपर्क करना आवश्यक है। इसका अर्थ है कि जिस मशीन या एजेंट पर आपका Jenkins कार्य चलेगा, वहाँ Docker क्लाइंट स्थापित होना चाहिए।
आपको इनकी भी आवश्यकता होगी:
- चल रहा Jenkins सर्वर (पाठ 1 से)
- किसी Docker रजिस्ट्री तक पहुँच (जैसे Docker Hub)
- एक नमूना अनुप्रयोग और उसकी Dockerfile
Jenkins होस्ट पर Docker इंस्टॉल करना
Jenkins को Docker कमांड चलाने योग्य बनाने के लिए सुनिश्चित करें कि Jenkins सर्वर या एजेंट पर Docker इंस्टॉल और कॉन्फ़िगर किया गया है। Docker डेमॉन के साथ काम करने के लिए Jenkins उपयोगकर्ता को अक्सर अनुमतियों की आवश्यकता होती है।
Linux सिस्टम पर इसे सेट अप करने का एक तरीका इस प्रकार है:
sudo apt-get update
sudo apt-get install -y docker.io
sudo usermod -aG docker jenkins
sudo systemctl restart docker
sudo systemctl restart jenkinsरजिस्ट्री प्रमाण-पत्र सुरक्षित करना
Docker रजिस्ट्री पर इमेज भेजने के लिए Jenkins को प्रमाण-पत्रों की आवश्यकता होती है। इन्हें सीधे अपने Jenkinsfile या जॉब कॉन्फ़िगरेशन में रखने के बजाय सुरक्षित रूप से संग्रहित करना बहुत महत्वपूर्ण है।
Jenkins की अंतर्निहित प्रमाण-पत्र सुविधा इसके लिए बिल्कुल उपयुक्त है:
- Jenkins प्रबंधित करें > प्रमाण-पत्र प्रबंधित करें पर जाएँ।
- अपनी Docker रजिस्ट्री के लिए नया उपयोगकर्ता नाम और पासवर्ड प्रमाण-पत्र जोड़ें।
- इसे बाद में संदर्भित करने के लिए एक स्पष्ट ID दें, जैसे
dockerhub-credentials।
Flask अनुप्रयोग का नमूना
आइए, एक बहुत सरल Python Flask अनुप्रयोग का उपयोग करें। हम इसे app.py नाम वाली फ़ाइल में रखेंगे। यह एक साधारण 'Hello' संदेश दिखाएगा।
हमें अपनी Python निर्भरताएँ निर्दिष्ट करने के लिए requirements.txt फ़ाइल की भी आवश्यकता होगी।
# app.py
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello from CoddyKit!'
if __name__ == '__main__':
app.run(debug=True, host='0.0.0.0', port=5000)
# requirements.txt
Flask==2.0.2Dockerfile बनाना
अब हम Dockerfile का उपयोग करके अपनी Docker इमेज परिभाषित करेंगे। यह फ़ाइल Docker को बताएगी कि हमारे अनुप्रयोग की इमेज कैसे बनानी है।
इस Dockerfile को अपने app.py और requirements.txt वाली उसी निर्देशिका में रखें।
# Dockerfile
FROM python:3.9-slim-buster
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY app.py .
EXPOSE 5000
CMD ["python", "app.py"]Jenkins जॉब: निर्माण चरण
अब आइए, Jenkins Freestyle जॉब को कॉन्फ़िगर करें। निर्माण चरण अनुभाग में शेल चलाएँ चरण जोड़ें। यह कमांड आपकी Docker इमेज बनाएगी।
yourusername को अपने Docker Hub उपयोगकर्ता नाम या रजिस्ट्री पथ से बदलना याद रखें।
# In Jenkins 'Execute shell' build step:
docker build -t yourusername/coddykit-app:latest .Jenkins जॉब: लॉगिन और भेजने का चरण
इमेज बनाने के बाद, हमें इसे अपनी Docker रजिस्ट्री पर भेजना होगा। इसके लिए आमतौर पर लॉगिन करना आवश्यक होता है। हम पहले संग्रहित किए गए प्रमाण-पत्रों का उपयोग करेंगे।
एक और शेल चलाएँ चरण जोड़ें। सही ढंग से कॉन्फ़िगर किए जाने पर Jenkins प्रमाण-पत्रों को पर्यावरण चर के रूप में उपलब्ध कराएगा, जैसे DOCKER_USER और DOCKER_PASS।
# In Jenkins 'Execute shell' build step:
echo $DOCKER_PASS | docker login -u $DOCKER_USER --password-stdin
docker push yourusername/coddykit-app:latestनिर्माण ट्रिगर स्वचालित करना
CI/CD की शक्ति स्वचालन से आती है। Jenkins विभिन्न घटनाओं के आधार पर इन निर्माण और भेजने वाली जॉब को स्वचालित रूप से ट्रिगर कर सकता है:
- SCM पोलिंग: Jenkins नए कमिट के लिए समय-समय पर आपकी Git रिपॉज़िटरी की जाँच करता है।
- वेबहुक: आपका Git प्रदाता (GitHub, GitLab, Bitbucket) कोड भेजे जाने पर Jenkins को सूचना भेजता है।
- अपस्ट्रीम प्रोजेक्ट: किसी अन्य Jenkins जॉब के सफलतापूर्वक पूरा होने पर ट्रिगर होता है।
Jenkins जॉब का परीक्षण
निर्माण चरणों और ट्रिगर को कॉन्फ़िगर करने के बाद अपनी Jenkins जॉब सहेजें। इसका परीक्षण करने के लिए आप मैन्युअल रूप से निर्माण शुरू कर सकते हैं। Docker इमेज के सफल निर्माण और भेजे जाने के लिए कंसोल आउटपुट देखें।
सफल संचालन का अर्थ है कि आपका CI पाइपलाइन अब कोड में बदलाव होने पर स्वचालित रूप से नई Docker इमेज बना और संग्रहित कर सकता है!
त्वरित जाँच
आपने Docker इमेज बनाने और भेजने के लिए Jenkins जॉब सेट अप कर ली है। आपकी Git रिपॉज़िटरी में कोड के नए बदलाव हैं।
पुनरावलोकन: निर्माण और भेजना
बहुत अच्छा! इस पाठ में आपने सीखा कि:
- Docker के साथ काम करने के लिए अपना Jenkins वातावरण तैयार करना।
- Jenkins में Docker रजिस्ट्री के प्रमाण-पत्रों को सुरक्षित रूप से प्रबंधित करना।
- Dockerfile का उपयोग करके Docker इमेज बनाने के लिए Jenkins जॉब कॉन्फ़िगर करना।
- नई बनाई गई इमेज को Docker रजिस्ट्री पर भेजना।
- स्वचालित निर्माण ट्रिगर करने के विभिन्न तरीकों को समझना।
इन चरणों का स्वचालन सतत एकीकरण का मुख्य भाग है और सतत डिलीवरी के लिए आधार तैयार करता है!
एआई शिक्षक के साथ DevOps बूटकैंप सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 142
- पाठ
- 568
अक्सर पूछे जाने वाले प्रश्न
क्या “Jenkins के साथ Docker इमेज बनाना” पाठ निःशुल्क है?
हाँ — DevOps बूटकैंप अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “Jenkins के साथ Docker इमेज बनाना” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। DevOps बूटकैंप पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“Jenkins के साथ Docker इमेज बनाना” में मैं क्या सीखूँगा?
कोड में बदलाव होने पर Docker इमेज को रजिस्ट्री में स्वचालित रूप से बनाने और भेजने के लिए Jenkins जॉब कॉन्फ़िगर करें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ DevOps बूटकैंप का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या DevOps बूटकैंप शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर DevOps बूटकैंप शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 2वाँ पाठ है।
“Jenkins के साथ Docker इमेज बनाना” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस DevOps बूटकैंप पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर DevOps बूटकैंप पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- Jenkins का परिचय
- Jenkins के साथ Docker इमेज बनाना
- Jenkins के साथ स्वचालित परिनियोजन
- Jenkinsfile से कोड के रूप में Jenkins Pipeline