思路:
前提准备
- ?jenkins服务器使用jenkins普通用户,生成公钥id_rsa.pub,放在gitlab的ssh密钥,以及追加放在待编译的Web服务器上.ssh/authorized_keys里
- 设置jenkins用户特殊的sudo权限
- jenkins服务器到gitlab非交互拉取代码----详细看上一章节《jenkins打怪升级之路十一》
- 最后验证下jenkins用户能够git拉gitlab的代码以及免密登录web服务器
需安装的jenkins插件
- Parameterized? #项目关联触发插件
- Role-based Authorization Strategy #角色认证策略
- gitlab plugin? # gitlab相关插件如hook
- SonarQube Scanner? # sonnarqube代码扫描的插件
注意事项:
1、sonnarqube里的es组件不能用root运行,会报错,可创建sonnar普通用户来运行sonnar.sh来开启sonnarqube server服务
2、需要修改内核参数,将sonar用户打开文件和进程数调大,否则会报错
?
1、sonnarqube的sonnar.conf配置
[root@kylin conf]# grep -E "^[a-Z]" sonar.properties
sonar.jdbc.username=sonar
sonar.jdbc.password=123456
sonar.jdbc.url=jdbc:postgresql://192.168.149.233/sonar
sonar.web.port=9000
sonar.web.host=0.0.0.0
2、postgresql配置
postgres@sonarqube-server:~$ psql -U postgres
psql (10.12 (Ubuntu 10.12-0ubuntu0.18.04.1))
Type "help" for help.
创建数据库并进行授权普通用户访问:
postgres=# CREATE DATABASE sonar; #创建数据库
CREATE DATABASE
postgres=# CREATE USER sonar WITH ENCRYPTED PASSWORD '123456'; #创建用户
CREATE ROLE
postgres=# GRANT ALL PRIVILEGES ON DATABASE sonar TO sonar; #授权用户
GRANT
postgres=# ALTER DATABASE sonar OWNER TO sonar; #执行变更
ALTER DATABASE
postgres=# \q
#修改监听地址
root@sonarqube-server:~# vim /etc/postgresql/10/main/postgresql.conf
59 listen_addresses = '*'
#开启远程访问
root@sonarqube-server:~# vim /etc/postgresql/10/main/pg_hba.conf
85:local all postgres peer
90:local all all peer
92:host all all 0.0.0.0/0 md5
94:host all all ::1/128 md597:local replication all peer
98:host replication all 127.0.0.1/32 md5
99:host replication all ::1/128 md5
root@sonarqube-server:~# systemctl restart postgresql
3、jenkins安装sonnarqube scanner插件
?4、jenkins指定sonnarqube serverURL
?
5、jenkins全局工具添加scanner
?
6、验证创建job触发sonarqube scanner代码扫描
sonnarqube视角?
?
?
?
?
|