git+gerrit+jenkins+sonar 持续集成开发环境搭建
1:安装git
yum -y install git
安装成功之后:git version 1.8.3.1
2:安装apache
yum install httpd –y
service httpd start
/bin/systemctl stop httpd.service
将apache服务添加到开机 自启动
[root@localhost ~]# systemctl start httpd
[root@localhost ~]# systemctl enable httpd
https://blog.csdn.net/shj_php/article/details/79495861
3:安装ftp服务,方便传输文件
https://www.cnblogs.com/zhi-leaf/p/5983550.html
- win下: ftp://192.168.2.137/pub/
- linux下: /var/ftp/pub
4:安装java环境
https://blog.csdn.net/weixin_43893397/article/details/102636437
我这里安装的是 java 8
/usr/java/jdk1.8.0_251/
5:安装gerrit
参考文档: https://blog.csdn.net/lxbwolf/article/details/80174020http://www.mamicode.com/info-detail-339607.html
- 注意:我这里数据库使用的默认H2数据库,mysql当时没有配置成功,一直无法关联
htpasswd -cm /home/gerrit/passwords admin 地址:192.168.2.137:1998 用户名:admin 密码:admin
启动停止指令: /home/gerrit/gerrit/bin/gerrit.sh start
chown gerrit:gerrit passwords 遇到问题:
Permission denied: [client 192.168.1.14:56363] AH01620: Could not open password file: /home/gerrit/passwords, referer: http://192.168.2.137:1998
解决方法:修改/home/gerrit/ 整个文件夹的读写权限
httpd.conf的配置
记得增加监听端口
Listen 80
Listen 1998
<VirtualHost *:1998>ServerName v3serverProxyRequests OffProxyVia OffProxyPreserveHost On<Proxy *>Order deny,allow Allow from all </Proxy><Location /login/>AuthType BasicAuthName "Gerrit Code Review"Require valid-userAuthUserFile /home/gerrit/passwords</Location>ProxyPass / http://192.168.2.137:8081/ProxyPassReverse / http://192.168.2.137:8081/
</VirtualHost>
etc/gerrit.config配置文件
[gerrit]basePath = gitcanonicalWebUrl = http://192.168.2.137:80serverId = 905a197d-3c7e-41ec-8ffa-b71660d44c85
[container]javaOptions = "-Dflogger.backend_factory=com.google.common.flogger.backend.log4j.Log4jBackendFactory#getInstance"javaOptions = "-Dflogger.logging_context=com.google.gerrit.server.logging.LoggingContext#getInstance"user = gerritjavaHome = /usr/java/jdk1.8.0_251/jre
[index]type = lucene
[auth]type = HTTP
[receive]enableSignedPush = false
[sendemail]smtpServer = localhost
[sshd]listenAddress = *:29418
[httpd]listenUrl = http://*:8081/
[cache]directory = cache
- 配置了反向代理,重启apache时报错: Invalid command 'ProxyRequests', perhaps misspelled or defined by a module not included in the server configuration 开启一下代理模块 运行一下
a2enmod proxy
再重启即可
安装完成之后,我这边一直提示无法 git push到远程地址
- 将资料中的 commit-msg 文件放在/gerrit/cfg/.git/hooks/
- 执行资料中的init_repo.sh
./init_repo.sh
内容如下:
#!/bin/bash
set -eCODEBASE=$( dirname $( readlink -f ${0} ) 2> /dev/null|| echo ${PWD} )gitdir=$(git rev-parse --git-dir)
test -e ${gitdir}/hooks/pre-commit || cp ${gitdir}/hooks/pre-commit.sample ${gitdir}/hooks/pre-committest -e ${gitdir}/hooks/commit-msg || cp $CODEBASE/misc/commit-msg ${gitdir}/hooks/commit-msggit config remote.origin.push HEAD:refs/for/masterecho "Gerrit code review is ready"
- 测试:ssh admin@192.168.2.136 -p 29418
- git clone ssh://admin@192.168.2.137:29418/aaa.git //clone工程
如果出现错误: [remote rejected] HEAD -> refs/for/master (no common ancestry)
git pull --rebase origin master
- git add -A
- git commit --amend //如果需要重新生成 commit ID,需要删除此步骤文件中的ID整行
- git push // git push origin HEAD:refs/for/master
6:安装jenkins
https://blog.csdn.net/yangzaizi/article/details/83505026
安装jenkins最好安装 jenkins-2.164.3-1.1.noarch.rpm以上的,要不然安装插件的时候会比较麻烦,低版本自带的插件好多无法安装 。但是太高的版本需要java 11的环境,所以安装的时候选个好的版本,可以省掉很多麻烦事情
遇到问题: 报错:Starting Jenkins bash: /usr/bin/java: 没有那个文件或目录 参考:https://blog.csdn.net/m0_37564404/article/details/99942264
sudo service jenkins start
jenkins:http://192.168.2.137:1998/
账号:admin 密码:admin
在线安装插件 gerrit trigger
- git生成秘钥
- 将公钥添加到gerrit中
- 使用 ssh admin@192.168.2.137 -p 29418 测试
- git clone ssh://admin@192.168.2.137:29418/winmu_tbox.git //clone工程
jenkins的邮件通知配置
SMTP服务: 用户名:jenkins@xqshijie.cn 密码:123456
遇到问题:配置gerrit servers时出现 jenkins "/root/.ssh/id_rsa" does not exist. 可参考下文:https://www.optbbs.com/thread-5965823-1-1.html 本次操作无法解决,我将 /root/.ssh/id_rsa 复制到 /var/lib/jenkins/.ssh/ 下 记得以后新用户生成sshkey后,做同样操作
浏览器地址:http://192.168.2.137:8080/
7:发布流程,Apache文件浏览功能
https://blog.51cto.com/adelazhu/1681512
8:FTP环境搭建
https://blog.csdn.net/wangxintong_1992/article/details/81194544
1056 - useradd xiao
1057 - passwd xiao
1058 - mkdir /var/www/xiao
1059 - usermod -d
/var/www/xiao xiao
设置用户访问固定的路径 https://www.cnblogs.com/xiaofeng028/p/3957147.html
9:sonar安装
需要安装SonarQube和sonar-scanner,参考文档如下:https://blog.csdn.net/weixin_40816738/article/details/90111803
默认是不支持c和c++的,需要安装额外的插件 sonar我这边暂时还没有安装完成
sonar: ./sonar.sh start chown -R sonarUser:sonarUser /home/work/sonarqube-6.7.7
su - sonarUser /home/work/sonarqube-6.7.7/bin/linux-x86-64/sonar.sh stop 192.168.2.136:9000 注意:sonar的匹配的java版本和数据库类别和版本
文中所需软件,请参考 本人的资料,谢谢
git+gerrit+jenkins+sonar 持续集成开发环境搭建相关推荐
- 【安卓开发系列 -- 开发环境】Unbuntu 下 Android 持续集成打包环境搭建 -- Jenkins 构建工具安装(gradle + git + android 工具)
[安卓开发系列 -- 开发环境]Unbuntu 下 Android 持续集成打包环境搭建 -- Jenkins 构建工具安装(gradle + git + android 工具) [1]Unbuntu ...
- 基于 Docker 打造前端持续集成开发环境
知乎: https://zhuanlan.zhihu.com/p/37961402 本文将以一个标准的 Vue 项目为例,完全抛弃传统的前端项目开发部署方式,基于 Docker 容器技术打造一个精简的 ...
- centos7下Gitlab+Jenkins部署持续集成CI环境
1.基本环境 主机:win10,IP:192.168.0.111:部署机器centos7,IP:192.168.0.65: 内存推荐到8G,实测需要6G以上,以免出现内存不够用而报错. 2.安装git ...
- 【软件使用】Windows下的Objective-C集成开发环境搭建(IDE)
Objective-C是苹果软件的编程语言,想要上机学习.调试,有一个集成开发环境(IDE)方便很多.有三类方法搭建Objective-C的集成开发环境: 1) 使用苹果的平台,集成开发环境使用X ...
- python的集成开发环境搭建_Window版本 - Python数据分析集成开发环境 Anaconda安装(超详细)...
Window版本 - Python数据分析集成开发环境 Anaconda安装(超详细) 前沿 Hello,各位看官,您是不是决定要学习Python数据分析,您是不是现在正在"学" ...
- [Keil] MDK5 集成开发环境搭建与注册破解
PC :Win10 Keil:MDK5.23 一.软件包 1. 1 下载 MDK-ARM 1.1.1 打开Keil 官网(http://www.keil.com),进入导航栏[Download],选择 ...
- mac php开发套件_mac php集成开发环境搭建软件推荐(附教程)
用惯了在Windows上配置php开发环境,要在MAC上捣腾一个PHP开发环境还不大习惯,那mac上php开发环境怎么搭建配置呢?有哪些集成软件呢? 本文为你推荐几款常用的mac php环境软件,并介 ...
- 基于Jenkins搭建iOS持续集成开发环境
原创 2017-03-06 关键点 Jenkins安装及配置 Pipeline创建及配置 ruby的版本管理工具rbenv安装 fastlane安装 常见构建问题 相关工具及技术网站推荐 CI持续集成 ...
- Jenkins Gitlab持续集成打包平台搭建
相关概念 Jenkins Jenkins,一个用Java编写的开源的持续集成工具,提供了软件开发的持续集成服务,可监控并触发持续重复的工作,具有开源,支持多平台和插件扩展,安装简单,界面化管理等特点. ...
最新文章
- 【转】一文掌握 Linux 性能分析之网络篇(续)
- C# 数组 二维数组
- TCP/IP的基本介绍
- 【译】Android中的安全数据— Android中的加密(第2部分)
- Visual Studio:error MSB8020
- java中时间各种格式
- 使用Filter,Listener 时无法注入Bean的解决方法
- 硬核图书系列:《Spring Boot编程思想(核心篇)》
- 为静态Checkbox动态地添加checked属性
- 硬件设计14---什么是预加重与去加重技术?
- springboot 打卡功能_SpringBoot、SSM、ajax实现考勤打卡功能(详细实现),供新手参考!...
- QQ音乐付费格式转换
- 基于51单片机的电子记分牌的设计
- 本地编码修改和编码详解
- 《Kotlin极简教程》第1章 Kotlin简介
- 科技云报道:2023,云计算的风向变了
- Nginx配之负载均衡、缓存、黑名单和灰度发布
- python建立数据库连接时出错_python连接数据库
- Informatica PowerCenter工作流管理系统
- DCI format 5A相关学习
热门文章
- CCI指标的计算公式
- 2021年热门的10个IT技术职位以及如何招聘
- 回溯法解决八人过河问题
- PayPal Data Scientist 数据科学家面经与工作体验 | 面试笔记
- 传闻很多企业倒闭了?比亚迪大裁员,中小企业倒闭......
- php主动推送弹幕_百万在线的美拍直播弹幕系统的实时推送技术实践之路
- 《厚黑学》| 读书三诀
- ZCMU-1133- 第九章:致我们终将逝去的青春
- python随机点名程序 图形化_python写一个随机点名软件,python随机点名,最近有个随机点名软件...
- 2020.11.26---java复习