Puppet路径为:/etc/puppet
软件版本:gitweb-1.7.1-3.el6_4.1.noarch
git-1.7.1-3.el6_4.1.x86_64
fcgi-2.4.0-12.el6.x86_64
spawn-fcgi-1.6.3-1.el6.x86_64
nginx version: nginx/1.6.2
lighttpd/1.4.35 (ssl) - a light and fast webserver
一、建立puppet git仓库
1.进入puppet 的目录
#cd /etc/puppet
2.初始化并添加文件到版本库
#git init
#git add *
3. 提交到版本库
#git commit -m "init puppet commit"
4.克隆出一个bare git仓库, 添加bare仓库,相当于/etc/puppet添加了一个分支。
#mkdir -p /data/git
#git clone --bare /etc/puppet /data/git/puppet.git
5.关联远程库
# git remote add -t master origin /data/git/puppet.git
6.克隆分支,在个人家目录下名为puppet-king
# cd ~
# git clone /data/git/puppet.git puppet-king
二、使用git 管理仓库
接着上面的介绍,简单介绍然后使用git管理仓库。
#cd puppet-king
#vim manifests/nodes.pp ##创建节点文件
#git add manifests/nodes.pp ##添回nodes.pp到仓库
#git commit -m "adding nodes.pp by king" ##提交nodes.pp
# git push ##提交分支
#cd /etc/puppet ##进入/etc/puppet/目录
# git pull ##同步仓库
三、Gitweb 管理puppet代码
Lighttpd版本
#yum install gitweb lighttpd
#cat /etc/gitweb.conf
$projectroot = "/etc/puppet"
#cd /etc/puppet
#git instaweb
这会在1234端口开启一个HTTPD 服务,随之在浏览器中显示该页,十分简单。关闭服务时,只需在原来的命令后面加上--stop 选项就可以了
通过http://ip:1234即可访问
Nginx版本
参考官方https://wiki.archlinux.org/index.php/gitweb#Nginx
安装fcgiwrap
#git clone https://github.com/gnosek/fcgiwrap.git
cd fcgiwrap
#autoreconf -i
#./configure
make
#make install
#yum install –y nginx spwan-fcgi gitweb
因为是需要将/etc/puppet放到gitweb里面去,所以,需要将gitweb目录放到/etc/puppet目录下
# tree /etc/puppet/gitweb/
/etc/puppet/gitweb/
├── error.log
├── gitweb.cgi
├── gitweb.css
├── gitweb.js
├── httpd.conf
└── tmp
修改gitweb配置文件
# cat /etc/gitweb.conf
$projectroot = "/etc/puppet"
修改spwan-fcgi配置
# cat /etc/sysconfig/spawn-fcgi
# You must set some working options before the "spawn-fcgi" service will work.
# If SOCKET points to a file, then this file is cleaned up by the init script.
#
# See spawn-fcgi(1) for all possible options.
#
# Example :
#SOCKET=/var/run/php-fcgi.sock
#OPTIONS="-u apache -g apache -s $SOCKET -S -M 0600 -C 32 -F 1 -P /var/run/spawn-fcgi.pid -- /usr/bin/php-cgi"
FCGI_SOCKET=/var/run/fcgiwrap.socket
FCGI_PROGRAM=/usr/local/sbin/fcgiwrap
FCGI_USER=nginx
FCGI_GROUP=nginx
FCGI_EXTRA_OPTIONS="-M 0700"
OPTIONS="-u $FCGI_USER -g $FCGI_GROUP -s $FCGI_SOCKET -S $FCGI_EXTRA_OPTIONS -F 1 -P /var/run/spawn-fcgi.pid -- $FCGI_PROGRAM"
# cat /usr/local/nginx/conf/vhosts/git.conf
server {
listen 8150;
error_log /data/logs/nginx/git.error.log;
access_log /data/logs/nginx/git.access.log;
root /etc/puppet;
location /gitweb/ {
index gitweb.cgi;
include fastcgi_params;
gzip off;
fastcgi_param GITWEB_CONFIG /etc/gitweb.conf;
if ($uri ~ "/gitweb/gitweb.cgi") {
fastcgi_pass unix:/var/run/fcgiwrap.socket;
}
}
}
窗体底端