Jenkins部署集成,进销存系统一

学习开荒这么久了,自然要将支付中卓越的演习软件施行下。


优质的进销存系统机能有多数,笔者这里想依照剧中人物来介绍,感到那样思路比较明晰。

引言:

第一是剧中人物分类,平时的分为购买发售人士、普通职员和工人、系统管理员、调查职员。

  随着IT行业的继续不停前进,软件开辟的复杂度也坐飞机不断提升,软件的付出组织也更为粗大,怎么样越来越好地齐声整个团队开展高效标准的干活,确认保障软件开辟的品质成为了支付进程中不可躲避的标题。

先介绍所有剧中人物通用的机能

  在软件开拓中,不相同的作用模块日常由分裂的开支成员肩负,同风流倜傥功用模块的各层代码也可能是不一致的支出成员编写,涉世告诉大家,模块之间的难点是最难消逝的,也是最耗时的。它需求四个开垦人士互相同盟寻找标题,而合作进度中的沟通所消耗的年华费用是超级高的。何况还只怕因为沟通的欠缺变成模块返工。

  1. 登录
  2. 改进个人消息
  3. 音信管理

  事实上,在一再集成被建议来从前的思想意识开拓方法中平日现身这种状态:由区别程序员开采的单个小模块能够独立专门的学问,但把它们集成为三个大的系统则可能停业。并且集成战败往往是把集成放在开采周期前期,以至是在类型快停止前单列的贰个“总装阶段”。众人周知,问题开掘的越晚,其修复的血本也就越高,耗费时间越长,并且经过新的修补职业后或者诞生新的错误,由此总体系统需求再行实行集成和测验,进而诱致整个软件的临盆周期悠久且不可预感。


  为了解决由守旧开垦方法带来的害处,大家早先选择“早集成、常集成”的不仅集成战术。从早期的分等第集成,到后来的“天天构建”
