2016-03-02 10 views
7


Sto cercando di creare una pipeline di build basata sulle attività Gradle. Ho visto la configurazione JenkinsFile Pipeline-as-code-demo ma non riesco a creare una pipeline per le attività gradle. Per favore suggeriscimi un modo possibile in modo che io possa usare il Jenkinsfile per mostrare automaticamente la pipeline di costruzione semplicemente leggendo le configurazioni dal Jenkinsfile.
ThankyouGenerazione automatica di una pipeline di build per gradle build utilizzando Jenkinsfile

risposta

15

Se si utilizza Artifactory per risolvere le dipendenze di build o per distribuire le risorse utente di build, si consiglia di utilizzare il DSL Pipeline per Gradle build with Artifactory.

Ecco un esempio tratto dalla pagina Jenkins Pipeline Examples:

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 
} 

In caso contrario, si può semplicemente eseguire il comando Gradle con la sh o pipistrello passi Pipeline.

5

In jenkins è possibile creare una pipeline jenkins utilizzando uno script che è scritto in Jenkinsfile.

Scriviamo uno script utilizzando 'stadi' e 'nodo' come blocco predefinito, questi blocchi predefiniti consentono di specificare le istruzioni che devono essere eseguite come parte della pipeline di jenkins.

Per eseguire accumulo Gradle utilizzando JenkinsFile primo controllo per il sistema operativo e chiamare shell appropriato in grado di eseguire tale compito Gradle, come di seguito:


Jenkinsfile

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

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

Sopra frammento di codice crea una fase con nome build_project ed eseguire lo script gradle build del progetto corrente.

5

Nel caso in cui il progetto utilizza Gradle Wrapper è possibile utilizzare il seguente frammento nel Jenkinsfile:

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

Se si verifica a sotto directory sub-dir si potrebbe desiderare di utilizzare

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

Ha funzionato per me. Grazie mille... –

Problemi correlati