我試圖根據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. 自動化構建
它爲我工作。非常感謝你... –