我试图根据Gradle任务创建构建管道。我查看过JenkinsFile配置Pipeline-as-code-demo,但我无法为gradle任务创建管道。请建议我一种可能的方法,以便我可以使用Jenkinsfile自动显示构建管道,只需从Jenkinsfile中读取配置即可。
Thankyou自动生成使用Jenkinsfile构建gradle的构建管道
7
A
回答
15
如果您使用Artifactory来解决构建依赖关系或部署构建工件,建议使用Pipeline DSL for Gradle build with Artifactory。
下面是来自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
}
否则,你可以简单地用SH或蝙蝠管道步骤来运行gradle这个命令。
5
在jenkins中,您可以使用在Jenkinsfile中编写的脚本创建jenkins管道。
我们使用'stages'和'node'作为构建块编写脚本,这些构建块允许您指定应作为jenkins管道的一部分执行的指令。
Jenkinsfile
stage 'build_Project'
node{
if(isUnix()){
sh 'gradle build --info'
}
else{
bat 'gradle build --info'
}
}
上面的代码片断创建一个阶段:
要使用JenkinsFile首先检查操作系统并调用适当的外壳,可以执行gradle这个任务,如下执行gradle这个构建名称为build_project并执行当前项目的gradle构建脚本。
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'}
}
}
相关问题
- 1. 在自动构建中生成文档
- 2. 每次使用gradle构建项目时自动运行GreenDao生成器
- 3. Gradle构建没有完成
- 4. 使用多分支管道时在构建环境中的SSH密钥Jenkinsfile
- 5. Android - 使用NDK构建Gradle
- 6. Jenkins管道作业构建
- 7. 自动构建与手动构建
- 8. 在使用Sandcastle构建期间自动生成html文档
- 9. 我使用sphinx来构建pdf,如何生成自动索引
- 10. 如何使用Gradle构建的Android Cordova项目离线构建?
- 11. 如何获取Gradle构建生成的jar文件的引用?
- 12. 使用Eclipse构建的代码生成
- 13. 构建ROS android_sensors_driver Gradle
- 14. Gradle NPE在构建?
- 15. 使用Gradle构建复合构建时跳过测试
- 16. gradle构建不起作用
- 17. Gradle构建不调用JUnit
- 18. 使用自动构建构建网站应用程序TFS 2010
- 19. 使用API构建QR码生成器
- 20. 如何用lua构建读写管道?
- 21. 如何在构建android gradle项目时禁用proguard生成dump.txt
- 22. 如何使用Lucene.NET构建自动完成/建议?
- 23. 构建完成后自动下载TeamCity构建工件
- 24. 使用Gradle构建Python应用程序
- 25. 如何通过TFS构建管道自动上传Visual Studio库
- 26. Gradle未完成构建androidstudio-ubuntu(14.04 -32bit)
- 27. Gradle构建完成了3个错误
- 28. Gradle构建成功但失败
- 29. MATLAB自动构建
- 30. 自动化构建
它为我工作。非常感谢你... –