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到远程地址

  1. 将资料中的 commit-msg 文件放在/gerrit/cfg/.git/hooks/
  2. 执行资料中的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

  1. git add -A
  2. git commit --amend //如果需要重新生成 commit ID,需要删除此步骤文件中的ID整行
  3. 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 持续集成开发环境搭建相关推荐

  1. 【安卓开发系列 -- 开发环境】Unbuntu 下 Android 持续集成打包环境搭建 -- Jenkins 构建工具安装(gradle + git + android 工具)

    [安卓开发系列 -- 开发环境]Unbuntu 下 Android 持续集成打包环境搭建 -- Jenkins 构建工具安装(gradle + git + android 工具) [1]Unbuntu ...

  2. 基于 Docker 打造前端持续集成开发环境

    知乎: https://zhuanlan.zhihu.com/p/37961402 本文将以一个标准的 Vue 项目为例,完全抛弃传统的前端项目开发部署方式,基于 Docker 容器技术打造一个精简的 ...

  3. centos7下Gitlab+Jenkins部署持续集成CI环境

    1.基本环境 主机:win10,IP:192.168.0.111:部署机器centos7,IP:192.168.0.65: 内存推荐到8G,实测需要6G以上,以免出现内存不够用而报错. 2.安装git ...

  4. 【软件使用】Windows下的Objective-C集成开发环境搭建(IDE)

    Objective-C是苹果软件的编程语言,想要上机学习.调试,有一个集成开发环境(IDE)方便很多.有三类方法搭建Objective-C的集成开发环境: 1)   使用苹果的平台,集成开发环境使用X ...

  5. python的集成开发环境搭建_Window版本 - Python数据分析集成开发环境 Anaconda安装(超详细)...

    Window版本 - Python数据分析集成开发环境 Anaconda安装(超详细) 前沿 ​ Hello,各位看官,您是不是决定要学习Python数据分析,您是不是现在正在"学" ...

  6. [Keil] MDK5 集成开发环境搭建与注册破解

    PC :Win10 Keil:MDK5.23 一.软件包 1. 1 下载 MDK-ARM 1.1.1 打开Keil 官网(http://www.keil.com),进入导航栏[Download],选择 ...

  7. mac php开发套件_mac php集成开发环境搭建软件推荐(附教程)

    用惯了在Windows上配置php开发环境,要在MAC上捣腾一个PHP开发环境还不大习惯,那mac上php开发环境怎么搭建配置呢?有哪些集成软件呢? 本文为你推荐几款常用的mac php环境软件,并介 ...

  8. 基于Jenkins搭建iOS持续集成开发环境

    原创 2017-03-06 关键点 Jenkins安装及配置 Pipeline创建及配置 ruby的版本管理工具rbenv安装 fastlane安装 常见构建问题 相关工具及技术网站推荐 CI持续集成 ...

  9. Jenkins Gitlab持续集成打包平台搭建

    相关概念 Jenkins Jenkins,一个用Java编写的开源的持续集成工具,提供了软件开发的持续集成服务,可监控并触发持续重复的工作,具有开源,支持多平台和插件扩展,安装简单,界面化管理等特点. ...

最新文章

  1. 【转】一文掌握 Linux 性能分析之网络篇(续)
  2. C# 数组 二维数组
  3. TCP/IP的基本介绍
  4. 【译】Android中的安全数据— Android中的加密(第2部分)
  5. Visual Studio:error MSB8020
  6. java中时间各种格式
  7. 使用Filter,Listener 时无法注入Bean的解决方法
  8. 硬核图书系列:《Spring Boot编程思想(核心篇)》
  9. 为静态Checkbox动态地添加checked属性
  10. 硬件设计14---什么是预加重与去加重技术?
  11. springboot 打卡功能_SpringBoot、SSM、ajax实现考勤打卡功能(详细实现),供新手参考!...
  12. QQ音乐付费格式转换
  13. 基于51单片机的电子记分牌的设计
  14. 本地编码修改和编码详解
  15. 《Kotlin极简教程》第1章 Kotlin简介
  16. 科技云报道:2023,云计算的风向变了
  17. Nginx配之负载均衡、缓存、黑名单和灰度发布
  18. python建立数据库连接时出错_python连接数据库
  19. Informatica PowerCenter工作流管理系统
  20. DCI format 5A相关学习

热门文章

  1. CCI指标的计算公式
  2. 2021年热门的10个IT技术职位以及如何招聘
  3. 回溯法解决八人过河问题
  4. PayPal Data Scientist 数据科学家面经与工作体验 | 面试笔记
  5. 传闻很多企业倒闭了?比亚迪大裁员,中小企业倒闭......
  6. php主动推送弹幕_百万在线的美拍直播弹幕系统的实时推送技术实践之路
  7. 《厚黑学》| 读书三诀
  8. ZCMU-1133- 第九章:致我们终将逝去的青春
  9. python随机点名程序 图形化_python写一个随机点名软件,python随机点名,最近有个随机点名软件...
  10. 2020.11.26---java复习