CentOS7.2 Jenkins部署
1、安装配置java环境
- 直接下载二进制安装包:
1 2 3 4 5 6 7 | # tar xvf jdk-8u111-linux-x64.tar.gz -C /usr/local/src/ # ln -sv /usr/local/src/jdk1.8.0_111 /usr/local/jdk # vim /etc/profile export JAVA_HOME= /usr/local/jdk export PATH=$JAVA_HOME /bin :$JAVA_HOME /jre/bin :$PATH export CLASSPATH=.$CLASSPATH:$JAVA_HOME /lib :$JAVA_HOME /jre/lib :$JAVA_HOME /lib/tools .jar # source /etc/profile && java –version |
- 使用rpm包安装:
1 | # rpm –ivh jdk-8u111-linux-x64.rpm |
- 使用yum仓库安装:java-1.8.0-openjdk-1.8.0
1 | # yum install java-1.8.0-openjdk-1.8.0 -y |
2、安装Jenkins
- 通过rpm包安装Jenkins
1 2 3 | # rpm –ivh https://pkg.jenkins.io/redhat/jenkins-2.27-1.1.noarch.rpm # /etc/init.d/jenkins start # chkconfig jenkins on |
3、配置Jenkins
1 2 3 4 | # vim /etc/sysconfig/jenkins JENKINS_HOME=“ /var/lib/jenkins “ #数据目录,使用高IO大容量磁盘 JENKINS_USER=“jenkins“ #启动用户 JENKINS_PORT=“8080“ #启动端口 |
4、访问web界面
- jenkins第一次启动会生成一个随机密码,查看web界面提示文件即可查看到密码信息
5、安装插件
- 默认插口可能有些插件无法安装,可以后期安装
- 亦可自己选择不安装所以插件
6、手动安装插件
1 2 3 4 | # cd /var/lib/jenkins/plugins # tar xvf jenkins_plugin.tar.gz #打包的一个插件包,展开即可使用插件 # chown jenkins.jenkins ./* -R # /etc/init.d/jenkins start |
- 插件下载地址
1 | http: //updates .jenkins-ci.org /download/plugins/ |
7、创建用户
- 创建登陆用户
- 账号创建完成:
8、登陆
9、邮件配置
- 点击 系统管理 --> 系统设置
10、发送邮件设置
- 点击 系统管理 --> 系统设置
11、配置从gitlab上拉取代码
- 需要安装的插件:
1 2 3 | gitlab Plugin gitlab Hook Plugin |
12、添加Git用户
1 | 参考此文档配置:http: //www .cnblogs.com /python-gm/p/8883515 .html |
13、Jenkins上添加一个认证用户
- 此处用户应该为步骤12中,在GitLab中添加公钥的用户
1 | 配置地址:http: //172 .20.3.206:8080 /credentials/store/system/domain/_/newCredentials |
14、Jenkins创建项目
- 进入Jenkins首页,点击新建,创建一个新的项目
15、配置Jenkins项目详细信息
- 描述信息
- 配置GitLab地址和拉取代码的用户
- 保存项目并测试(点击立即构建)
16、部署代码检测工具:Sonar
- 安装数据库:数据库要使用5.6版本,不支持5.5的版本
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | # tar xvf mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz # ln -sv /usr/local/src/mysql-5.6.34-linux-glibc2.5-x86_64 /usr/local/mysql # cd /usr/local/mysql/ # useradd mysql -s /sbin/nologin # chown -R mysql.mysql ./* -R # mkdir /data && chown mysql.mysql /data/ -R # /usr/local/mysql/scripts/mysql_install_db --user=mysql --datadir=/data/ --basedir=/usr/local/mysql/ # cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql # cp /usr/local/mysql/my.cnf /etc/my.cnf # vim /etc/my.cnf basedir = /usr/local/mysql datadir = /data port = 3306 # /etc/init.d/mysql start #ln -sv /usr/local/mysql/bin/mysql /usr/bin/ |
- mysql授权:
1 2 3 4 5 6 | # /usr/local/mysql/bin/mysql CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci; GRANT ALL ON sonar.* TO sonar@ "jenkins-server.com.cn" IDENTIFIED BY "123456" ; GRANT ALL ON sonar.* TO sonar@ "192.168.10.%" IDENTIFIED BY "123456" ; FLUSH PRIVILEGES; /usr/local/mysql/bin/mysql -usonar -p123456 -h192.168.10.131 |
- 部署sonar
1 2 3 4 5 6 7 8 9 10 11 | ### sonar依赖于java环境,而且java版本必须是1.8版本或更高,否则sonar启动失败 # unzip sonarqube-5.6.zip # ln -sv /usr/local/src/sonarqube-5.6 /usr/local/sonar # grep "^[za-Z]" /usr/local/sonar/conf/sonar.properties sonar.jdbc.username=sonar sonar.jdbc.password=123456 sonar.jdbc.url=jdbc:mysql: //192 .168.10.131:3306 /sonar ?useUnicode= true &characterEncoding=utf8&rewriteBatchedStatements= true &useConfigs=maxPerformance sonar.web.port=8800 # /usr/local/sonar/bin/linux-x86-64/sonar.sh start |
- 登陆sonar web站点:点击有上角login登录,默认用户名密码都是admin
- 安装中文插件
- 点击:administration --> system --> update center --> available,在后面的搜索框搜索插件名称(chinese),然后点install安装
- 或在插件目录/usr/local/sonar/extensions/plugins执行
1 | wget https: //github .com /SonarQubeCommunity/sonar-l10n-zh/releases/download/sonar-l10n-zh-plugin-1 .11 /sonar-l10n-zh-plugin-1 .11.jar |
- 然后重启服务:
1 | # /usr/local/sonarqube-5.6/bin/linux-x86-64/sonar.sh restart |
17、部署扫描器
- Sonar通过扫描器进行代码质量分析,即扫描器的具体工作就是扫描代码:
1 2 3 4 5 6 7 8 9 10 11 | # 下载地址:http://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner # unzip sonar-scanner-2.6.1.zip # ln -sv /usr/local/src/sonar-scanner-2.6.1 /usr/local/sonar-scanner # cd /usr/local/sonar-scanner/ # grep "^[a-Z]" conf/sonar-scanner.properties sonar.host.url=http: //localhost :8800 sonar.sourceEncoding=UTF-8 sonar.jdbc.username=sonar sonar.jdbc.password=123456 sonar.jdbc.url=jdbc:mysql: //192 .168.10.131:3306 /sonar ?useUnicode= true &characterEncoding=utf8 |
18、jenkins关联到sonar和sonar-scanner
- 在jenkins插件安装界面安装Sonar插件SonarQube Plugin
- 点击: 系统管理 - 系统设置
- 填写sonar服务器信息:
- 添加扫描器
- 点击: 系统管理 --> Global Tool Configuration(全局管理)
20、项目配置扫描功能
- 选择自己的项目 (demo) --> 构建触发器 --> 构建 --> execute sonarqube scanner ,将配置文件的内容修改成如下格式填写完成后点保存:
1 2 3 4 5 6 | sonar.projectKey= test -demo sonar.projectName= test -demo sonar.projectVersion=1.0 sonar.sources=./ sonar.language=java|php|python #(java|php|python 需要在sonar中安装对应的java|php|python语言包) sonar.sourceEncoding=UTF-8 |
- 点击项目的立即构建,下图是执行成功的信息:
- 查看项目的构建历史:
21、构建失败邮件通知
- 构建失败后会发送邮件通知管理员:选择自己的项目 (demo) --> 构建后操作
- 构建失败的邮件通知
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程