通过gitweb管理Puppet配置(nginx版本+lighttpd版)

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;

        }

}

}

窗体底端

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。