私たちはJenkinsを使用して、IBM Rhapsodyモデルの生成とビルドを自動化しています。また、クリアケースも使用しています。開発者が特定のストリームに配信すると、自動化されたJenkinsジョブがビルドサーバー上の専用スナップショットビューを更新し、ジョブがRhapsodyを起動し、そのストリームに関連付けられたプロジェクトを開きます。次に、ジョブは開始したrhapsodyのプロセスIDを取得し、プロセスIDを使用して作成された接続文字列を使用してrhapsodyインスタンスに接続するgenerate/buildツールを起動します。 RhapsodyはCOMサーバーであり、オートメーションツールの開発に使用できる優れたAPIがあり、これを使用します。複数のIBM RhapsodyプロセスがWindowsサービスとして動作するJenkinsで動作しない
複数のクリアケースのucmプロジェクトがあります。したがって、ビルドをスピードアップするために、人々が仕事を提供するときに、配信が別のストリームに行われる限り、Rhapsodyプロセスを開始してビルドを実行します。ですから、時には異なるプロジェクトを同時に生成してビルドする必要があります。
問題は次のとおりです。これは、Windowsのコマンドラインでジョブを実行するときのように機能します。 Jenkinsがコマンドラインから起動されたとき、Jenkinsでも動作します。複数のプロジェクトに対して同時にコード生成を行うことができます。しかし、Windowsサーバーとしてjenkinsを実行すると、最初に起動するジョブはrhapsodyを起動し、もう一方のツールは開始されたrhapsodyに接続できますが、このジョブが実行されている間に別のジョブが開始されるとrhspsodyプロセスが開始します。他のツールは終了したためrhspsodyに接続できません。私たちは、最初のOMROOT環境変数を設定
、その後、引数を使用してラプソディを開始します。-hiddenui -noanimaition -cmd =オープン
ジェンキンスが上administratiorある、ドメインからのユーザーアカウントを使用して、サービスとして実行されています私が述べたように、このユーザーは、コマンドラインから直接コマンドラインから開始し、コマンドラインから開始されたジェンキン(サービスとして実行していない)から多くの並列ジョブを実行することができます。
理由を見つけることができませんでした...任意の提案?
この問題は、サービスとしてjenkinsを実行した場合にのみ発生します。私たちがサービスとしてそれを実行しないと、すべてが問題ありません。だから、問題はライセンスに関するものではないと私は思う。Windowsのコマンドラインから複数のrhapsodyプロセスを起動してもOKです –
windowsイベントログは何も見ましたか? –
イベントログをチェックしても覚えていません。エラーを再現し、イベントログを確認しようとします。ありがとう –