Автоматическое создание конвейера сборки для сборки 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 текущего проекта.