1

我想自动化我们的 OS X 安装程序的集成测试。安装程序需要管理员身份验证。现在,我们进行手动测试(启动一个干净的虚拟机,下载安装程序,运行它并检查已安装的产品),但我想至少自动化安装程序的初始测试。我们使用 Jenkins 作为我们的 CI 服务器。

Jenkins 构建奴隶可以调用

sudo installer -pkg <my package> -target /

但是 Jenkins 构建奴隶(正确地)似乎以非特权用户的身份运行构建作业。

我如何 (1) 通过 Jenkins 运行安装程序或 (2) 在不运行的情况下验证安装程序的内容和功能?

4

1 回答 1

2

对于这种情况,我在我的 sudoers 文件中添加了一个 ALL=NOPASSWD 行,它允许 jenkins 用户在不提供密码的情况下运行 /usr/sbin/installer。

在这个例子中,用户名是 'qa' - 步骤是:

  1. 须藤 visudo

  2. 添加 /usr/sbin/installer 行(将“qa”替换为您的 jenkins 用户)

    qa ALL=NOPASSWD: /usr/sbin/installer

之后,假设 jenkins 以该用户身份运行,它应该能够在没有密码的情况下运行安装程序。

于 2012-05-18T02:20:30.520 回答