Git版本機環境遷移與升級 本文作者:陳超允,轉載請註明
技術組
文檔修訂記錄
日期
|
修訂內容
|
修訂人
|
版本
|
備註
|
2017-12-20
|
首次編寫
|
陳超允
|
V1.0
|
初始化
|
-
準備工作
-
備份gerrit目錄與數據庫
-
#登陸203
#備份gerrit目錄,代碼庫在GERRIT_HOME/Review/git下
[root@sttx home]# cd /home/
[root@sttx home]# tar -zcvf gerrit.tar.gz gerrit/
[root@sttx dev0]# mkdir -p /home/dev0/
[root@sttx dev0]# mv gerrit.tar.gz /home/dev0/
[root@sttx dev0]# mysqldump –ugerrituser -p gerritdb>/home/dev0/reviewdb.sql
[root@sttx dev0]# ls
gerrit.tar.gz reviewdb.sql
-
-
備份Jenkins
-
#確定JENKINS_HOME=/home/.jenkins
#由於以往jenkins開發構建時,保留所有構建記錄,不能立即打包
#兩種做法,一是刪除以往構建,二是打包時跳過歷史構建目錄,這裏選擇刪除以往構建
[root@sttx jobs]# cd /home/.jenkins/jobs/
[root@sttx jobs]# rm -rf ./*/builds/* ./*/workspace/* ./*/workspace/.git*
#修改jenkins項目構建配置爲
[root@sttx home]# tar -zcvf jenkins-home.tar.gz .jenkins/
[root@sttx home]# mv jenkins-home.tar.gz dev0/
[root@sttx home]# cd dev0/
[root@sttx dev0]# ls
gerrit.tar.gz jenkins-home.tar.gz reviewdb.sql
[root@sttx dev0]# scp * ccy001:/u01/soft/
-
-
備份私服庫
-
#登陸192.168.1.111
[root@ddp01 mvn]# pwd
/u01/mw/mvn
[root@ddp01 mvn]# ls
nexus nexus-2.11.2-03 sonatype-work
[root@ddp01 mvn]# tar -zcvf nexus-2.11.2-03.tar.gz nexus-2.11.2-03/
[root@ddp01 mvn]# tar -zcvf sonatype-work.tar.gz sonatype-work/
#傳送
[root@ddp01 mvn]# scp nexus-2.11.2-03.tar.gz sonatype-work.tar.gz ccy001:/u01/soft
-
安裝步驟
-
JDK
-
[root@dev0 soft]# mkdir -p /u01/jdk/
[root@dev0 soft]# cp /u01/soft/jdk1.8.0_131.tar.gz /u01/jdk/
[root@dev0 soft]# cd /u01/jdk/
[root@dev0 jdk]# ls
jdk1.8.0_131.tar.gz
[root@dev0 jdk]# tar -zxvf jdk1.8.0_131.tar.gz
[root@dev0 jdk]# rm -rf jdk1.8.0_131.tar.gz
#配置環境變量,添加如下內容
[root@dev0 u01]# vim /etc/profile
export JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF8
export JAVA_HOME=/u01/jdk/jdk1.8.0_131
export JAVA_BIN=$JAVA_HOME/bin
export PATH=$PATH:$JAVA_HOME/bin
export MAVEN_HOME=/u01/mvn/apache-maven-3.3.9
export GIT_HOME=/usr/local/git/bin
export GIT_CORE=/usr/local/git/libexec/git-core
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME JAVA_BIN PATH CLASSPATH
export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:$JAVA_HOME/bin:/root/bin
export PATH=$PATH:$GIT_HOME:$MAVEN_HOME/bin:$GIT_CORE
[root@dev0 u01]# source /etc/profile
[root@dev0 u01]# java -version
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF8
java version "1.8.0_131"
#創建軟鏈接
[root@dev0 u01]# ln -s /u01/jdk/jdk1.8.0_131/bin/java /usr/bin/java
-
-
Maven安裝
-
[root@dev0 u01]# mkdir -p /u01/mvn
[root@dev0 u01]# cp /u01/soft/apache-maven-3.3.9.tar.gz /u01/mvn/
[root@dev0 u01]# cd /u01/mvn/
[root@dev0 mvn]# ls
apache-maven-3.3.9.tar.gz
[root@dev0 mvn]# tar -zxvf apache-maven-3.3.9.tar.gz
#修改setting爲雲環境上私服地址,替換192.168.1.111爲dev0
[root@dev0 conf]# cd /u01/mvn/apache-maven-3.3.9/conf/
[root@dev0 conf]# vim settings.xml
#vim執行替換
:g/192.168.1.111/s//dev0/g
[root@dev0 conf]# mvn -v
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF8
Apache Maven 3.3.9…
#創建軟鏈接
[root@dev0 u01]# ln -s /u01/mvn/apache-maven-3.3.9/bin/mvn /usr/bin/mvn
-
-
Git安裝
-
[root@dev0 soft]# unzip v2.3.0.zip
[root@dev0 soft]# cd git-2.3.0/
#安裝git依賴包
[root@dev0 git-2.3.0]# yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker
[root@dev0 git-2.3.0]# make prefix=/usr/local/git all
[root@dev0 git-2.3.0]# make prefix=/usr/local/git install
[root@dev0 git-2.3.0]# git --version
git version 2.3.0
#創建軟鏈接
[root@dev0 git-2.3.0]# ln -s /usr/local/git/bin/git /usr/bin/git
-
-
Nginx安裝
-
[root@pelican mvn]# cd /u01/soft/
[root@pelican soft]# wgethttp://nginx.org/download/nginx-1.12.2.tar.gz
[root@pelican soft]# tar -zxvf nginx-1.12.2.tar.gz
[root@pelican soft]# cd nginx-1.12.2
#安裝依賴包
[root@pelican soft]#yum -y install openssl openssl-devel
[root@pelican soft]#yum -y install pcre* zlib*
[root@pelican soft]#yum install -y gcc gcc-c++
[root@pelican soft]#yum install GeoIP
[root@pelican soft]#./configure --with-stream
[root@pelican soft]#make && make install
[root@pelican soft]#./configure --with-http_stub_status_module --with-stream --with-http_geoip_module --with-http_ssl_module --with-http_realip_module
[root@pelican soft]#make && make install
#安裝完的目錄/usr/local/nginx
#創建啓停重啓腳本
[root@pelican ~]# cd /usr/local/nginx/
[root@pelican nginx]# cat startNginx.sh
cd /usr/local/nginx
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
[root@pelican nginx]# cat stopNginx.sh
pkill -9 nginx
[root@pelican nginx]# cat restartNginx.sh
cd /usr/local/nginx/sbin/
./nginx -s reload
-
-
-
設爲系統服務自啓
-
-
[root@pelican nginx]# cat /etc/init.d/nginx
#!/bin/sh
#
# Startup script for the nginx Continuous Integration server
# (via Jakarta Tomcat Java Servlets and JSP server)
#
# chkconfig: - 85 15
# description: Jakarta nginx Java Servlets and JSP server
# processname: nginx
# pidfile: /u01/app/nginx/.pid
export JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF8
EXCUTE_USER=root
APP_NAME=nginx
LOCKFILE=/var/lock/$APP_NAME
APP_HOME=/usr/local/nginx
case "$1" in
start)
echo -n "Starting $APP_NAME: "
su -p -s /bin/sh $EXCUTE_USER -c "$APP_HOME/start*.sh"
RETVAL=$?
echo
[ $RETVAL = 0 ] && touch $LOCKFILE
;;
stop)
echo -n "Shutting down $APP_NAME: "
su -p -s /bin/sh $EXCUTE_USER -c "$APP_HOME/stop*.sh"
RETVAL=$?
echo
[ $RETVAL = 0 ] && rm -f $LOCKFILE
;;
restart)
$0 stop
$0 start
;;
condrestart)
[ -e $LOCKFILE ] && $0 restart
;;
status)
su -p -s /bin/sh $EXCUTE_USER -c "ps -ef |grep $APP_NAME"
;;
*)
echo "Usage: $0 {start|stop|restart|status}"
exit 1
esac
exit 0
#設置服務
[root@pelican nginx]#chmod a+x /etc/init.d/nginx
[root@pelican nginx]#chkconfig nginx on
[root@pelican nginx]# chkconfig --list |grep nginx
nginx 0:關閉 1:關閉 2:啓用 3:啓用 4:啓用 5:啓用 6:關閉
[root@pelican nginx]#service nginx status
#nginx配置後續再做
-
-
GitWeb安裝
-
[root@dev0 git-2.3.0]# yum -y install gitweb
[root@dev0 git-2.3.0]#yum -y install perl-Time-HiRes
[root@dev0 git-2.3.0]#yum -y install perl-CPAN
[root@dev0 git-2.3.0]#yum -y install perl-CGI
#配置gitweb 展示的那些代碼庫的根目錄
[root@dev0 git-2.3.0]# vim /etc/gitweb.conf
$projectroot = "/u01/gerrit/Review/git"
#創建軟鏈接
[root@dev0 gerrit]# mkdir -p /usr/lib/cgi-bin/
[root@dev0 gerrit]# ln -s /usr/local/git/share/gitweb/gitweb.cgi /usr/lib/cgi-bin/gitweb.cgi
-
-
MySQL安裝
-
[root@dev0 soft]# mkdir -p /u01/mysql
[root@dev0 soft]# cd /u01/mysql/
[root@dev0 mysql]# cp /u01/soft/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz ./
[root@dev0 mysql]# tar -zxvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
[root@dev0 mysql]# rm -rf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
[root@dev0 mysql]# cd mysql-5.7.17-linux-glibc2.5-x86_64/
[root@dev0 mysql-5.7.17-linux-glibc2.5-x86_64]# mkdir /u01/mysql/logs /u01/mysql/data
#先將配置好的my.conf文件傳至服務器
#直接用root用戶裝,修改user=root
[root@dev0 mysql]# vim /etc/my.cnf
user=root
[root@dev0 mysql]# mysql-5.7.17-linux-glibc2.5-x86_64/bin/mysqld --initialize --user=root --basedir=/u01/mysql --datadir=/u01/mysql/data --innodb_undo_tablespaces=3 --explicit_defaults_for_timestamp
#此處需要注意記錄生成的臨時密碼,如:root@localhost:jh7n;CSoXbgh
[root@dev0 mysql]# mysql-5.7.17-linux-glibc2.5-x86_64/bin/mysql_ssl_rsa_setup --datadir=/u01/mysql/data/
#查看默認密碼
[root@dev0 mysql]#cat /u01/mysql/logs/mysql-error.log
[root@dev0 mysql-5.7.17-linux-glibc2.5-x86_64]# cp support-files/mysql.server /etc/init.d/mysql
[root@dev0 mysql-5.7.17-linux-glibc2.5-x86_64]# chkconfig --add mysql
[root@dev0 mysql-5.7.17-linux-glibc2.5-x86_64]# chkconfig mysql on
[root@dev0 mysql-5.7.17-linux-glibc2.5-x86_64]# chkconfig --list | grep mysql
mysql 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@dev0 mysql]# vim /etc/init.d/mysql
basedir=/u01/mysql/mysql-5.7.17-linux-glibc2.5-x86_64
datadir=/u01/mysql/data
#配置環境變量
[root@dev0 mysql]# vim /etc/profile
export MYSQL_HOME=/u01/mysql/mysql-5.7.17-linux-glibc2.5-x86_64/bin
#創建軟鏈接
[root@dev0 mysql]# ln -s /u01/mysql/mysql-5.7.17-linux-glibc2.5-x86_64/bin/mysqld /usr/bin/mysqld
#登陸mysql
[root@dev0 mysql]# mysql --user=root -p
mysql> SET PASSWORD=PASSWORD('password');
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
#添加遠程訪問權限
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> update user set host = '%' where user = 'root';
Query OK, 1 row affected (0.01 sec)
#重啓
[root@dev0 mysql]# service mysql restart
-
-
-
導入gerrit數據庫腳本
-
-
mysql>CREATE DATABASE IF NOT EXISTS reviewdb DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
mysql> use reviewdb;
mysql> source /u01/soft/dev0/reviewdb.sql
-
-
-
Mysql反向代理配置
-
-
#配置mysql反向代理流
[root@pelican nginx]# pwd
/usr/local/nginx
[root@pelican nginx]# vim conf/nginx.conf
#gerrit-mysql
stream {
server {
listen 3300;
proxy_pass dev0:3306;
proxy_buffer_size 512k;
allow all;
}
}
#重啓nginx
[root@pelican nginx]# sh restartNginx.sh
#用navicat遠程連接測試是否能連上
-
-
Gerrit安裝
-
#解壓從203備份的gerrit tar包
[root@dev0 u01]# cp soft/dev0/gerrit.tar.gz ./
[root@dev0 u01]# tar -zxvf gerrit.tar.gz
#修改配置
[root@dev0 logs]# cd /u01/gerrit/Review/
[root@dev0 Review]# cat etc/gerrit.config
[gerrit]
basePath = git
canonicalWebUrl = http://39.108.0.229/gerrit
[database]
type = mysql
hostname = localhost
database = reviewdb
username = root
[index]
type = LUCENE
[auth]
type = HTTP
[sendemail]
smtpServer = smtp.qq.com
smtpServerPort = 465
smtpEncryption = ssl
smtpUser = [email protected]
smtpPass = ybvnzfujouqocaaa
sslVerify = false
from=CodeReview<[email protected]>
[gitweb]
cgi = /usr/local/git/share/gitweb/gitweb.cgi
[container]
user = root
javaHome = /u01/jdk/jdk1.8.0_131/jre
[sshd]
listenAddress = *:29418
[httpd]
listenUrl = http://*:8080/gerrit
[cache]
directory = cache
#重啓失敗,重新更新下索引
[root@dev0 gerrit]# cd Review/bin/
[root@dev0 bin]# java -jar gerrit.war reindex -d /u01/gerrit/Review
#安裝gerrit爲系統服務,開機自啓
[root@dev0 gerrit]# vim /etc/init.d/gerrit
#!/bin/bash
#chkconfig:2345 20 90
#description:jenkins
#processname:jenkins
export JAVA_HOME=/u01/jdk/jdk1.8.0_131
case $1 in
start) su root /u01/gerrit/start-gerrit.sh;;
stop) su root /u01/gerrit/stop-gerrit.sh;;
restart) su root /u01/gerrit/restart-gerrit.sh;;
status)su -p -s /bin/sh root -c "ps -ef |grep gerrit";;
*) echo "require start|stop|restart|status" ;;
esac
[root@dev0 jenkins]# chmod a+x /etc/init.d/gerrit
[root@dev0 gerrit]# chkconfig gerrit on
[root@dev0 gerrit]# chkconfig --list |grep gerrit
gerrit 0:off 1:off 2:on 3:on 4:on 5:on 6:off
-
-
-
配置gerrit nginx反向代理
-
-
#上傳http認證文件
[root@pelican gerrit]# pwd
/usr/local/nginx/gerrit
[root@pelican gerrit]# cp /u01/soft/dev0/gerrit2.passwd ./
#配置gerrit server
[root@pelican nginx]# vim conf/nginx.conf
location /gerrit{
#root /home/gerrit/Review;
proxy_pass http://dev0:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
auth_basic "Gerrit Code Review";
auth_basic_user_file /usr/local/nginx/gerrit/gerrit2.passwd;
}
#另外還需配置gerrit端口29418的代理
#stream tcp
stream {
#gerrit-mysql
server {
listen 3300;
proxy_pass dev0:3306;
proxy_buffer_size 512k;
allow all;
}
#gerrit-ssh
server{
listen 29418;
proxy_buffer_size 512k;
proxy_pass dev0:29418;
allow all;
}
}
#最後配置騰訊雲增加入站規則TCP:29418
-
-
-
配置gitweb權限
-
-
在單獨項目的ACL裏爲項目的用戶組增加了對refs/meta/config的read權限
-
-
Jenkins安裝
-
#解壓jenkins tar包
#修改啓停腳本,改變jenkins家目錄
[root@dev0 jenkins]# cat start-jenkins.sh
#!/bin/bash
export JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF8
export JENKINS_HOME=/u01/jenkins/.jenkins
cd /u01/jenkins
nohup /u01/jdk/jdk1.8.0_131/bin/java -Dfile.encoding=utf-8 -Dhudson.util.ProcessTree.disable=true -jar jenkins.war --httpPort=8081 >> system_out.log 2>&1 &
echo $!> /u01/jenkins/.pid
echo "===jenkins started!"
#解壓jenkins配置tar包
[root@dev0 jenkins]# tar -zxvf jenkins-home.tar.gz
#跟上述做法相同,將jenkins作爲系統服務
[root@dev0 jenkins]# vim /etc/init.d/Jenkins
#!/bin/sh
#
# Startup script for the nginx Continuous Integration server
#
# chkconfig: - 85 15
# description: Jakarta nginx Java Servlets and JSP server
# processname: tomcat
# pidfile: /var/run/nginx.pid
JENKINS_USER=root
LOCKFILE=/var/lock/jenkins
APP_NAME=jenkins
JENKINS_HOME=/u01/jenkins
case "$1" in
start)
echo -n "Starting $APP_NAME: "
su -p -s /bin/sh $JENKINS_USER -c "$JENKINS_HOME/start-jenkins.sh"
RETVAL=$?
echo
[ $RETVAL = 0 ] && touch $LOCKFILE
;;
stop)
echo -n "Shutting down $APP_NAME: "
su -p -s /bin/sh $JENKINS_USER -c "$JENKINS_HOME/stop-jenkins.sh"
RETVAL=$?
echo
[ $RETVAL = 0 ] && rm -f $LOCKFILE
;;
restart)
$0 stop
$0 start
;;
condrestart)
[ -e $LOCKFILE ] && $0 restart
;;
status)
su -p -s /bin/sh $JENKINS_USER -c "ps -ef |grep $APP_NAME"
;;
*)
echo "Usage: $0 {start|stop|restart|status}"
exit 1
esac
exit 0
[root@dev0 jenkins]# chmod a+x /etc/init.d/jenkins
[root@dev0 jenkins]# chkconfig jenkins on
[root@dev0 gerrit]# chkconfig --list |grep Jenkins
[root@dev0 gerrit]# ssh-keygen
-
-
-
Jenkins nginx反向代理配置
-
-
[root@pelican nginx]# cat conf/nginx.conf
#端口8081
server {
listen 80;
server_name localhost;
location /{
client_max_body_size 30m;
client_body_buffer_size 128k;
proxy_buffer_size 26400k;
proxy_buffers 32 25000k;
proxy_busy_buffers_size 33280k;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://dev0:8081;
access_log logs/jenkins_access.log;
}
location /gerrit-trigger{
client_max_body_size 30m;
client_body_buffer_size 128k;
proxy_buffer_size 26400k;
proxy_buffers 32 25000k;
proxy_busy_buffers_size 33280k;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://dev0:8081/gerrit-trigger;
access_log logs/jenkins_access.log;
}
}
#登陸jenkins更改jenkins地址
Jenkins URL : http://123.206.68.97:8081
-
-
-
Jenkins配置修改
-
-
-
系統設置àgerrit triggeràgerritServeràGerrit Connection Setting
因爲gerrit與jenkins裝在同一臺機子上,HostName:127.0.0.1; Frontend URL:http://127.0.0.1:8080/
-
配置公網ip(pelican)從節點,用於發佈上線包腳本
-
pelican配置dev0免密登陸認證
-
節點配置
-
job上綁定slave-pelican
-
-
-
jenkins job源碼管理修改
-
-
(1)改爲本地10.0.0.16,修改所有構建項目地址
Repository URL:ssh://[email protected]:29418/Weidi_ccbc
(2)用jekins用戶登陸gerrit,添加jenkins所在機器(dev0)的ssh-key
-
Gerrit升級說明
原203機子gerrit-2.8.1最高升級至gerrit-2.11.10,再高的版本則導致eclipse gerrit插件不能使用,gerrit-web也不能使用gitweb。
-
-
Gerrit升級步驟
-
-
上傳gerrit-2.9.war、gerrit-2.10.war、gerrit-2.11.10.war至dev0
[root@dev0 dev0]# scp gerrit-2.10.war gerrit-2.9.war gerrit-2.11.10.war dev0:/u01/soft/
-
依次安裝2.9-->2.10-->2.11
[root@dev0 soft]# java -jar gerrit-2.9.war init -d /u01/gerrit/Review/
[root@dev0 soft]# java -jar gerrit-2.10.war init -d /u01/gerrit/Review/
[root@dev0 soft]# java -jar gerrit-2.11.10.war init -d /u01/gerrit/Review/
#安裝提示
#Location of Git repositories [git]: /home/review_site/git/
#Database server type [h2]: mysql
#Database name [reviewdb]: gerritdb
#Database username [root]: gerritusr
#Authentication method [OPENID/?]: http
#Behind reverse proxy [Y/n]? y
#Canonical URL [http://ccy001/]:http://39.108.0.229/gerrit/
-
-
升級日誌
-
-
增加commit size列,有紅、黃、綠三種顏色
-
增加GitWeb操作界面
-
可在gerrit的一次commit上,在瀏覽器上增加或修改文件
-
進入代碼review界面,去除換行符”\r”
-
Review時,可選擇一段代碼塊,按下c,添加draft,選中代碼塊高亮
-
Eclipse配置修改
-
-
Maven地址修改
-
-
WindowsàpreferresàMavenàUser settingà
-
-
-
Gerrit配置修改
-
-
WindowàShow ViewàOtheràMylynàTeam repositoryà
-
安裝問題記錄
-
Gerrit 提交信息亂碼
-
#查看gerrit數據庫編碼
mysql> show variables like '%character%';
| character_set_server | latin1 |
首先保證服務器的系統編碼是支持中文的
[root@115 ~]# cat /etc/sysconfig/i18n
LANG="zh_CN.UTF-8"
#永久性修改mysql
[root@115 ~]# vim /etc/my.cnf
.......
[mysqld]
......
character_set_server = utf8 【添加這一行內容】
#重啓
[root@115 ~]# service mysql restart
-
-
Gerrit發送郵件異常
-
[root@ccy001 gerrit]# vim Review/etc/gerrit.config
[sendemail]
smtpServer = smtp.qq.com
smtpServerPort = 465
smtpEncryption = ssl
smtpUser = [email protected]
smtpPass = ybvnzfujouqocaaa
sslVerify = false
[email protected]
-
-
Gerrit做review時,The page you requested was not found, or you do not have permission to view
-
原因:gerrit nginx配置代理時,去掉反斜槓/
-
-
User jenkins has no capability to connect to Gerrit event stream
-
解決方案:
管理員登錄gerritàProjectsàListàAll-ProjectsàProjectsàAccess
àGlobal CapabilitiesàStream Events點擊Non-Interactive Usersà
à添加jenkins用戶到‘Non-Interactive Users’組
-
-
GitWeb "Can't locate Time/HiRes.pm in @INC"問題
-
yum -y install perl-Time-HiRes
yum -y install perl-CPAN
yum -y install perl-CGI
-
-
Gerrit的git unpack error問題
-
#解決的辦法就是到reviewdb數據庫裏,先從patch_sets表中找出change_id是對應commitid的記錄,確定無誤後
我們要做的是將其關閉,並把狀態置爲Abandon。(友情提醒,涉及重要業務,注意備份數據庫)
mysql> update changes set open='N',status='A' where change_id=1974;
-
-
jenkins build的時候拿的不是新提交的代碼
-
源碼管理à選擇git,Refspec:refs/changes/*:refs/changes/*Branch Specifier (blank for 'any'):$GERRIT_REFSPEC
-
-
jenkins配置slave的時候命令找不到
-
#把要用的命令創建一個快捷方式到/usr/bin,如
ln -s /usr/local/git/bin/git /usr/bin/git
ln -s /u01/mvn/apache-maven-3.3.9/bin/mvn /usr/bin/mvn
ln -s /u01/jdk/jdk1.8.0_131/bin/java /usr/share/java
ln -s /u01/mvn/apache-maven-3.3.9/bin/mvn /usr/bin/mvn
ln -s /usr/local/git/bin/git /usr/bin/git
-
-
com.jcraft.jsch.JSchException: Auth fail,User: jenkins KeyFile: /root/.ssh/id_rsa
-
原因是新安裝的gerrit jenkins用戶沒有配置主機的ssh key,登陸jenkins用戶到gerrit,添加SSH Public key 就好了
-
-
jenkins打包構建時,殺掉jenkins腳本里執行的進程,解決辦法
-
解決辦法:
-
啓動Jenkins的時候加上-Dhudson.util.ProcessTree.disable=true,也就是java -Dhudson.util.ProcessTree.disable=true -jar jenkins.war
-
臨時改變BUILD_ID值,使得jenkins不會找到並結束掉run.sh啓動的後臺進程,
OLD_BUILD_ID=$BUILD_ID
echo $OLD_BUILD_ID
BUILD_ID=dontKillMe
./run.sh restart
#改回原來的BUILD_ID值
BUILD_ID=$OLD_BUILD_ID
echo $BUILD_ID
-
-
git克隆項目出現no matching key exchange method found. Their offer: diffie-hellman-group1-sha1
-
解決辦法:在window上用git bash執行
vim ~/.ssh/config