Android 詹金斯:写入全局参数

Android 詹金斯:写入全局参数,android,jenkins,continuous-integration,jenkins-plugins,increment,Android,Jenkins,Continuous Integration,Jenkins Plugins,Increment,Jenkins中是否有一种方法不仅可以读取作业中的全局参数,还可以写入作业中的全局参数? 为了实现阅读,我使用了这个插件: 然而,我还没有发现任何东西支持对全局参数的写访问。我认为这是至关重要的,因为它可以创造比赛条件 我真正想做的是: 我有两份Jenkins的工作——每一份都将我的Android APK发布到Google Play商店,但发布到不同的发布轨道(例如“发布”和“测试版”) 我想通过gradle自动增加版本号。但是gradle需要从我的VCS之外的任何地方访问上一个版本的版本号(以

Jenkins中是否有一种方法不仅可以读取作业中的全局参数,还可以写入作业中的全局参数? 为了实现阅读,我使用了这个插件: 然而,我还没有发现任何东西支持对全局参数的写访问。我认为这是至关重要的,因为它可以创造比赛条件

我真正想做的是:

我有两份Jenkins的工作——每一份都将我的Android APK发布到Google Play商店,但发布到不同的发布轨道(例如“发布”和“测试版”)

我想通过gradle自动增加版本号。但是gradle需要从我的VCS之外的任何地方访问上一个版本的版本号(以避免再次提交)。我想保证建造编号是按时间顺序排列的。因此,为每个Jenkins作业(例如在“version.properties”文件中)保留一个单独的版本号并不是一个解决方案

计划B可以切换到日期编码的版本号。但是我很好奇是否有一种增量方法。

您可以使用位于jenkins工作区而不是作业工作区的“version.properties”文件

1-从文件中注入环境变量

2-构建apk

3-从shell脚本中增加版本

版本=$($版本+1))

echo version=$version>${JENKINS_HOME}/workspace/module.properties


我只是把文件放在jenkins服务器的文件系统上吗?或者我可以在jenkins中配置全局“version.properties”,以便在多个节点的情况下进行扩展吗?是的,您必须将文件放在文件系统中,不幸的是,只有在您不使用节点的情况下,此解决方案才有效,因为它们不会共享同一工作区。感谢您的澄清。Jenkins不支持全局可写变量的原因可能是同步问题和竞争条件。