{"id":18309044,"url":"https://github.com/tekintian/sonarqube-alpine-docker","last_synced_at":"2026-05-05T21:33:30.792Z","repository":{"id":209105665,"uuid":"723251226","full_name":"tekintian/sonarqube-alpine-docker","owner":"tekintian","description":"基于Alpine的Sonarqube Docker镜像构建脚本 Dockerfile, Sonarqube版本 9.9 LTS 10.3 , 9.8 , 9.7, 8.9, 7.9, 6.7, 5.6","archived":false,"fork":false,"pushed_at":"2023-11-25T04:29:59.000Z","size":877,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-15T05:28:33.136Z","etag":null,"topics":["alpine","docker","docker-image","dockerfile","sonar","sonarqube"],"latest_commit_sha":null,"homepage":"https://dev.yunnan.ws/contactus.html","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tekintian.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-11-25T04:22:49.000Z","updated_at":"2023-11-25T04:30:22.000Z","dependencies_parsed_at":"2023-11-25T05:25:29.517Z","dependency_job_id":"22a9a5ac-2f8c-4253-a1cc-25f8a9e3b003","html_url":"https://github.com/tekintian/sonarqube-alpine-docker","commit_stats":null,"previous_names":["tekintian/sonarqube-alpine-docker"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tekintian%2Fsonarqube-alpine-docker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tekintian%2Fsonarqube-alpine-docker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tekintian%2Fsonarqube-alpine-docker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tekintian%2Fsonarqube-alpine-docker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tekintian","download_url":"https://codeload.github.com/tekintian/sonarqube-alpine-docker/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248030935,"owners_count":21036296,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["alpine","docker","docker-image","dockerfile","sonar","sonarqube"],"created_at":"2024-11-05T16:10:02.991Z","updated_at":"2026-05-05T21:33:25.769Z","avatar_url":"https://github.com/tekintian.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# sonarqube alpine docker\n\nAlpine 版本 3.17\nJDK版本 17.0.9_3.17  / 11.0.17  / 8u265\n\nSonarqube版本 9.9 LTS    10.3 ,  9.8 ,  9.7,  8.9,  7.9,   6.7,   5.6 \n\n\n\n9.9以上版本需要 JDK17\n9.8版本支持jdk11或者jdk17\n7.x--9.7 jdk11\n\n\n- 新版本查询页面 点击 From the zip file 这里即可查看需要的JDK版本\nhttps://docs.sonarsource.com/sonarqube/latest/try-out-sonarqube/\n\n历史版本发行包下载地址\nhttps://www.sonarsource.com/products/sonarqube/downloads/historical-downloads/\n\n发行包下载地址\nhttps://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-6.5.zip\n\n\n- sonar-scanner版本发行地址\nscanner5.x 需要jdk17版本\nscanner4.8.1 是最后一个jdk11支持的版本\n\nhttps://docs.sonarsource.com/sonarqube/9.9/analyzing-source-code/scanners/sonarscanner/\n\n\n## 构建镜像\n~~~sh\n# sonarqube7.x 至 9.8版本最低需要 jdk11的支持\n# sonar-scanner 5.x 必须jdk17+  \n# sonar-scanner 4.8.1.3023 是最后一个JDK11的版本\n# \n# 详见 build.sh\n./build.sh\n\n./build.sh -v 10.3.0.82913\n\n./build.sh -v 9.9.3.79811\n\n# 版本信息: JDK_MVER: 11.0 JRE_TAG=11.0.17-7-tse SONARQUBE_VERSION=9.8.0.63668 SONAR_SCANNER_VERSION=4.8.1.3023\n./build.sh -v 9.8.0.63668 -j 11.0.17-7-tse -s 4.8.1.3023\n\n# 版本信息: JDK_MVER: 11.0 JRE_TAG=11.0.17-7-tse SONARQUBE_VERSION=9.7.1.62043 SONAR_SCANNER_VERSION=4.8.1.3023\n./build.sh -v 9.7.1.62043 -j 11.0.17-7-tse -s 4.8.1.3023\n\n# \n# 8.x版本需要jdk11以上版本 jdk17也支持\n# jdk17版本\n./build.sh -v 8.9.10.61524 \n# jdk11版本\n./build.sh -v 8.9.10.61524 -j 11.0.17-7-tse -s 4.8.1.3023\n\n# sonarqube 7.x 对应的JDK版本为 11  scanner版本 4.8.1.3023\n./build.sh -v 7.9.6 -j 11.0.17-7-tse -s 4.8.1.3023\n\n# \n# sonarqube6 包里面有内置的scanner, sonarqube5没有内置scanner\n# \n./sonarqube6/build.sh\n~~~\n\n## 镜像测试\n登录地址:http://localhost:9000\n默认账号密码: admin/admin\n\n~~~sh\n# 测试是否正常运行 注意修改你的项目源码路径 $PWD/src\ndocker run --rm --name mysonarqube -p 9000:9000 -v $PWD/src:/usr/src tekintian/sonarqube:10.3.0.82913_17.0\n\n# 等待容器启动后 登录http://127.0.0.1:9000 \n# 点击 Create a local project-\u003eLocally 创建一个本地项目, 然后另外打开一个窗口 执行\ndocker exec -it mysonarqube sonar-scanner \\\n  -Dsonar.projectKey=myapp \\\n  -Dsonar.sources=/usr/src/myapp \\\n  -Dsonar.host.url=http://localhost:9000 \\\n  -Dsonar.token=sqp_a3257b5a7747796bf4b9bfa91d1578d5dec864c4\n~~~\n![project](./docs/project.png)\n\n\n\n## 运行镜像\n~~~sh\n# 运行镜像\n# conf/sonar.properties 这个配置文件中的所有配置项目,可以通过在环境变量中使用 CONF_配置KEY大写 的形式进行动态加载\n# 如: 配置项 sonar.jdbc.username=sonarqube 可以通过设置 CONF_SONAR_JDBC_USERNAME=\"sonarqube\" 环境变量来修改\n\ndocker run -itd --name mysonarqube \\\n\t-p 9000:9000 \\\n\t-e CONF_SONAR_JDBC_USERNAME=\"sonarqube\" \\\n\t-e CONF_SONAR_JDBC_PASSWORD=\"sonarqube888\" \\\n\t-e CONF_SONAR_JDBC_URL=\"jdbc:postgresql://192.168.2.8/sonarqube?currentSchema=public\" \\\n\t-v /Users/Tekin/src:/src \\\n\ttekintian/sonarqube:9.9.3.79811\n\n# 默认登录地址:  http://localhost:9000/ 账户: admin/admin\n~~~\n\n\n\n## sonar-scanner\n\n执行扫描命令\n~~~sh\n# mysonarqube 是你自己创建的容器名称 sonar-scanner 是容器中的扫描命令 后面是扫描参数\ndocker exec -it mysonarqube sonar-scanner \\\n  -Dsonar.projectKey=myapp \\\n  -Dsonar.sources=/usr/src/myapp \\\n  -Dsonar.host.url=http://localhost:9000 \\\n  -Dsonar.token=sqp_a3257b5a7747796bf4b9bfa91d1578d5dec864c4\n#  tpos 是项目名称\n#  /src/myapp 这里表示的是你的源码的绝对路径, 需要再创建容器的时候通过 -v 加载到容器,否则这里访问不了. 在创建项目的时候就可以使用localy本地模式, 如果使用其他CI就不需要\n#  sqp_a3257b5a7747796bf4b9bfa91d1578d5dec864c4 这个是你要扫描的项目的token\n#  http://192.168.2.8:9000 是sonarqube的服务地址和端口\n~~~\n\n\n\n### scanner的配置文件\n\n$SONAR_SCANNER_HOME/conf/sonar-scanner.properties\n-e SCANNER_SONAR_HOST_URL=\"http://192.168.2.8:9000\"\n-e SCANNER_SONAR_SOURCEENCODING=\"UTF-8\"\n\n~~~sh\n#----- Default SonarQube server\nsonar.host.url=http://localhost:9000\n\n#----- Default source code encoding\nsonar.sourceEncoding=UTF-8\n~~~\n\n\n\n## 保存加载docker镜像\n\n- save保存镜像文件\ndocker save tekintian/sonarqube:9.9.3.79811 \u003e sonarqube_9.9.3.79811.tar\n\n- load加载镜像\ndocker load \u003c sonarqube_9.9.3.79811.tar\n\n\n\n## Scanners\n\n这个扫描服务, 如果有安装CI服务,则可以版本的CI自动执行,没有的话就使用本地模式, \n\n- 本地模式有2种使用方式,\n\n1. 使用容器中的sonar-scanner服务扫描代码\n\n   这个方式需要将项目加载到容器, 然后通过docker exec -it 容器名称 sonar-scanner 扫描参数\n\n   如:\n\n   docker exec -it mysonarqube sonar-scanner \\\n     -Dsonar.projectKey=myapp \\\n     -Dsonar.sources=/usr/src/myapp \\\n     -Dsonar.host.url=http://localhost:9000 \\\n     -Dsonar.token=sqp_a3257b5a7747796bf4b9bfa91d1578d5dec864c4\n\n   \n\n2. 自行下载sonar-scanner服务到本地电脑后指定sonarqube服务地址后运行扫描服务\n\n   https://docs.sonarsource.com/sonarqube/9.9/analyzing-source-code/scanners/sonarscanner/\n\n   下载后将sonar-scanner-5.0/bin 添加到你的PATH运行目录后 再却换到你的项目根目录, 然后执行\n\n   ~~~sh\n   # 注意  -Dsonar.sources=. 这里的.表示是当前目录\n   sonar-scanner  -Dsonar.projectKey=myapp \\\n     -Dsonar.sources=. \\\n     -Dsonar.host.url=http://192.168.2.8:9000 \\\n     -Dsonar.token=sqp_a3257b5a7747796bf4b9bfa91d1578d5dec864c4\n   \n   ~~~\n\n   \n\n- 支持的 CI 服务:\n\nAzure Pipelines\nBitbucket Pipelines\nCirrus CI\nCodemagic\nGitHub Actions\nGitLab CI/CD\nJenkins (with the Branch Source plugin configured)\nManually setting branch parameters overrides automatic detection.\n\n\n\n## 可用版本列表 verssions\n\n命名规则\n` tekintian/sonarqube:{SONARQUBE版本号}_{JDK版本号} `\n\n版本列表:\n~~~sh\ntekintian/sonarqube:10.3.0.82913_17.0\ntekintian/sonarqube:9.9.3.79811_17.0\ntekintian/sonarqube:9.8.0.63668_17.0\ntekintian/sonarqube:9.8.0.63668_11.0\ntekintian/sonarqube:9.7.1.62043_17.0\ntekintian/sonarqube:9.7.1.62043_11.0\ntekintian/sonarqube:8.9.10.61524_11.0\ntekintian/sonarqube:8.9.10.61524_17.0\ntekintian/sonarqube:7.9.6_11.0\n\n\n#引用的JDK版本\ntekintian/alpine-jre:11.0.21_3.17_jar\ntekintian/alpine-jre:17.0.9_3.17_jar\n\n# sonarqube5 6使用的jdk版本\n# tekintian/alpine-jre:8u265-1-tse\n\ntekintian/sonarqube:5.6.7\ntekintian/sonarqube:6.7.7\ntekintian/sonarqube:5.6\ntekintian/sonarqube:6.5\n~~~\n\n\n## vscode 集成\n\n安装插件 SonarLint  \n\nhttps://marketplace.visualstudio.com/items?itemName=SonarSource.sonarlint-vscode\n\n\n\n### Sonarqube CONNECTED MODE  链接配置\n\nvscode菜单栏  查看 --\u003e打开视图..  --\u003e SonarLint --\u003e Connected Mode\n\n![Incorrect URL or server is not available](./docs/vscode-connected-mode.png)\n\n注意: 这里服务地址不支持localhost:9000 会提示  Incorrect URL or server is not available\n\n只能使用本地局域网IP或者域名 \n\n点击 Generae Token后会打开网页登录页面登录后点击 Allow connection即可自动创建和填入 user token\n\n最后点击 Save Connection即可\n\n\n\n\n###vscode绑定sonarqube项目\n\n![](./docs/vscode-bind.png)\n\n\n\n\n\n专业企业信息化软件定制开发, docker容器定制服务 咨询QQ:932256355\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftekintian%2Fsonarqube-alpine-docker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftekintian%2Fsonarqube-alpine-docker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftekintian%2Fsonarqube-alpine-docker/lists"}