我无法使用gradle 2.10构建项目,我尝试过不同版本,但问题是相同的。
我正在使用jenkins 2.10版本。同一个项目可以由android studio构建。
有人可以帮我配置Jenkins配置,我已经定义了SDK路径,有gradle插件等。
[ERROR] [org.gradle.BuildExceptionReporter] FAILURE: Build failed with an exception.
[ERROR] [org.gradle.BuildExceptionReporter] * What went wrong:
[ERROR] [org.gradle.BuildExceptionReporter] Task 'built' not found in root project 'workspace'. Some candidates are: 'build'.
* Try:
[ERROR] [org.gradle.BuildExceptionReporter] Run gradle tasks to get a list of available tasks.
20:11:26.063 [ERROR] [org.gradle.BuildExceptionReporter] * Exception is:
20:11:26.063 [ERROR] [org.gradle.BuildExceptionReporter] org.gradle.execution.TaskSelectionException: Task 'built' not found in root project 'workspace'. Some candidates are: 'build'.
答案 0 :(得分:1)
没有构建任务,请尝试构建,这可以解决您的问题。
但是,将参数化作业是一种很好的做法,您可以使用 assembleDebug 和 assembleRelease 任务。通过这种方式,您可以单独触发构建以进行自动化集成测试和构建,而无需复制作业。
使用Parametrized trigger plugin定义参数。
Gradle Tasks区域中参数用法示例:
$BUILD_PROFILE
-PKEYSTORE_PATH=$SIGNING_KEYSTORE_PATH
-PKEYSTORE_ALIAS=$KEYSTORE_ALIAS
-PKEYSTORE_PASSWORD=$SIGNING_PASSWORD
在 build.gradle 文件中,您可以添加以下部分:
signingConfigs {
release {
storeFile file(getPropertyFromBuildCommand("KEYSTORE_PATH"))
storePassword getPropertyFromBuildCommand("KEYSTORE_PASSWORD")
keyAlias getPropertyFromBuildCommand("KEYSTORE_ALIAS")
keyPassword getPropertyFromBuildCommand("KEYSTORE_PASSWORD")
}
}
buildTypes {
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release
}
}
如果正确设置,则可以生成命令,例如:
gradle assembleRelease -PKEYSTORE_ALIAS=prodKey -PKEYSTORE_PATH=/home/jenkins/my-prod-keys.jks -PKEYSTORE_PASSWORD=yourPassword
这将在Google Play商店中为生产和提交构建一个已签名的apk,您可以使用flexible publish或conditional build step来分支您的构建流程。