私たちはSonarQubeサーバーのインストールを自動化しました。この手順の一部として、AnsibleはURL sonar/api/server/index
をポーリングして、サーバーが稼働中であるかどうかをチェックします。すぐにHTTP 200として返されると、サーバーの状態がSETUP
...SonarQubeはNO_MIGRATIONで返信しますが、dbの移行が必要です
<server>
<id>20170131094026</id>
<version>5.6.2</version>
<status>SETUP</status>
</server>
に等しい...スクリプトがsonar/api/server/setup
にPOST
を送信し、MIGRATION_SUCCEEDED
が返されるのを待つことにより、データベースのアップグレードを開始します。
これまでSonarQubeをバージョン5.6.2から5.6.5にアップグレードしようとしていました。なんらかの理由でsonar/api/server/index
は、ステータスがUP
(GUIでまだメンテナンス中であることが明確に示されていますが)でも返され、POST
からsonar/api/server/setup
まではデータベースが最新であり、移行は不要です(NO_MIGRATION
)。
しかし、サーバがメンテナンスモードにまだあるとnexus.logは、同じ行を繰り返し続ける:
09:41:05 INFO ce[o.s.c.a.WebServerWatcherImpl] Still waiting for WebServer...
09:41:39 INFO ce[o.s.c.a.WebServerWatcherImpl] Still waiting for WebServer...
09:43:13 INFO ce[o.s.c.a.WebServerWatcherImpl] Still waiting for WebServer...
09:47:28 INFO ce[o.s.c.a.WebServerWatcherImpl] Still waiting for WebServer...
私は手動でsonar/setup
に移動し、[更新]ボタンをクリックし、その後、データベースの移行が開始されます。 APIに変更がありましたか?間違ったRESTエンドポイントを呼びますか?
完全なログを送信してください。 –