2016-03-02 15 views
7


का उपयोग करके ग्रेडल बिल्ड के लिए बिल्ड पाइपलाइन उत्पन्न करता है, मैं ग्रैडल कार्यों के आधार पर एक बिल्ड पाइपलाइन बनाने की कोशिश कर रहा हूं। मैंने जेनकिन्सफाइल कॉन्फ़िगरेशन Pipeline-as-code-demo देखा है लेकिन मैं धीरे-धीरे कार्यों के लिए पाइपलाइन बनाने में असमर्थ हूं। कृपया मुझे एक संभावित तरीका सुझाएं ताकि मैं जेनकिन्सफाइल से कॉन्फ़िगरेशन पढ़कर स्वचालित रूप से बिल्ड पाइपलाइन को दिखाने के लिए जेनकिन्सफाइल का उपयोग कर सकूं।
धन्यवादऑटो जेनकिन्सफाइल

उत्तर

15

यदि आप अपनी बिल्ड निर्भरताओं को हल करने या अपने निर्माण कलाकृतियों को तैनात करने के लिए आर्टिफैक्टरी का उपयोग कर रहे हैं, तो Gradle build with Artifactory के लिए पाइपलाइन डीएसएल का उपयोग करने की अनुशंसा की जाती है।

node { 
    // Get Artifactory server instance, defined in the Artifactory Plugin administration page. 
    def server = Artifactory.server "SERVER_ID" 
    // Create an Artifactory Gradle instance. 
    def rtGradle = Artifactory.newGradleBuild() 

    stage 'Clone sources' 
     git url: 'https://github.com/jfrogdev/project-examples.git' 

    stage 'Artifactory configuration' 
     // Tool name from Jenkins configuration 
     rtGradle.tool = "Gradle-2.4" 
     // Set Artifactory repositories for dependencies resolution and artifacts deployment. 
     rtGradle.deployer repo:'ext-release-local', server: server 
     rtGradle.resolver repo:'remote-repos', server: server 

    stage 'Gradle build' 
     def buildInfo = rtGradle.run rootDir: "gradle-examples/4/gradle-example-ci-server/", buildFile: 'build.gradle', tasks: 'clean artifactoryPublish' 

    stage 'Publish build info' 
     server.publishBuildInfo buildInfo 
} 

अन्यथा, आप बस या बल्ले पाइपलाइन चरणों के साथ Gradle आदेश चला सकते हैं:

यहाँ एक उदाहरण Jenkins Pipeline Examples पेज से लिया है।

5

जेनकींस में आप जेनकिन्सफाइल में लिखी गई एक स्क्रिप्ट का उपयोग करके जेनकींस पाइपलाइन बना सकते हैं।

हम बिल्डिंग ब्लॉक के रूप में 'चरणों' और 'नोड' का उपयोग करके एक स्क्रिप्ट लिखते हैं, ये बिल्डिंग ब्लॉक आपको निर्देश निर्दिष्ट करने की अनुमति देते हैं जिन्हें जेनकींस पाइपलाइन के हिस्से के रूप में निष्पादित किया जाना चाहिए। ऊपर कोड स्निपेट


Jenkinsfile

stage 'build_Project' 
node{ 
    if(isUnix()){ 
    sh 'gradle build --info' 

    } 
    else{ 
    bat 'gradle build --info' 
    } 
} 

एक मंच बनाने के लिए:

का उपयोग कर JenkinsFile पहले ऑपरेटिंग सिस्टम के लिए जाँच और उचित खोल कि कि Gradle कार्य निष्पादित कर सकते हैं, जैसा कि नीचे फोन Gradle निर्माण पर अमल करने के लिए नाम build_project के साथ और वर्तमान प्रोजेक्ट की ग्रेड बिल्ड बिल्ड स्क्रिप्ट निष्पादित करें।

5

मामले में अपनी परियोजना का उपयोग करता Gradle Wrapper आप अपने Jenkinsfile में निम्नलिखित स्निपेट का उपयोग कर सकते हैं:

stage('Gradle Build') { 
    if (isUnix()) { 
     sh './gradlew clean build' 
    } else { 
     bat 'gradlew.bat clean build' 
    } 
} 

आप sub-dir उपनिर्देशिका चेकआउट यदि आप

stage('Gradle Build') { 
    if (isUnix()) { 
     dir('sub-dir') {sh './gradlew clean build'} 
    } else { 
     dir('sub-dir') {bat 'gradlew.bat clean build'} 
    } 
} 
+0

यह मेरे लिए काम किया है का उपयोग करना चाहते हो सकता है। आपका बहुत बहुत धन्यवाद... –

संबंधित मुद्दे