,再前进到现行反革命的一再集成(孔蒂nuous
Integration,CI卡塔尔。持续集成通过自动化创设、自动化测验以及自动化安排加上较高的集成频率保险了花费系列中的难题能便捷被发掘和修补,降低了合併战败的高危害,使得系统在付出中始终维持在一个牢固健康的合龙状态。

 

  持续集成服务器是全自动营造系统中主要的风华正茂部分。Jenkins是多少个开源项目,它提供了少年老成种易于使用的不停集成系统,使开拓者从混乱的集成人中学脱身出来,静心于更为首要的事务逻辑达成上。同时Jenkins
能试行监督集成人中学存在的怪诞,提供详实的日记文件和唤醒功用,仍可以用图表的形式形象地显示类型营造的来头和长治久安。Jenkins还是能通过自定义安装插件来促成多种各个的功能。持续集成服务器各系统实现效果与利益如下:

购入人士


  1. 增加货物目录(检查核对必要卡塔尔国
  2. 编辑货色目录(检查核对自定义卡塔 尔(英语:State of Qatar)
  3. 选购货色(考察自定义卡塔尔
  4. 充实供货商(核查自定义卡塔尔国
  5. 订正供货商(审查自定义卡塔 尔(英语:State of Qatar)

1、Gitlab上实行代码托管


  在Gitlab上创制开拓组,加入开采职员,新建开垦项目项目并设置权限为Private,普通客户对该类型只有pull权限,不能够直接开展push

普通职员和工人

  强制Review :在 Gitlab
上创办的项目,钦赐相关客户独有Reporter权限,那样顾客并没有权力行使git
push功效,只可以git review到Gerrit
系统上,Jenkins在监听Gerrit上的档案的次序事件会接触营造职分来测量试验代码,
Jenkins 把测量检验结果通过 ssh gerrit 给那个类型打上 Verified
(音信校验卡塔 尔(阿拉伯语:قطر‎成功或失败标识,成功通告任何人士 Review(代码考察卡塔 尔(英语:State of Qatar) 。

  1. 反馈原来就有的货物(审查需求卡塔 尔(英语:State of Qatar)
  2. 提请购置人士购买当下未购买的物品(核实供给卡塔 尔(英语:State of Qatar)
  3. 对已领取的物料实行业评比价
  4. 查看个人申报历史

  Gitlab珍贵Master 分支:在 Gitlab 上创造的门类方可把 Master
分支珍视起来,普通顾客能够和睦创造分支并提交代码到温馨的分段上,未有权限直接付出到Master分支,顾客最终交给申请把团结的分支
Merge 到 Master ,管理员收到 Merge 央求后, Review 后接纳是还是不是联结。


  因为Gitlab和Gerrit做了伙同,Gerrit上的代码会同步到Gitlab上。

查处职员

2、Gerrit检查核对代码

  1. 调查购买贩卖职员新添长的目录
  2. 复核普通工作者请已有些货色
  3. 审结普通工作者社会申请当前未购买的物品

  普通客商将Gitlab里的项目clone到地头,校勘代码后,虽不可能平昔push到代码大旨,可是能够经过git
review提交到Gerrit上進展审查管理。Gerrit相关核查员见到review新闻后,判别是不是通过,通过即commit提交。然后,Gerrit代码会和Gitlab达成联合。


  Gerrit的精粹在于不允许直接将本地校订同步到长途酒馆。顾客机必得先push到长途仓库的refs/for/*分段上,等待审查批准。

 

  Gerrit上也得以对照代码核实提交前后的从头到尾的经过状态。

管理员

3、Jenkins代码宣布

  1. 人士管理
    1. 新扩充普通职员和工人、购买出售职员、编辑者士
    2. 编辑职员的权力
    3. 重新载入参数职员登入密码
    4. 删去职员音信
  2. 系统参数处理
    1. 设置系统机能状态

  当客户git review后,代码通过Jenkins自动测量试验(verified卡塔 尔(阿拉伯语:قطر‎、人工review
后,代码只是merge到了Gerrit的品类中,并未merge到
Gitlab的类型中,所以须要当 Gerrit
项目旅馆有转移时自动同步到Gitlab的项目仓库中。Gerrit 自带多个Replication 作用,同期大家在装置 Gerrit 时候暗中认可安装了这么些Plugin,通过增加replication.config 给 Gerrit即可。



 

CI持续集成系统安装配置流程描述如下:

Gerrit布署布署

1、 安装JDK

[root@Ubuntu]#sudo add-apt-repository ppa:webupd8team/java

[root@Ubuntu]#sudo apt-get update

[root@Ubuntu]#sudo apt-get install oracle-java8-installer

2、 安装mysql

[root@Ubuntu]#sudo apt-get install mysql-server mysql-client #中途会让你输入一次root用户密码(密码:root)

3、 创建gerrit数据库

[root@Ubuntu]#mysql –uroot –p 进入mysql创建gerrit数据库gerritdb

mysql>create database gerritdb CHARACTER SET utf8 COLLATE utf8_general_ci;

mysql>grant all on gerritdb.* to 'gerrit'@'localhost' identified by '123456';

mysql>flush privileges;

4、 安装配备并运行nginx(反向代理端口设为9095卡塔尔

[root@Ubuntu]#sudo apt-get install nginx

[root@Ubuntu]#cd /etc/nginx/conf.d

[root@Ubuntu]#vim gerrit.conf

server {

 listen 9095;

 server_name localhost;

 allow all;

 deny all;

 auth_basic "Welcomme to Gerrit Code Review Site!";

 auth_basic_user_file /home/gerrit/gerrit_site/etc/passwords;

 location / {

 proxy_pass http://10.0.2.15:9091;

 }

 }

[root@Ubuntu]#sudo /etc/init.d/nginx start

5、 安装git

[root@Ubuntu]#  sudo apt-get install git

6、 安装git-review

[root@Ubuntu]#sudo apt-get install git-review

7、 安装gerrit

[root@Ubuntu]#useradd –m gerrit

切换顾客gerrit

[root@Ubuntu]#su – gerrit

将gerrit安装包gerrit-2.11.3.war坐落于相应目录下,实践:

[gerrit@Ubuntu]$java -jar gerrit-2.11.3.war init -d ~/gerrit_site

安装gerrit

设置进度提醒的布署项可在gerrit安装完毕后在gerrit配置文件中实行配置。

8、 配置gerrit

[gerrit@Ubuntu]$cd /home/gerrit/gerrit_site/etc

[gerrit@Ubuntu]$vi gerrit.config

计划文件内容:

[gerrit]

 basePath = git

 canonicalWebUrl = http://10.0.2.15:9091/

[database]

 type = mysql

 hostname = localhost

 database = gerritdb

 username = gerrit

[index]

 type = LUCENE

[auth]

 type = HTTP

[sendemail]

 smtpServer = smtp.qq.com

 smtpServerPort = 465

 smtpEncryption = ssl

 smtpUser = xxx@qq.com

 smtpPass = xxxxxxxxxxxx

 sslVerify = false

 from = CodeReview<xxx@qq.com>

[container]

 user = gerrit

 javaHome = /usr/lib/jvm/java-8-oracle/jre

[sshd]

 listenAddress = *:29418

[httpd]

 listenUrl = proxy-http://10.0.2.15:9091

[cache]

 directory = cache

9、 启动gerrit

[gerrit@Ubuntu]$/home/gerrit/gerrit_site/bin/./gerrit.sh restart

10、
浏览器地址栏输入http://10.0.2.15:9095拜谒gerrit,弹出登入对话框

澳门新葡新京 1

浏览器访谈Gerrit

Gerrit搭建设成功!

11、 gerrit增多客商

瞩目:第三遍加-c参数是为了创制密码文件,暗中认可第2个客商是系统管理员

[root@Ubuntu]#  htpasswd -c /home/gerrit/gerrit_site/etc/passwords gerrit

New password:

Re-type new password:

[root@Ubuntu]#htpasswd /home/gerrit/gerrit_site/etc/password jenkins5062

New password:

Re-type new password:

[root@Ubuntu]#htpasswd /home/gerrit/gerrit_site/etc/password jenkins

New password:

Re-type new password:

12、 登陆gerrit并注册客户邮箱

1卡塔 尔(英语:State of Qatar) 输入客商名密码,进入gerrit页面

澳门新葡新京 2

输入用户名密码,步向gerrit页面

2卡塔尔 打开My->Groups->Contact Information页面进行邮箱注册

澳门新葡新京 3

顾客邮箱注册

3)单击Register New Email按键,在提示框内输入邮箱地址,举办注册

澳门新葡新京 4

客商邮箱注册

3卡塔 尔(阿拉伯语:قطر‎ 展开邮箱,查看验证邮件,展开验证链接,顾客邮箱注册成功

澳门新葡新京 5

顾客邮箱注册成功

13、 生成客户公私钥并进行安排

1卡塔 尔(英语:State of Qatar)切换成须要配置公共钥的客商,推行生成公私钥操作

[gerrit@Ubuntu]$ su - gerrit

[gerrit@Ubuntu]$ ssh-keygen -t rsa -C gerrit5062@163.com         //产生公私钥

 [gerrit@Ubuntu]$cat ~/.ssh/id_rsa.pub

澳门新葡新京 6

收获客商公钥

2)使用客商账号登入gerrit系统,将公钥增添到客商的SSH Public keys

澳门新葡新京 7

Gerrit增多顾客SSH Public keys

少年老成、Gitlab陈设安顿

1、 安装Gitlab

[root@Ubuntu] #sudo apt-get install -y curl openssh-server ca-certificates

[root@Ubuntu] #sudo apt-get install -y postfix

[root@Ubuntu]#curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | sudo bash

[root@Ubuntu] #sudo apt-get install gitlab-ee

[root@Ubuntu] #sudo gitlab-ctl reconfigure

2、 Gitlab配置

Gitlab配置消息坐落于/etc/gitlab/目录下的gitlab.rb文件,

[root@Ubuntu] #cd /etc/gitlab/

[root@Ubuntu] #vim gitlab.rb配置gitlab,相关配置如下:

澳门新葡新京 8

Gitlab配置文件新闻

澳门新葡新京 9

Gitlab配置文件新闻

澳门新葡新京 10

Gitlab配置文件音信

澳门新葡新京 11

Gitlab配置文件消息

配置达成后,重新开动gitlab

[root@Ubuntu] #sudo gitlab-ctl configure

3、 配置root客户密码,登入gitlab

1)终端实践

  [root@Ubuntu] #gitlab-rails console production

irb(main):001:0>u=User.where(id:1).first

u.password = 'secret_pass'

 >u.password_confirmation = 'secret_pass'

>u.save!

2)root登录gitlab

澳门新葡新京 12

登录gitlab

澳门新葡新京 13

登录gitlab

4卡塔 尔(英语:State of Qatar) 加多顾客,此处新添gerrit顾客为大班

澳门新葡新京 14

增加产能gerrit顾客为协会者

5卡塔尔 gerrit客商登入gitlab,增加SSH Public Keys

澳门新葡新京 15

澳门新葡新京,Gitlab增加顾客gerrit SSH Public Keys

二、Jenkins陈设布置

1、安装jenkins

[root@Ubuntu] #wget -q -O - https://pkg.jenkins.io/debian/jenkins-ci.org.key | sudo apt-key add -

[root@Ubuntu] #sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'

[root@Ubuntu] #sudo apt-get update

[root@Ubuntu] #sudo apt-get install Jenkins

2、jenkins暗中同意端口为8080,为严防端口冲突,重新配置端口号为8082

[root@Ubuntu] #cd /etc/default

[root@Ubuntu] #vim Jenkins

澳门新葡新京 16

修改Jenkins配置文件

4、 启动jenkins

[root@Ubuntu] #/etc/init.d/Jenkins start

5、 登录jenkins

1卡塔尔先导私下认可密码在/var/lib/Jenkins/secrets目录下的initialAdminPassword文件中

cat /var/lib/Jenkins/secrets/initialAdminPassword

签到后重新配置jenkins账号密码,暗中同意管理员顾客为jenkins。

2) 登录jenkins

澳门新葡新京 17

Jenkins登录页面

澳门新葡新京 18

Jenkins首页

Jenkins搭建完了。

6、 jenkins系统结构

1卡塔尔国 步入Jenkins系统布署分界面

澳门新葡新京 19

Jenkins系统安顿分界面

Jenkins Location配置:

澳门新葡新京 20

Jenkins Location配置

Email-Notification配置:

澳门新葡新京 21

Email-Notification配置

2卡塔 尔(阿拉伯语:قطر‎ 进入Jenkins插件管理分界面

澳门新葡新京 22

Jenkins插件管理

追寻采用(Available卡塔 尔(英语:State of Qatar)要求安装的插件,(创设筑工程具gradle,Gerrit事件触发器gerrit_trigger,
版本调控工具Git plugin卡塔尔

澳门新葡新京 23

Available可设置插件

塑造筑工程具(Gradle卡塔 尔(英语:State of Qatar)完毕项目标自发性创设、自动测量检验、自动安排等作用。Gerrit事件触发器Gerrit_trigger监听Gerrit系统事件。版本调控工具(Git
plugin卡塔 尔(阿拉伯语:قطر‎保险项目源码处于平稳的保管中,方便开辟人士随即拿到和付出改革。

三、Gitlab与Gerrit集成

1、Gitlab项目设置

领队客商在Gitlab系统新建开采组dev-group,新建项目user,将开垦人士参加开垦组并安顿为reporter权限,reporter顾客并未有push权限,只可以利用
git review 命令提交,而 git review 命令须要 .gitreview
文件存在于项目目录里。管理员gerrit顾客增多.gitreview 文件

[root@Ubuntu] #su – gerrit

[gerrit@Ubuntu]$git clone [git@10.0.2.15:dev-group/user.git](mailto:git@10.0.2.15:dev-group/user.git)

[gerrit@Ubuntu]$cd user

[gerrit@Ubuntu]$ vim .gitreview

澳门新葡新京 24

编辑.gitreview文件

澳门新葡新京 25

编辑.gitreview文件

加多.gitreview到版本库

[gerrit@Ubuntu]$ git add .gitreview

[gerrit@Ubuntu]$ git config --global user.name 'gerrit'

[gerrit@Ubuntu]$git config --global user.email 'gerrit5062@163.com'

[gerrit@Ubuntu]$ git commit .gitreview -m 'add .gitreview file by gerrit.'

[gerrit@Ubuntu]$ git push origin master

品类目录下缺少.gitreview文件,开采职员git review时会报错:

No '.gitreview' file found in this repository. We don't know where

your gerrit is. Please manually create a remote named "gerrit" and try

again.

2、Gerrit设置项目

gitlab上的花色能在gerrit上review的话,必需在gerrit上创办雷同的等级次序,并有平等的饭店文件,所以gerrit上的种类最棒是从gitlab上git
clone –bare过来,而且项目决不为空

1卡塔 尔(英语:State of Qatar)clone –bare Gitlab上的商旅到 Gerrit

[gerrit@Ubuntu]$ cd /home/gerrit/gerrit_site/git/       

[gerrit@Ubuntu]$ git clone --bare git@10.0.2.15:dev-group/user.git  

2卡塔尔国同步 Gerrit的user项目到 Gitlab 上的user项目目录中

当客户git review后,代码通过 jenkins 测量试验、人工 review 后,代码只是
merge 到了 Gerrit 的user项目中,并不曾 merge 到 Gitlab
的user项目中,所以须要当 Gerrit user项目仓库有变动时自动同步到 Gitlab 的
user项目宾馆中。

Gerrit 自带一个 Replication 效率,同期大家在设置 Gerrit
时候暗许安装了这么些 Plugin。增加一个 replication.config 给 Gerrit

[gerrit@Ubuntu]$ cd /home/gerrit/gerrit_site/etc/

[gerrit@Ubuntu]$vim replication.config

[remote "user"]

projects =user

url = git@10.0.2.15:dev-group/user.git

push = +refs/heads/*:refs/heads/*

push = +refs/tags/*:refs/tags/*

push = +refs/changes/*:refs/changes/*

threads = 3

澳门新葡新京 26

增多replication.config配置文件

澳门新葡新京 27

增加replication.config配置文件

设置gerrit用户的 ~/.ssh/config

[gerrit@Ubuntu]$vim /home/gerrit/.ssh/config

 Host 10.0.2.15:

 IdentityFile ~/.ssh/id_rsa

 PreferredAuthentications publickey

澳门新葡新京 28

加上配备客户config文件

在gerrit用户的~/.ssh/known_hosts 中,给10.0.2.15 添加 rsa 密钥

[gerrit@Ubuntu]$sh -c "ssh-keyscan -t rsa 10.0.2.15>> /home/gerrit/.ssh/known_hosts"

[gerrit@Ubuntu]$sh -c "ssh-keygen -H -f /home/gerrit/.ssh/known_hosts"

再度开动 Gerrit 服务
[gerrit@Ubuntu]$/home/gerrit/gerrit_site/bin/gerrit.sh
restart

五、Gerrit与Jenkins集成

1、Gerrit配置时黄金时代度将jenkins配置为Gerrit客商,将jenkins客商的密钥增多到Gerrit

 [root@Ubuntu] #su – Jenkins

[jenkins@Ubuntu]$cat .ssh/id_rsa.pub

澳门新葡新京 29

拿到jenkins顾客的公钥

澳门新葡新京 30

获得jenkins顾客的公钥

2、Jenkins项目设置

1卡塔 尔(阿拉伯语:قطر‎Jenkins新建项目user并成功有关布置

澳门新葡新京 31

Jenkins新建项目user

澳门新葡新京 32

安顿user项目音讯

配置jenkins连接Gerrit仓库

澳门新葡新京 33

jenkins连接Gerrit仓库

接受监听Gerrit event

澳门新葡新京 34

监听Gerrit event

澳门新葡新京 35

监听Gerrit event

分选gradle营造项目

澳门新葡新京 36

gradle构建

澳门新葡新京 37

gradle构建

2、配置Gerrit_trigger plugin

1卡塔 尔(英语:State of Qatar) Manage Jenkins->Gerrit Trigger步入配置分界面

澳门新葡新京 38

Gerrit Trigger配置

2)Add New Server

澳门新葡新京 39

Add New Server

2卡塔尔 填写配置新闻并测验,Test Conection success,配置成功

澳门新葡新京 40

Test Conection success

3、配置Gradle插件

1)Manage Jenkins->Global Tool Configuration,完成Gradle配置

澳门新葡新京 41

配置Gradle插件

澳门新葡新京 42

配置Gradle插件

六、测量检验(操作手册卡塔 尔(阿拉伯语:قطر‎

1、普通客商jenkins5062
从Gitlab或Gerrit系统将品种clone到本地开展编辑,校正代码后,不可能平昔push到代码中央,能够经过git
review提交到gerrit上海展览中心开核实。gerrit相关核查员看见review消息后,决断是或不是通过,通过即Submit提交。

Gitlab代码库clone代码到地面开展编写制定

[jenkins5062@Ubuntu]$ git clone [git@10.0.2.15:dev-group/user.git](mailto:git@10.0.2.15:dev-group/user.git)

澳门新葡新京 43

Gitlab代码库clone代码到本地开展编辑

抑或在Gerrit代码库clone代码到地头开展编写制定,顾客登陆Gerrit->Project->General,
选中clone with commit-msg hook,接受SSH或HTTP,复制clone命令

澳门新葡新京 44

Gitlab代码库clone代码到地头开展编辑

澳门新葡新京 45

Gitlab代码库clone代码到本地开展编写制定

2、项目编写制定落成后交由检查核对

git add test

git commit –m “jenkins5062 change test”

git review

澳门新葡新京 46

交付审核

若果开拓者必要在Gerrit里保存一些亟待超级短时间完毕的干活,能够应用

git review –D

命令进行付出,提交的代码将被Gerrit标志为Draft状态,Draft状态下的change只有提交者本人和被开拓者增加的reviewer及项目总指挥能够看看。处于draft状态的change肖似能够增多reviewer。

比如开垦者git review后须求在时下版本下继续修正,可在重新编辑文件后git
commit时增添–amend参数,重新git review。

3、Gerrit实行代码检查核对

1卡塔尔国客商git review后,jenkins监听Gerrit events,对交付的代码举办构建

澳门新葡新京 47

jenkins监听Gerrit events,对交付的代码实行营造

澳门新葡新京 48

jenkins监听Gerrit events,对交付的代码举办营造

2卡塔 尔(英语:State of Qatar)普通客商登陆Gerrit进行审批,All->Open->Subject列表下列出提交的类型代码,代码已经过Jenkins自动测试(Verified
+1卡塔尔国

澳门新葡新京 49

普通顾客登录Gerrit举行核查

澳门新葡新京 50

普通客商登入Gerrit进行查证

Files->File Path->user/test查看代码改变的详细新闻

澳门新葡新京 51

翻开代码更换的详细音信

3卡塔尔国 管理员登入Gerrit系统检查核对All->Open->Subject列表

澳门新葡新京 52

领队登陆Gerrit系统核实

澳门新葡新京 53

领队登陆Gerrit系统审查

澳门新葡新京 54

管理员登入Gerrit系统核查

考察通过后Submit提交Gitlab并联合到主分支。当客户git
review后,代码通过jenkins自动测验(verified卡塔 尔(英语:State of Qatar)、人工review
后,代码只是merge到了Gerrit的类型中,并未merge到
Gitlab的门类中,所以要求配备replication插件,当 Gerrit
项目客栈有生成时自动同步到Gitlab的品种仓库中。

澳门新葡新京 55

领队登陆Gerrit系统核查

系统一发布送邮件,提示jenkins5062客户代码已Submit并联合到Gitlab代码饭馆

澳门新葡新京 56

系统发送邮件,提示jenkins5062顾客代码已Submit并联合到Gitlab代码宾馆

即使检查核对不通过

Reply…标记-2 ->Post

澳门新葡新京 57

审结不通过

澳门新葡新京 58

审查批准不通过

jenkins5062收受邮件提示,代码未通过查处

澳门新葡新京 59

jenkins5062收到邮件提示,代码未通过考察

澳门新葡新京 60

jenkins5062接纳邮件提示,代码未经过查处

4、登入Gitlab查看项目更新

澳门新葡新京 61

报到Gitlab查看项目更新

澳门新葡新京 62

签到Gitlab查看项目更新

Gitlab代码货仓已形成代码更新!

七、计划集成都部队分主题素材整合治理总括

1、找不到适配Ubuntu 三十三位版本的gitlab安装源,重装六拾贰人Ubuntu系统后,

gitlab平常安装

2、gitlab安装完结后,实践sudo gitlab-ctl reconfigure运行命令,

报错:

 Error executing action 'run' on resource 'bash[migrate

 gitlab-rails database]'

 LoadError:/opt/gitlab/embedded/lib/libre2.so.0: symbol _ZTVNSt7__

 cxx1119basic_sotringstreamIcSt11char_traitsIcESaIcEEE,version

 GLIBCXX_3.4.21 not defined in file libstdc++.so.6 with link time

 reference

缘由:GCC版本太低,晋级Ubuntu至 16.04LTS版本后成功布局

3、执行:ssh -p 29418 -i ~/.ssh/id_rsa 10.0.2.15 -l gerrit

报错:

Unable to negotiate with 192.168.1.101 port 29418: no matching key exchange method found. Their offer: diffie-hellman-group1-sha1

解决:修改~/.ssh/config,加入

Host *

 KexAlgorithms +diffie-hellman-group1-sha1

4、增多jenkins客商登陆gerrit时报

500 Internal Server Error
nginx/1.10.3 (Ubuntu)错误,

执行 chmod 777
passswords修改/home/gerrit/gerrit_site/etc/passwords的权位,纠正文件权限后gerrit苏醒平常访谈

5、客商从gerrit中将代码clone到地点时报错

Unable to negotiate with 10.0.2.15 port 29418: no matching key exchange method found. Their offer: diffie-hellman-group1-sha1

在.ssh/config文件中增加语句:

Host *

 KexAlgorithms +diffie-hellman-group1-sha1

6、gerrit安装报错:

Exception in thread "main" com.google.gwtorm.server.OrmException: Cannot apply SQL

ALTER TABLE changes ADD submission_id VARCHAR(255) BINARY

改良数据库设置,实践数据库设置语句:

set global explicit_defaults_for_timestamp=1;

7、nginx 报403 Forbidden错误

反向代理nginx /etc/nginx/conf.d/gerrit.conf 中 auth_basic_user_file
/home/gerrit/gerrit_site/passwords;

渠道错误,改为auth_basic_user_file
/home/gerrit/gerrit_site/etc/passwords;

留心:IP配置难题,文件权限难题

8、gerrit顾客注册邮箱发送验证连接失利

原因:

1卡塔尔国.
/etc/secure.config文件内还没安排的出殡和下葬邮箱密码和gerrit.config中的密码不等同

缓和方式:配置/etc/secure.config
smtpPass同gerrit.config中的smtpPass的布署保持生龙活虎致。

2卡塔 尔(英语:State of Qatar). 腾讯网smtp.163.com服务器难点,DT:SPM
发送的邮件内容包涵了未被准予的消息,或被系统识别为垃圾邮件。

请检查是或不是有客商发送病毒还是垃圾邮件;发件邮箱改换为qq邮箱

9、1.git review 交给代码诉求可触发jenkins自动测量检验,自动测验通过代码被标识 Verified +1
后被交付gerrit进行核查,编辑者士审查批准后透过后Review
+2,Submit,改进后的代码未协作到gitlab。

削株掘根:Gerrit安装配备replication 插件

10、jenkins build failure
创设错误,使用jenkins安装的gradle插件实行项目创设。

相关文章