今天看啥  ›  专栏  ›  chenyu429309

Docker sonar本地搭建

chenyu429309  · 掘金  ·  · 2018-11-30 03:18
阅读 22

Docker sonar本地搭建

1、数据库操作:

进去数据库复制代码
 psql -U postgres  -h 127.0.0.1 
复制代码

查看所有用户

postgres=# \du复制代码

创建数据库

CREATE DATABASE sonar复制代码

创建角色

CREATE  ROLE sonar
ALTER ROLE sonar WITH LOGIN;复制代码


2、Docker构建sonar镜像(SONARQUBE_JDBC_URL:更改成自己的数据库地址,案例ip为:192.168.0.25)

镜像构建   

 docker run -d --name sonarqube \
    -p 8888:9000 -p 9092:9092 \
    -e SONARQUBE_JDBC_USERNAME=sonar \
    -e SONARQUBE_JDBC_PASSWORD=sonar \
    -e SONARQUBE_JDBC_URL=jdbc:postgresql://192.168.0.25/postgres \
    -d  sonarqube复制代码

登录:

http://192.168.0.25:8888/about复制代码

默认账号密码为:

admin,admin复制代码

插件安装:(Chinese Pack 插件安装和CheckStyle 插件安装)

点击 配置 -> 系统 -> 更新中心 -> Available -> Search,输入 CheckStyle,在搜素结果中找到 对应 插件点击 Install,等待下载完成后,按照页面提示点击 Restart 自动重启服务即可完成安装。


3上传项目到sonar

maven配置:

<settings> <pluginGroups>
        <pluginGroup>org.sonarsource.scanner.maven</pluginGroup>
    </pluginGroups>  <profiles> <profile> <id>sonar</id>  <activation>  <activeByDefault>true</activeByDefault>
            </activation> <properties>  <!-- 配置 Sonar Host地址,默认:http://localhost:9000 -->
                <sonar.host.url>            http://myserver:9000
                </sonar.host.url> </properties>  </profile>  </profiles> </settings>

复制代码

项目配置:

如果我们想指定使用某个版本的 sonar-maven-plugin 插件,比如 3.3.0.603 版本,可以有两种方式: 

 一、修改 pom.xml 文件

 <build>
  <plugins>
    <plugin>
      <groupId>org.sonarsource.scanner.maven</groupId>
      <artifactId>sonar-maven-plugin</artifactId>
      <version>3.3.0.603</version>
    </plugin>
  </plugins>
</build> 

复制代码

 二、使用 mvn 命令指定

 

 mvn clean install -DskipTests=true  org.sonarsource.scanner.maven:sonar-maven-plugin:3.3.0.603:sonar复制代码


4、上传项目到镜像仓库:

进去配置文件:/etc/docker/daemon.json

{
  "registry-mirrors": ["https://3itj1ym2.mirror.aliyuncs.com"],
  "insecure-registries": ["192.168.199.201"],#这里修改你对应的仓库地址,即harbor地址
  "hosts": [
    "tcp://0.0.0.0:2375",
    "unix:///var/run/docker.sock"
  ]
}复制代码

进去配置文件:/lib/systemd/system/docker.service

[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd#去掉后面的东西
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=0
RestartSec=2
Restart=always复制代码

重启

sudo chmod -R 777 /var/run/docker.sock
sudo systemctl daemon-reload
sudo systemctl start docker
sudo systemctl enable docker复制代码


登录:docker login 192.168.0.7(写入账户密码)


执行:(这里需要配置dockerfile-maven-plugi插件

mvn clean deploy -U -DskipTests=true -P yiye_two_test   复制代码





原文地址:访问原文地址
快照地址: 访问文章快照