docker+gitlab+ jenkins+sonarqube 自动化push审计搭建

docker+gitlab+ jenkins+sonarqube 自动化push审计搭建

  • 一、安装sonarqube
  • 二、安装jenkins
  • 三、安装gitlab
  • 四、配置gitlab、jenkins凭据
  • 五、创建任务

一、安装sonarqube

1、拉取postgres数据库镜像

docker pull  postgres

2、启动数据库镜像

docker run --name db -e POSTGRES_USER=sonar -e POSTGRES_PASSWORD=sonar -d postgres

3、拉取sonarqube镜像

docker pull sonarqube

4、启动sonarqube 镜像

docker run --name sq --link db -e SONARQUBE_JDBC_URL=jdbc:postgresql://db:5432/sonar -p 9000:9000 -d sonarqube

二、安装jenkins

1、拉取jenkins镜像

docker pull jenkins

2、启动jenkins镜像

docker run -d -p 8080:8080 -p 50000:50000 jenkins

3、系统管理->插件管理->Available,安装SonarQube Scanner for Jenkins、Gitlab Hook、Gitlab Authentication、Git、Gitlab插件
4、系统管理->系统设置->SonarQube servers,配置sonarqube server,如下图所示:
docker+gitlab+ jenkins+sonarqube 自动化push审计搭建_第1张图片
5、系统管理->全局工具配置,配置SonarQube Scanner
docker+gitlab+ jenkins+sonarqube 自动化push审计搭建_第2张图片

三、安装gitlab

1、拉取gitlab-ce镜像

docker pull gitlab/gitlab-ce

2、启动gitlab镜像 root/rootroot

docker run -d --hostname localhost --publish 443:443 --publish 80:80 --publish 22:22 --name gitlab --restart always --volume /Users/sec-mac/Documents/docker/gitlab/config:/etc/gitlab --volume /Users/sec-mac/Documents/docker/gitlab/logs:/var/log/gitlab --volume /Users/sec-mac/Documents/docker/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce

四、配置gitlab、jenkins凭据

1、生成公私钥,控制台执行

ssh-keygen -t rsa

2、gitlab 部署公钥:Settings->SSH Keys,
docker+gitlab+ jenkins+sonarqube 自动化push审计搭建_第3张图片
3、jenkins部署私钥:凭据->系统->全局凭据->添加凭据
docker+gitlab+ jenkins+sonarqube 自动化push审计搭建_第4张图片
稍后将会使用到

五、创建任务

1、新建一个自由风格的任务
docker+gitlab+ jenkins+sonarqube 自动化push审计搭建_第5张图片
2、General配置
a、删除旧的构建
docker+gitlab+ jenkins+sonarqube 自动化push审计搭建_第6张图片
b、构建失败重试
docker+gitlab+ jenkins+sonarqube 自动化push审计搭建_第7张图片
3、Source Code Management配置
docker+gitlab+ jenkins+sonarqube 自动化push审计搭建_第8张图片
其中Credentials使用之前已配置的。
4、配置Build Triggers
docker+gitlab+ jenkins+sonarqube 自动化push审计搭建_第9张图片
上图中的URL就是提供给gitlab的webhook地址,稍后将会使用到的,记录下来。
点击右下角的Advanced,生成Secret token,稍后将会使用到,记录下来
docker+gitlab+ jenkins+sonarqube 自动化push审计搭建_第10张图片
5、配置Build,选择Execute SonarQube Scanner
docker+gitlab+ jenkins+sonarqube 自动化push审计搭建_第11张图片
6、配置gitlab webhook
进入项目
docker+gitlab+ jenkins+sonarqube 自动化push审计搭建_第12张图片
从左侧Settings->Integrations,进入
docker+gitlab+ jenkins+sonarqube 自动化push审计搭建_第13张图片
输入之前记录的url和secret token,如上所示,其中admin:admin是jenkins的用户名和密码。
添加成功后,在此页面将会看到:
docker+gitlab+ jenkins+sonarqube 自动化push审计搭建_第14张图片
从Test中选择Push events进行测试,此时jenkins将自动进行构建,如下:
docker+gitlab+ jenkins+sonarqube 自动化push审计搭建_第15张图片
如果添加webhook地址时出现:Url is blocked : Requests to the local network are not allowed.
docker+gitlab+ jenkins+sonarqube 自动化push审计搭建_第16张图片
需做如下启用:

docker+gitlab+ jenkins+sonarqube 自动化push审计搭建_第17张图片

你可能感兴趣的:(sonarqube)