Автоматическое создание конвейера сборки для сборки gradle с помощью Jenkinsfile


Я пытаюсь создать конвейер сборки на основе задач Gradle. Я просмотрел конфигурацию JenkinsFile Pipeline-as-code-demo но я не могу создать конвейер для задач gradle. Пожалуйста, предложите мне возможный способ, чтобы я мог использовать Jenkinsfile для автоматического отображения конвейера сборки, просто прочитав конфигурации из Jenkinsfile.
Спасибо

3 ответов


Если вы используете Artifactory для разрешения зависимостей сборки или развертывания артефактов сборки, рекомендуется использовать конвейер DSL для Gradle построить с 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 с ш или бат действия трубопровода.


в случае, если ваш проект использует Обертка Gradle вы можете использовать следующий фрагмент кода в ваш 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'}
    }
}

в jenkins вы можете создать конвейер jenkins, используя скрипт, написанный в Jenkinsfile.

мы пишем сценарий, используя "этапы" и "узел" в качестве строительного блока, эти строительные блоки позволяют указать инструкции, которые должны выполняться как часть конвейера Дженкинса.

для выполнения сборки gradle с помощью Jenkinsfile сначала проверьте операционную систему и вызовите соответствующую оболочку, которая может выполнить эту задачу gradle, как ниже:


Jenkinsfile

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

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

над фрагментом кода создайте этап с именем build_project и выполнить сценарий сборки gradle текущего проекта.