我们正在使用Jenkins自动生成和构建IBM Rhapsody模型。我们也在使用clearcase。当开发人员交付给特定的流时,自动化的Jenkins作业会更新构建服务器上的专用快照视图,然后作业启动Rhapsody并打开与该流关联的项目。然后作业获取它已经启动的rhapsody的进程ID,然后启动我们的生成/构建工具,该工具使用使用进程ID构建的连接字符串连接到rhapsody实例。 Rhapsody是一个COM服务器,它有一个很好的API可用于开发自动化工具,我们使用它。多个IBM Rhapsody进程在Jenkins中不起作用作为Windows服务运行
有多个clearcase ucm项目。因此,为了加速构建,当人们交付工作时,只要交付到不同的流,我们开始一个Rhapsody流程并执行构建。所以,有时我们需要并行生成和构建不同的项目。
问题是:当我们在Windows命令行执行作业时,它的作用就像一个魅力。当詹金斯从命令行启动时,它也可以在詹金斯工作。我们可以同时为多个项目执行代码生成。但是,当我们将jenkins作为Windows服务器运行时,首先启动的作业可以启动rhapsody,而另一个工具可以连接到启动的rhapsody,但是当该作业正在运行时,如果另一个作业启动,rhspsody进程将启动,但立即退出并另一个工具因为退出而无法连接到rhspsody。
我们首先设置OMROOT环境变量,然后使用参数启动狂想曲:-hiddenui -noanimaition -cmd =开放
詹金斯作为服务运行,使用用户帐户从域,这是administratior上机器,正如我所提到的,这个用户可以执行尽可能多的并行作业,我们希望从命令行直接从命令行启动的詹金斯(不作为服务运行)
经过几天的尝试,我们找不到原因......有什么建议?
只有当我们将jenkins作为服务运行时,才会出现问题。当我们不把它作为服务运行时,一切都很好。所以,我认为问题不在于执照。当我们从Windows命令行启动多个rhapsody进程时也是可以的 –
您是否看到任何Windows事件日志? –
我不记得我们是否检查过事件日志。我将尝试重现错误并检查事件日志。谢谢 –