我的公司正在尝试使用 Hudson 自动创建夜间安装程序。我们在任何地方安装的许可证都在单独的服务器上运行。我们设置了一个 ANT 构建脚本来调用 InstallAnywhere jar 文件,该文件会自动创建安装程序,并且从命令提示符运行时效果很好。
但是,当我们尝试在 Hudson 内部运行它时,Hudson 无法连接到该许可证服务器。 InstallAnywhere 吐出评估期已过期。有谁知道我们可以做些什么来解决这个问题?
我假设这是 Hudson 问题,因为我们的 ANT 脚本在 Hudson 之外使用时工作正常。
My company is trying to automate the creation of a nightly installer with Hudson. Our license to install anywhere is running on a separate server. We have an ANT build script set up to call the InstallAnywhere jar file which creates the installer automatically, and that works great when ran from the command prompt.
However when we try to run it inside of Hudson, Hudson is not able to connect to that license server. InstallAnywhere spits out The evaluation period has expired. Does anyone know what we can do to solve this issue?
I'm assuming it's a Hudson issue since our ANT script works fine when used outside of Hudson.
发布评论
评论(3)
我最好的猜测是您需要设置 InstallAnywhere 进程所需的一些环境变量;我对该产品不是很熟悉,但也许它需要该产品的主目录、许可证文件的位置、许可证密钥值等。
调试此问题的一种简单方法是检查 Hudson 是否正在运行与您用于从命令行运行 Ant 脚本的用户相同,然后检查命令行用户的环境设置(如果不同)。
My best guess is that you need to set up some environment variables required by the InstallAnywhere process; I'm not very familiar with that product, but maybe it needs a home directory for the product, the location of the license file, the license key value, etc.
One easy way to debug this would be to check if Hudson is running under the same user that you are using to run the Ant script from the command line, then check the environment settings for the command line user if they are different.
由于我将 Hudson 作为服务运行,因此我必须使用“默认用户”用户。解决方案是将 InstallAnywhere 文件夹树从“C:\Documents and Settings\MyUser”复制到“C:\Documents and Settings\Default User”
Since I'm running Hudson as a service I had to use the "Default User" user. The solution was to copy the InstallAnywhere folder tree from "C:\Documents and Settings\MyUser" to "C:\Documents and Settings\Default User"
我刚刚遇到了同样的问题,所以我想我会分享我的解决方案。您还可以注册 CI 构建用户,以便可以继续使用自动用户,而不是将其切换到您自己的用户帐户:http://www.flexerasoftware.com/downloads/instructions/productlicensing/en/InstallAnywhereProductLicensing.pdf#page=15
设置要执行的bat文件:
注意,许可证将是您的mac地址.lic,您只需执行一次。
我的蝙蝠是:
然后我向詹金斯添加了一个蝙蝠任务,并运行了该作业:
您应该看到一些东西例如:
尝试检查 IAEE version=12.0
InstallAnywhere 是否已成功注册。
I just had the same issue, so I thought I would share my solution. You can also register the CI build user so you can continue using the automated user rather than switching it to your own user account: http://www.flexerasoftware.com/downloads/instructions/productlicensing/en/InstallAnywhereProductLicensing.pdf#page=15
Set up a bat file to execute:
Note, the License will be your mac address.lic, and you only have to do this once.
My bat was:
Then I added a bat task to jenkins, and ran the job:
You should see something like:
Trying to checkout IAEE version=12.0
InstallAnywhere is successfully registered.