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