我想做的是能够为Jenkins正在构建的提交添加标签。现在,我使用Jenkins内部版本号标记提交,但我还想添加该应用程序版本,如前面的Info.plist CFBundleVersion所示。

我想知道的是,如何使用Jenkins或其他方式获取该值,并能够将其用作Jenkins中的参数/变量?

我已经看到了使用plistbuddy设置此值的参考,所以我认为有一种方法可以使用它来获得相同的值。虽然我不知道该如何以及如何在Jenkins中使用它。

为了进一步说明,我在Jenkins中使用Git Publisher创建标签并以这种格式推送

jenkinsbuild- $ BUILD_NUMBER

这样会在git中的提交上产生一个标签,如下所示-jenkinsbuild-303

我想要的是,假设我的应用当前处于版本3.5中,标签将显示为-jenkinsbuild-3.5-303

最佳答案

我设法从@agy链接到的答案中拼凑出一个解决方案。这是我所做的:

  • 在Jenkins配置的Build部分中,我在Xcode步骤之后的“Execute Shell”步骤中添加了以下两行:
    APP_VERSION=$(/usr/libexec/PlistBuddy -c "Print :CFBundleShortVersionString" "path to your plist")
    echo APP_VERSION=$APP_VERSION > appversion.properties;
    
  • 之后,我添加了“注入环境变量”步骤(我认为这是EnvInject插件的一部分),并在属性文件路径字段中添加了“appversion.properties”。
  • 完成此操作后, APP_VERSION 现在可在后续Shell命令步骤中用作环境变量。
  • 10-07 19:27
    查看更多