2016-03-02 26 views
7


Tôi đang cố gắng tạo một đường ống xây dựng dựa trên các nhiệm vụ Gradle. Tôi đã xem cấu hình của JenkinsFile Pipeline-as-code-demo nhưng tôi không thể tạo một đường ống cho các tác vụ được phân loại. Hãy gợi ý cho tôi một cách có thể để tôi có thể sử dụng Jenkinsfile để tự động hiển thị đường dẫn xây dựng chỉ bằng cách đọc các cấu hình từ Jenkinsfile.
ThankyouTự động tạo đường ống xây dựng để xây dựng gradle bằng cách sử dụng Jenkinsfile

Trả lời

15

Trong trường hợp bạn đang sử dụng Artifactory để giải quyết các phụ thuộc xây dựng của bạn hoặc để triển khai các tạo phẩm xây dựng, bạn nên sử dụng đường ống DSL cho Gradle build with Artifactory.

Dưới đây là một ví dụ lấy từ trang 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 
} 

Nếu không, bạn chỉ có thể chạy lệnh gradle với sh hoặc dơi bước đường ống.

5

Trong jenkins bạn có thể tạo đường ống jenkins bằng cách sử dụng tập lệnh được viết bằng Jenkinsfile.

Chúng tôi viết kịch bản sử dụng 'giai đoạn' và 'nút' làm khối xây dựng, các khối xây dựng này cho phép bạn chỉ định các hướng dẫn sẽ được thực hiện như một phần của đường ống jenkins.

Để thực hiện gradle xây dựng sử dụng JenkinsFile đầu tiên kiểm tra các hệ thống điều hành và gọi vỏ thích hợp mà có thể thực hiện nhiệm vụ đó gradle, như sau:


Jenkinsfile

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

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

Trên đoạn mã tạo ra một sân khấu với tên build_project và thực thi tập lệnh xây dựng gradle của dự án hiện tại.

5

Trong trường hợp dự án của bạn sử dụng Gradle Wrapper bạn có thể sử dụng đoạn mã sau trong Jenkinsfile của bạn:

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

Nếu bạn kiểm để thư mục con sub-dir bạn có thể muốn sử dụng

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

Nó làm việc cho tôi. Cảm ơn nhiều... –

Các vấn đề liên quan