我正在使用Gradle和Jenkins並希望將工件部署到Artifactory。不幸的是,當我在Jenkins中開始構建時,這種部署只能工作一次。Jenkins + Gradle + Artifacts:只部署一次工作
如果我刪除了Jenkins服務器上的工作空間和〜/ .gradle文件夾,則部署將再次運行。僅僅刪除工作空間是不夠的。
對我來說就像一個bug。我有任何未知的版本衝突。或者是我看不到的東西。謝謝你的幫助。
環境:
- 詹金斯2.7.3
- 搖籃3.1
- Artifactory的4.13.0
- 詹金斯Artifactory的插件2.7.2
搖籃構建腳本:(基於jfrog的例子)
buildscript {
repositories {
jcenter()
}
dependencies {
classpath(group: 'org.jfrog.buildinfo', name: 'build-info-extractor-gradle', version: '4.4.5')
}
}
allprojects {
apply plugin: 'java'
apply plugin: 'maven-publish'
repositories {
jcenter()
}
group = 'org.jfrog.example.gradle'
version = '1.0.1-SNAPSHOT'
status = 'integration'
}
artifactory {
publish {
defaults {
publishConfigs('archives')
}
}
}
// Setting this property to true will make the artifactoryPublish task
// skip this module (in our case, the root module):
artifactoryPublish.skip = true
詹金斯Artifactory的插件設置:
- [X]搖籃-Artifactory的集成度
- [X]捕獲和發佈建立信息
- [X]發佈工件來artifactory的
- [x]發佈Maven描述符
- [x]使用Maven兼容模式
休息被禁用(未設置)。
登錄詹金斯(控制檯輸出),與更改的版本和改變的源代碼,第二次運行:
Jenkins Artifactory Plugin version: 2.7.2
[Gradle] - Launching build.
[CdExampleArtifactory] $ cmd.exe /C '""C:\Program Files (x86)\Jenkins\tools\gradle-3.1\bin\gradle.bat"' --init-script c:/temp/init-artifactory8368571638486556211gradle artifactoryPublish && exit %%ERRORLEVEL%%"
:artifactoryPublish
:api:artifactoryPublish
:services:artifactoryPublish
:shared:artifactoryPublish
:services:webservice:artifactoryPublish
BUILD SUCCESSFUL
Total time: 2.422 secs
Build step 'Invoke Gradle script' changed build result to SUCCESS
Finished: SUCCESS
它看起來像任務不啓動構建(JAR等)過程。
你在你的jenkins工作的某處運行'gradle build'嗎? – RaGe
是的,構建作爲任務運行。如果我刪除了〜/ .gradle,那麼如果我將它設置爲任務,那麼生成將被調用。在第二次運行時,無論構建是否配置,artifactoryPublish都不做任何事情。 – Reinhard