CentOS安装gitlab,gerrit,jenkins并配置ci流程
http://www.cnblogs.com/Skins/custom/images/logo.gif 开启用户注册功能,点击 -> 系统管理 -> Configure Global Security -> 勾上启用安全注册一个jenkins用户 Jenkins/jenkins
然后打开刚刚的页面,把允许用户注册勾掉
把/var/lib/jenkins下的公钥拷贝到gerrit的jenkins用户的sshkey
配置smtp:
Save后点一下下图的status,不然不会生效
创建gerrit的自动trigger
su – wenbin
htpasswd –m /passwords wenbin
然后登陆gerrit,用wenbin的账户登陆,添加wenbin的publickey
sudo yum install git-review gitweb
git clonessh://wenbin@gerrit.wb.com:29418/openstack
git config user.name wenbin
(VENV)$ git configuser.email 'littlexiaowen1@163.com'
vim test1
git add .
git commit –m ‘test1’
git review
配置ssh使得gerrit的replication生效
这时候发现gerrit的replication报错gerrit Cannot replicate reject HostKey:
是因为ssh没有设置好
su – gerrit
cd .ssh/
vim config
Host gitlab.wb.com:
> PreferredAuthentications publickey
ssh-keyscan -t rsa gitlab.wb.com>> /home/gerrit/.ssh/known_hosts
ssh-keygen -H -f/home/gerrit/.ssh/known_hosts
/etc/init.d/gerrit restart
然后应该replication就ok了
然后clone失败,就把刚才.ssh/config文件删除了,ok
如果replication报错replication faild reason: pre-receive hook declined
我就把gerrit的openstack.git删除,重新git clone –bare git@gitlab.wb.com:devops/openstack.git就好了
然后当你git review后就会发现jenkins会触发了,然后就可以review code,手动submit后就会自动同步到gitlab了,太nb了。。。
设置publish over ssh
在系统设置中添加ssh server
在代码中添加 build/mkpkg.sh
#!/bin/bash
rm -rf myapp-new.tar.gz
tar cvzf /tmp/myapp-new.tar.gz . --exclude.git --exclude .gitreview --exclude .gitreview
cp /tmp/myapp-new.tar.gz ./
再配置一下构建
### service stop ###
#service httpd stop
#service celery-worker stop
### backup ###
cd /home/wenbin/myapp
tar czvf /root/myapp.tar.gz .
#mysqldump -u root -d mustang >/root/mustang.sql
#mysqldump -u root -t mustang >/root/mustang-table.sql
#cp mustang_conf.py /root/
### build ###
cd /home/wenbin/myapp
rm -rf *
tar xzvf /root/myapp-new.tar.gz
chown wenbin:wenbin ./ -R
#cp /root/mustang_conf.py .
### service start ###
#service httpd start
#service celery-worker start
当然先得在ssh的那个server上新建/home/wenbin/myapp目录
最后提示一点,gerrit的trigger的这个项目不能手动构建,因为分支不一样,手动构建会提示找不到分支,只能由git review后触发。
参考:
http://blog.csdn.net/stwstw0123/article/details/47615535
页:
[1]