首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

[继续集成]搭建CI环境gitolite-jenkins

2012-11-29 
[持续集成]搭建CI环境gitolite-jenkins搭建CI环境gitolite-jenkins一、搭建gitolite?0. 环境:192.168.0.104

[持续集成]搭建CI环境gitolite-jenkins

搭建CI环境gitolite-jenkins

一、搭建gitolite

?

0. 环境:

192.168.0.104 gitolite服务器/ssh server 余文简称之:#gito#

192.168.0.105 jenkins服务器/ssh client 余文简称之:#jenk#

---- ? ?----

1. #gito#和#jenk#的网络配置

sudo gedit /etc/network/interfaces

?

auto lo

iface lo inet loopback

auto eth0

iface eth0 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 ifconfig eth0 up


sudo /etc/init.d/networking restart

---- ? ?----

2. #gito#的ssh安装

han-gitolite 192.168.0.104

sudo apt-get install openssh-server

?

3. 使用ssh从#jenk#连接#gito#

han-jenkins 192.168.0.105

ssh han@192.168.0.104

安装git并增加一个git帐号为gitolite专用

sudo apt-get install git

sudo adduser git

为git帐号生成ssh密钥

su git

cd ~

ssh-keygen -f ~/.ssh/git

下载gitolite并安装

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

mkdir -p $HOME/bin

gitolite/install -to $HOME/bin

$HOME/bin/gitolite setup -pk ~/.ssh/git.pub

添加gitolite到环境变量

nano .bashrc

PATH=/home/git/bin:$PATH

ctrl+o

退出git帐号,回到han,为使git环境变量生效

exit

su git

cd ~

?

4. 在#jenk#生成公钥私钥对 拷贝到#gito#的临时目录

ssh-keygen -f ~/.ssh/jenkins

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

?

5. 在#gito#继续第3步,在git帐号下:

gitolite setup -pk /tmp/jenkins_han.pub

配置git参数

git config --global user.name "han"

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

管理gitolite-admin

cd ~

git clone git@localhost:gitolite-admin

cd gitolite-admin/

nano conf/gitolite.conf

repo gitolite-admin

? ? RW+ ? ? = ? git

? ? RW+ ? ? = ? jenkins_han

repo testing

? ? RW+ ? ? = ? @all

?

git commit -a -m "change permission"

git push

?

6. 在#jenk#管理gitolite-admin并增加一个air-factory项目

clear

sudo apt-get install git

cd ~

git clone git@192.168.0.104:gitolite-admin

cd gitolite-admin/

nano conf/gitolite.conf

repo gitolite-admin

? ? RW+ ? ? = ? git

? ? RW+ ? ? ? ?= ? jenkins_han

repo air-factory

? ? RW+ ? ? = ? @all

git commit -a -m "add air-factory project"

git push

?

7. 在#jenk#克隆并初始化air-factory项目

cd ~

git clone git@192.168.0.106:air-factory

touch README

git commit -a -m "initial air-factory"

git push -u origin master

---- ? ?----

配置ssh无密码登录

sudo gedit ~/.ssh/config

host gito

user han

hostname 192.168.0.104

port 22

IdentityFile ~/.ssh/jenkins

?

测试ssh:

ssh gito

退出:

exit

---- ? ?----

二、搭建jenkins

0. 共享目录

建立vmware虚拟机的共享目录

?

cd /media/hanl/VMware Tools

sudo tar -xzvf VMwareTools-9.2.2-893683.tar.gz -C ~

cd ~/vmware-tools-distrib/sudo ./vmware-install.pl?

?

?

sudo apt-get install open-vm-dkms

?

sudo mount -t vmhgfs .host:/ /home/hanl/share/

?

----

?

建立virtual-box虚拟机的共享目录

mkdir sharespace

sudo mount -t vboxsf share sharespace

将公钥拷贝给gitolite服务器

cp .ssh/jenkins.pub sharespace/

----

1.?在#jenk#安装和配置JDK

sudo cp?~/share/-leo/linux/jdk-6u37-linux-x64.bin /opt

sudo chmod u+x /opt/jdk-6u37-linux-x64.bin

cd /opt

sudo?./jdk-6u37-linux-x64.bin

sudo nano ~/.bashrc

export?JAVA_HOME=/opt/jdk1.6.0_37

export PATH=$JAVA_HOME/bin:$PATH

source .bashrcjava -version

?

?

2. 在#jenk#安装和配置maven

?

cd ~

wget http://labs.mop.com/apache-mirror/maven/maven-3/3.0.4/binaries/apache-maven-3.0.4-bin.tar.gz

sudo tar -xzvf apache-maven-3.0.4-bin.tar.gz -C /opt/

sudo nano ~/.bashrc

export M2_HOME=/opt/apache-maven-3.0.4

export M2=$M2_HOME/bin

export M2_OPTS="-Xms256m -Xmx512m"

export PATH=$M2:$PATH

source .bashrc

?

mvn -v

?

?

3.?在#jenk#安装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/

---

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

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

?

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

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

---- ? ?----

三、安装 git server 辅助工具

1. 安装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

?

sudo sv restart git-daemon

---

2. 安装Gitweb

sudo apt-get install highlight gitweb

[sudo] password for hanl:?

Reading package lists... Done

Building dependency tree ? ? ??

Reading state information... Done

The following extra packages will be installed:

? apache2 apache2-mpm-worker apache2-utils apache2.2-bin apache2.2-common

? highlight-common libapr1 libaprutil1 libaprutil1-dbd-sqlite3

? libaprutil1-ldap

Suggested packages:

? apache2-doc apache2-suexec apache2-suexec-custom httpd-cgi libcgi-fast-perl

? git-doc

The following NEW packages will be installed:

? apache2 apache2-mpm-worker apache2-utils apache2.2-bin apache2.2-common

? gitweb highlight highlight-common libapr1 libaprutil1

? libaprutil1-dbd-sqlite3 libaprutil1-ldap

0 upgraded, 12 newly installed, 0 to remove and 0 not upgraded.

Need to get 4,167 kB of archives.

After this operation, 12.9 MB of additional disk space will be used.

Do you want to continue [Y/n]? y

----

sudo gedit /etc/gitweb.conf 追加:

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

sudo gedit /etc/hosts

127.0.0.1 localhost han-gitolite

----

sudo usermod -a -G git www-data

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

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

sudo service apache2 restart

----

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

repo gitolite-admin

? ? RW+ ? ? = ? git

? ? RW+ ? ?= ? jenkins_han

repo air-factory

? ? RW+ ? ? = ? @all

repo gitweb

? ? RW+ ? ? = ? @all

?

git clone git@192.168.0.104:gitolite-admin

http://192.168.0.109/gitweb/

---- ? ?----

获取gitolite服务器信任

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

==

参考:

hooks

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

----

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/

?

热点排行