使⽤Docker安装SonarQube的详细教程⽬录
1.拉取镜像
1.1拉取相关镜像并运⾏
1.1.1拉取相关镜像
1.1.2运⾏镜像
1.2保存并提交已修改的镜像
2.安装成功
3.插件安装
3.1安装Chinese插件
4.docker安装gitlab
4.1.Gitlab镜像拉取
4.2运⾏gitlab镜像
4.3设置root⽤户名和密码
4.4保存镜像并推送dockerhub
5.碰到的问题
5.1虚拟内存不够
6.整合Sonar和gitlab
6.1安装Gitlab-runner
6.1.1获取gitlab-Token
6.1.2安装gitlab-runner
6.2设置sonarqube的⽤户名和密码
6.3进⾏项⽬分析(⼿动添加项⽬)
6.4进⾏CI/CD(sonar与gitlab)
6.4.1版本为sonarqube-
7.6-community
6.4.2版本为sonarqube-9.1-community
6.5在整合过程中碰到的问题
7.总结
Docker安装SonarQube的教程如下所⽰:
1.拉取镜像
1.1拉取相关镜像并运⾏
1.1.1拉取相关镜像
# 拉取sonarqube镜像
$ docker pull sonarqube:9.1.0-community (推荐使⽤) /  $ docker pull sonarqube:7.6-community
# 拉取postgres镜像
$ docker pull postgres:9.6.23
1.1.2运⾏镜像
# 运⾏postgres数据库
$ docker run --name postgresqldb --restart=always -p 5432:5432 \
-e POSTGRES_USER=root \
-e POSTGRES_PASSWORD=123456  \
-d postgres:9.6.23
# 进⼊postgres容器,创建⽤户名和密码
$ docker exec -it postgresqldb bash
# 登录数据库
psql -U root -W
# 创建⽤户名和密码
create user sonar with password 'sonar';
create database sonar owner sonar;
grant all privileges on database sonar to sonar;
# 不连接postgres数据库运⾏命令(不推荐)
docker run --name sonarqube --restart=always -p 9000:9000 -d naumy/hitrend-sonarqube:v1.0
# 运⾏sonarqube容器
docker run -d --name sonarqube --restart=always \
-p 9000:9000  \
-
e sonar.jdbc.username=sonar \
-e sonar.jdbc.password=sonar \
python安装教程非常详细-e sonar.jdbc.url=jdbc:postgresql://139.198.176.140:5432/sonar \
sonarqube:9.1.0-community
嵌⼊式数据库应仅⽤于评估⽬的、嵌⼊式数据库⽆法扩展,不⽀持升级到SonarQube的较新版本,也不⽀持将数据从中迁移到其他数据库引擎。
1.2保存并提交已修改的镜像
# 保存已经修的镜像
docker commit -a "naumy"  -m "安装中⽂插件" 19f1cc24dc98 hitrend-sonarqube:v1.0
# 把旧镜像的名字,改成仓库要求的新版名字
docker tag hitrend-sonarqube:v1.0 naumy/hitrend-sonarqube:v1.0
# 登录到docker hub
docker login
# 推送
docker push naumy/hitrend-sonarqube:v1.0
2.安装成功
3.插件安装
3.1安装Chinese插件
SonarQube提供了强⼤的插件管理功能,以中⽂语⾔包为⽰例,讲解如何安装插件:
登录成功后,选择Administration-Marketplace-Plugins,在搜索框输⼊Chinese就可以选择安装了。
当状态显⽰为Install Pending时,说明插件安装完成,点击Restart Server即可⽣效。
之后,就显⽰为中⽂了。
同时安装findbug插件
4.docker安装gitlab
4.1.Gitlab镜像拉取
# gitlab-ce为稳定版本,后⾯不填写版本则默认pull最新latest版本
$ docker pull gitlab/gitlab-ce
4.2运⾏gitlab镜像
$ docker run -d  -p 443:443 -p 80:80 -p 222:22 --name gitlab --restart always -v /home/gitlab/config:/etc/gitlab -v /home/gitlab/logs:/var/log/gitlab -v /home/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce # -d:后台运⾏
# -p:将容器内部端⼝向外映射
# --name:命名容器名称
# -v:将容器内数据⽂件夹或者⽇志、配置等⽂件夹挂载到宿主机指定⽬录
按上⾯的⽅式,gitlab容器运⾏没问题,但在gitlab上创建项⽬的时候,⽣成项⽬的URL访问地址是按容器的hostname来⽣成的,也就是容器的id。
作为gitlab服务器,我们需要⼀个固定的URL访问地址,于是需要配置gitlab.rb(宿主机路径:/home/gitlab/config/gitlab.rb)。
# gitlab.rb⽂件内容默认全是注释
$ vim /home/gitlab/config/gitlab.rb
# 配置http协议所使⽤的访问地址,不加端⼝号默认为80
external_url '192.168.199.231'
# 配置ssh协议所使⽤的访问地址和端⼝
gitlab_rails['gitlab_ssh_host'] = '192.168.199.231'
gitlab_rails['gitlab_shell_ssh_port'] = 222 # 此端⼝是run时22端⼝映射的222端⼝
:wq #保存配置⽂件并退出
# 重启gitlab容器
$ docker restart gitlab
此时项⽬的仓库地址就变了。如果ssh端⼝地址不是默认的22,就会加上ssh:// 协议头
打开浏览器输⼊ip地址(因为我的gitlab端⼝为80,所以浏览器url不⽤输⼊端⼝号,如果端⼝号不是80,则打开为:ip:端⼝号)
4.3设置root⽤户名和密码
进⼊⽬录 /home/gitlab/config/initial_root_password,查看密码
xwCsS7lMYx+8x3o6KIBw+Ia6Lg3VqvtHLzxzYfPNtxk=
或者进⼊gitlab容器后修改密码。
root@ba96cb6a1f47:/# gitlab-rails console
--------------------------------------------------------------------------------
Ruby:        ruby 2.7.4p191 (2021-07-07 revision a21a3b7d23) [x86_64-linux]
GitLab:      14.3.2 (92acfb1b8a9) FOSS
GitLab Shell: 13.21.1
PostgreSQL:  12.7
--------------------------------------------------------------------------------
irb(main):005:0> user = User.where(id: 1).first
=> #<User id:1 @root>
irb(main):006:0> user.password=12345678
=> 12345678
irb(main):007:0> user.password_confirmation=12345678
=> 12345678
irb(main):008:0> user.save!
Enqueued ActionMailer::MailDeliveryJob (Job ID: 4fc2d685-2fd6-41d9-893e-2dabc7c3b366) to Sidekiq(mailers) with arguments: "DeviseMailer", "password_change", "deliver_now", {:args=>[#<GlobalID:0x00007fc6c59b5b48 @uri=#<URI::GID gid://gitlab/User/1> => true
irb(main):009:0> quit
运⾏后的效果图
4.4保存镜像并推送dockerhub
# 保存已经修的镜像
docker commit -a "naumy"  -m "初始化gitlab" ba96cb6a1f47 gitlab:v1.0
docker commit -a "naumy"  -m "sonarqube:7.6-community " e70c6cbe2e0b sonarqube-7.6-community:v1.0
docker tag sonarqube-7.6-community:v1.0 naumy/sonarqube-7.6-community:v1.0
docker push naumy/sonarqube-7.6-community:v1.0
# 把旧镜像的名字,改成仓库要求的新版名字
docker tag gitlab:v1.0 naumy/gitlab:v1.0
# 登录到docker hub
docker login
# 推送
docker push naumy/gitlab:v1.0
5.碰到的问题
5.1虚拟内存不够
启动容器后过了⼗⼏秒。容器⾃动退出。
Error: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]运⾏容器后,容器马上退出。
# 使⽤命令查看运⾏⽇志
docker logs 容器名称/容器ID
在/f⽂件最后添加⼀⾏
vm.max_map_count=262144

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。