SonarQube Jenkins插件为/ api / server / version发出初始HTTP请求,响应200 OK,然后发出请求/ api / server / key,这不是有效的操作。然后构建失败,因为会话以404 Not Found结束。任何人都可以解释为什么在无效时为密钥提出API请求?该插件是2.3版本,服务器是5.2版本。以下是实际回复:
<error><code>404</code><msg>No action responded to key. Actions: admin_required, authorized?, available_locales, current_user, current_user=, error_to_json, error_to_xml, format_datetime, handle_remember_cookie!, has_role?, index, is_admin?, is_user?, java_facade, json_not_supported, jsonp, kill_remember_cookie!, load_resource, logged_in?, login_from_basic_auth, login_from_cookie, login_from_session, login_required, logout_keeping_session!, logout_killing_session!, parse_datetime, redirect_back_or_default, render_access_denied, render_bad_request, render_error, render_java_exception, render_not_found, render_response, render_success, resource_required, select_authorized, send_remember_cookie!, setup, store_location, text_not_supported, valid_remember_cookie?, version, and xml_not_supported</msg></error>
答案 0 :(得分:0)
我怀疑这些HTTP请求是由作为构建作业的一部分运行的SonarQube扫描程序发出的,而不是Jenkins插件本身。
检查您使用的SonarQube scanner并确保其版本与SonarQube 5.2兼容(兼容性信息可在扫描仪文档中找到,例如sonar-runner,Scanner for Maven等。
答案 1 :(得分:0)
答案是我们仍在使用Maven 2.2.1,因为升级到Sonar 5.2,而我们需要切换到Maven 3.x,如下所示:
http://docs.sonarqube.org/display/SONAR/Installing+and+Configuring+SonarQube+Scanner+for+Maven
感谢n_stan的帮助。