2017-08-10 12 views
0

私たちは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ある、ドメインからのユーザーアカウントを使用して、サービスとして実行されています私が述べたように、このユーザーは、コマンドラインから直接コマンドラインから開始し、コマンドラインから開始されたジェンキン(サービスとして実行していない)から多くの並列ジョブを実行することができます。

理由を見つけることができませんでした...任意の提案?

答えて

0

私が正しく覚えていれば、Rhapsodyはインスタンスごとに1つのライセンスを使用します。 2番目のインスタンスを開始すると、これによってエラーが発生する可能性があります。

Windowsコマンドラインから2つのコード生成インスタンスを開始するとどうなりますか?

+0

この問題は、サービスとしてjenkinsを実行した場合にのみ発生します。私たちがサービスとしてそれを実行しないと、すべてが問題ありません。だから、問題はライセンスに関するものではないと私は思う。Windowsのコマンドラインから複数のrhapsodyプロセスを起動してもOKです –

+0

windowsイベントログは何も見ましたか? –

+0

イベントログをチェックしても覚えていません。エラーを再現し、イベントログを確認しようとします。ありがとう –

0

私たちがJenkinsのClearCaseを含むビルドサーバーでRhapsodyを使用したときも同様の問題がありました。

簡単なのは、ClearCaseがパス名に255文字しかサポートしていなかったことです。そこで、Jenkinsのファイルシステム構造とClearCaseのVOB名を含めて、いくつかのRhapsodyパッケージのパス全体が長くなり、ジョブが停止しました。それを理解する時間をかけました。

2番目の問題は、Windowsサービス内でRhapsodyを実行していたことです。あなたはサービス内のウィンドウを開くことができません。だから、ラプソディを始めることは今や方法です。代わりに、これを達成するためにRhapsodyCli(コマンドラインインターフェイス)コマンドを使用する必要があります。 RhapsodyのインストールにはPDFがあります。 RhapsodyCliプロセスが停止しないという問題が発生することがありました。だから時間がたつにつれ、私たちのRhapsodyライセンスはすべて使い果たしてしまったので、手作業でプロセスを停止する必要がありました。

これは、検索のヒントを提供してくれることを願っています。

関連する問題