eja*_*jay 6 versioning android jenkins android-gradle-plugin
我将Jenkins用于我的Android应用程序构建。在每个版本中,我都会得到一些信息,例如版本号等。
我正在寻找一种方法来读取Jenkins建立工作时的versionName价值build.gradle。我知道我们可以使用$BUILD_NUMBERenv变量获取buildNumber ,但是如何获取versionName?
更好的方法是在build.gradle中添加“ printVersion”任务。app / build.gradle
task printVersion{
doLast {
print android.defaultConfig.versionName + '-' + android.defaultConfig.versionCode
}
}
Run Code Online (Sandbox Code Playgroud)
使用以下命令进行测试:./gradlew -q printVersion
1.8-13
Run Code Online (Sandbox Code Playgroud)
然后在jenkins管道中,在git之后添加一个阶段:
stage('printVersion') {
def versionInfo = sh (
script: './gradlew -q printVersion',
returnStdout: true
).trim()
echo "VersionInfo: ${versionInfo}"
//set the current build to versionInfo plus build number.
currentBuild.displayName = "${versionInfo}-${currentBuild.number}" ;
}
Run Code Online (Sandbox Code Playgroud)
您可以通过添加确定该的Execute Shell步骤versionName并使用EnvInject插件将其导出为环境变量来执行此操作。
假设您build.gradle包含:
versionName = myname
Run Code Online (Sandbox Code Playgroud)
您可以添加以下脚本:
v=$(cat build.gradle | grep versionName | awk '{print $3}')
echo MY_VERSION_NAME=${v} > env.properties
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3721 次 |
| 最近记录: |