मैं जावा एप्लिकेशन पर काम कर रहा हूं जो ग्रैडल द्वारा बनाया गया है और जेनकींस में एकीकृत किया जाएगा।

एक पल के लिए ग्रैडल को अनदेखा करते हुए, कोई जेनकिंस (जैसे बिल्ड, टेस्ट, डिप्लॉय) में कई चरणों को स्थापित करेगा, जिन्हें बाद में चरण दर चरण निष्पादित किया जाता है और जीयूआई में भी दिखाया जाता है। ग्रैडल में मैं बहुत सारे पूर्वनिर्धारित कार्यों (जैसे बिल्ड और परीक्षण) प्राप्त करने के लिए जावा प्लगइन का उपयोग कर सकता हूं। चूंकि बिल्ड परीक्षण पर निर्भर करता है, मैं मूल रूप से हर बार बिल्ड निष्पादित करते समय एक पाइपलाइन (निर्भरता ग्राफ) चलाता हूं।

मुझे क्या भ्रमित करता है कि इस मामले में जेनकिंस और ग्रैडल एक साथ कैसे खेल रहे हैं। ग्रैडल में निर्भरता के कारण मेरी जेनकिंस पाइपलाइन एक ही चरण में (अधिक या कम) सिकुड़ जाती है और ग्रैडल में निष्पादित चरण जेनकिंस यूआई में छिपे होते हैं।

क्या यह चीजों को करने का "सामान्य" तरीका है? ग्रैडल में सभी बिल्ड लॉजिक होना (क्योंकि यह सब के बाद एक बिल्ड टूल है) और जेनकिंस केवल ट्रिगर्स के लिए है जो मुझे कार्यों को स्वचालित रूप से निष्पादित करने की अनुमति देता है?

2
Venturion 16 फरवरी 2021, 15:22

1 उत्तर

सबसे बढ़िया उत्तर

ग्रैडल के मामले में, यह संकलन निष्पादित करने, लक्ष्य बनाने के लिए एक ही कमांड है। यह मूल रूप से निर्माण प्रक्रिया करता है और अंत में अंत में जार/युद्ध फ़ाइल बनाता है। जेनकिंस के मामले में, आपको जेनकिंस चरणों का उपयोग करके पाइपलाइन प्रसंस्करण करने की आवश्यकता है। चरण हो सकते हैं compile कक्षाएं, test यूनिट परीक्षण मामलों को निष्पादित करने के लिए, code analysis सोनार का उपयोग करके, चेकमार्क्स का उपयोग करके सुरक्षा जांच आदि। निम्नलिखित स्निपेट आपको जेनकिंस पाइपलाइन में चरणों का एक विचार देगा।

stages {
        stage('Compile') {
            steps {
                gradlew('clean', 'classes')
            }
        }
        stage('Unit Tests') {
            steps {
                gradlew('test')
            }
            post {
                always {
                    junit '**/build/test-results/test/TEST-*.xml'
                }
            }
        }
....
.....

प्रवाह के बारे में अधिक विवरण जानने के लिए, नीचे दिए गए लिंक देखें।

https://bmuschko.com/blog/jenkins-build-pipeline/

https://docs.gradle.org/current/userguide/jenkins.html

3
Sambit 16 फरवरी 2021, 15:33