在Python中设置Jenkins环境变量

时间:2014-08-15 19:01:54

标签: python ios xcode jenkins continuous-integration

我正在构建一个Jenkins设置来自动化我们的iOS(Xcode)版本。

现在的流程如下:

  1. 远程触发构建。传递应用程序的名称,软件包ID,配置文件URL(以及其他数据)。
  2. Jenkins从git中获取最新的代码库版本。
  3. 运行Python脚本以根据触发器中提供的数据编辑应用程序的Info.plist文件。此Python脚本还使用this approach安装配置文件。
  4. Jenkins使用Xcode Plugin来构建项目。
  5. Xcode插件允许您指定用于构建应用程序的配置文件UUID。步骤3中的Python文件获取此UUID。所以我现在需要的是保存UUID,以便可以使用普通文本形式访问Xcode插件。

    我已经使用EnvInject Plugin来创建和设置一个环境变量,该变量可以在Xcode插件中使用。但是我无法在作业运行时从任何脚本(Python或Shell)设置此环境变量,只能在作业的配置页面中进行硬设置。

    希望有人可以提供帮助。谢谢!

1 个答案:

答案 0 :(得分:0)

  

但我无法在作业运行时从任何脚本(Python或Shell)设置此环境变量

是的,你可以。

  • 您的Python / Shell脚本需要以格式param=value将值写入预定的path/to/file.props(有些来回,此路径也可以是动态的)。
  • 配置EnvInject以从path/to/file.props
  • 读取
  • 所以:

    1. Python / Shell动态运行并写入文件。
    2. EnvInject读取文件并加载环境变量,包括$param
    3. 您的$param现在可用于其他作业/脚本