读书人

筹建CI环境gitolite-jenkins

发布时间: 2012-11-16 14:12:14 作者: rapoo

搭建CI环境gitolite-jenkins

网络配置:

sudo gedit /etc/network/interfaces

?

auto lo

iface lo inet loopback

auto eth3

iface eth3 inet static

address 192.168.0.104

gateway 192.168.0.1

netmask 255.255.255.0

#network 192.168.1.0

broadcast 192.168.0.255

?

sudo /etc/init.d/networking restart

----jenkins服务器,同时作为git的client

han-jenkins 192.168.0.105

生成公钥私钥对

ssh-keygen -f ~/.ssh/jenkins

获取gitolite服务器信任

ssh-copy-id -i ~/.ssh/jenkins.pub han@192.168.0.104

配置ssh无密码登录

sudo gedit ~/.ssh/config

host gito

user han

hostname 192.168.0.104

port 22

IdentityFile ~/.ssh/jenkins

建立虚拟机共享目录

mkdir sharespace

sudo mount -t vboxsf share sharespace

将公钥拷贝给gitolite服务器

cp .ssh/jenkins.pub sharespace/

?

测试ssh:

ssh han@gito

退出:

exit

?

?

安装jenkins

wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -

deb http://pkg.jenkins-ci.org/debian binary/

sudo apt-get update

sudo apt-get install jenkins

启动jenkins

sudo /etc/init.d/jenkins start

http://192.168.0.105:8080/

安装和配置maven

sudo gedit .bashrc

export M2_HOME=/home/han/apache-maven-3.0.4

export M2=$M2_HOME/bin

export M2_OPTS="-Xms256m -Xmx512m"

export PATH=$M2:$PATH

source .bashrc

?

使用一个现有github的工程测试gitolite-jenkins

git clone git://github.com/feuyeux/tinylibrary.git

?

通过网页在jenkins中配置tinylibrary项目

http://192.168.0.105:8080/job/tinyLibrary/configure

?

在服务器配置好后,执行:

?

git config --global user.name "han"

git config --global user.email ?"feuyeux@gmail.com"

?

git clone han@gito:testing

----

?

han-gitolite 192.168.0.104

git clone git://github.com/sitaramc/gitolite

mkdir -p $HOME/bin

gitolite/install -to $HOME/bin

gitolite setup -pk han.pub

$HOME/bin/gitolite setup -pk $HOME/.ssh/id_rsa.pub

?

$ git clone han@localhost:gitolite-admin

mkdir sharespace

sudo mount -t vboxsf share sharespace

cp sharespace/jenkins.pub gitolite-admin/keydir/

---

安装daemon

sudo apt-get install git-daemon-run

?

sudo gedit /etc/sv/git-daemon/run


?

#!/bin/sh

exec 2>&1

echo 'git-daemon starting.'

exec chpst -ugitdaemon:gitolite \

? "$(git --exec-path)"/git-daemon --verbose --base-path=/home/han/repositories /home/han/repositories

?

?

#!/bin/sh

exec 2>&1

echo 'git-daemon starting.'

exec chpst -ugitdaemon:gitolite \

? "$(git --exec-path)"/git-daemon --verbose --base-path=/home/gitolite/repositories /home/gitolite/repositories

?

sudo sv restart git-daemon

---

安装Gitweb

sudo apt-get install highlight gitweb

?

sudo gedit /etc/gitweb.conf?追加:

$feature{'highlight'}{'default'} = [1];

?

?

sudo gedit /etc/hosts

127.0.0.1localhost han-gitolite

?

?

sudo usermod -a -G han www-data

sudo chmod g+r /home/han/projects.list

sudo chmod -R g+rx /home/han/repositories

sudo service apache2 restart

?

sudo gedit /home/han/gitolite-admin/conf/gitolite.conf?

repo testing

? RW+ = @all

? R = gitweb

?

?

--

alertnative:

?

?

sudo scp ~/.ssh/jenkins.pub han@192.168.0.104:/tmp/jenkins_han.pub

gl-setup /tmp/jenkins_han.pub

?

?

==

参考:

https://github.com/sitaramc/gitolite

http://cisight.com/how-to-setup-git-server-using-gitolite-in-ubuntu-11-10-oneiric

http://pkg.jenkins-ci.org/debian

http://www.countableset.ch/blog/blog/2012/04/29/ubuntu-12-dot-04-installing-gitolite-and-gitweb/

http://blog.airmio.com/2012/05/install-git-server-on-ubuntu-12/

?

?

hooks

http://sitaramc.github.com/gitolite/g2/hooks.html

读书人网 >软件架构设计

热点推荐