puppet 整合SVN

简介: 转载:http://blog.51cto.com/ywzhou/15764361、检查[root@puppet ~]# ll /etc/puppet/总用量 32-rw-r--r-- 1 root root 4178 11月 5 16:10 auth.

转载:http://blog.51cto.com/ywzhou/1576436
1、检查

[root@puppet ~]# ll /etc/puppet/
总用量 32
-rw-r--r--  1 root root 4178 11月  5 16:10 auth.conf
-rw-r--r--  1 root root   11 11月  5 16:10 autosign.conf
drwxr-xr-x  5 root root 4096 11月  5 16:10 environments
-rw-r--r--  1 root root 1561 11月  5 16:10 fileserver.conf
drwxr-xr-x  2 root root 4096 11月 13 11:40 manifests
drwxr-xr-x  1 root root 4096 11月 12 15:21 modules
-rw-r--r--  1 root root  915 11月  5 16:10 puppet.conf

2、导入

将puppet配置导入到版本库中,但此时原文件还没有被版本控制:

[root@puppet ~]# svn import /etc/puppet http://10.188.1.73:8080/svn -m "import puppet" --username puppet --password 123456 --no-auth-cache

检查版本库中是否已存在导入的puppet文件:
[root@puppet ~]# svn list http://10.188.1.73:8080/svn  --username puppet --password 123456 --no-auth-cache

3、删除

[root@puppet ~]# rm -fr /etc/puppet
[root@puppet ~]# ll /etc/puppet/

4、检出

检出到/etc/puppet目录上,使其被版本控制:

[root@puppet ~]# svn co http://10.188.1.73:8080/svn /etc/puppet --username puppet --password 123456 --no-auth-cache
[root@puppet ~]# ll /etc/puppet/

在windows管理机器上检出,以后就直接在这里添加修改文件,提交到服务器:

windows下的svn客户端TortoiseSVN下载地址:

[http://tortoisesvn.net/downloads.html](http://tortoisesvn.net/downloads.html)

5、更新

(1)计划任务更新方式(不建议)

[root@puppet ~]# crontab -e
*/5 * * * * /usr/local/bin/svn update /etc/puppet --username puppet --password 123456  --no-auth-cache
[root@puppet ~]# service crond restart
每5分钟更新/etc/puppet目录。

(2)SVN勾子更新方式(强力推荐)

[root@puppet ~]# cd /usr/local/svn/puppet/hooks
[root@puppet hooks]# cp post-commit.tmpl post-commit
[root@puppet hooks]# vi post-commit
#!/bin/sh 
# POST-COMMIT HOOK 
REPOS="$1" 
REV="$2" 
#mailer.py commit "$REPOS" "$REV" /path/to/mailer.conf 
export LANG=en_US.UTF-8 
SVN=/usr/local/bin/svn 
PUPPET_DIR=/etc/puppet 
$SVN update $PUPPET_DIR --username puppet --password 123456  --no-auth-cache
[root@puppet hooks]# chmod 777 /etc/puppet
只要客户端一提交,就会触发post-commit中的update命令更新/etc/puppet目录,节省资源又有效率。

6、提交(不建议)

当需要在服务端修改/etc/puppet目录中的文件时(比如将ssh的配置文件sshd.config复制到ssh模块目录下时),需要提交到版本库。

先使用svn add添加新建的文件,再用svn ci提交:
[root@puppet ~]# svn add /etc/puppet/modules/ssh/files/sshd.config
[root@puppet ~]# svn ci /etc/puppet/ -m "commit"
警告: post-commit hook failed (exit code 1) with output: svn: E155004: Working copy '/etc/puppet' locked. svn: E155004: '/etc/puppet' is already locked.
[root@puppet ~]# cd /etc/puppet/
[root@puppet puppet]# svn cleanup   #清除后再重新添加、提交
注意:不建议在服务端操作,容易出现锁死问题,最好统一在管理机器上进行提交。

在管理机器上提交时出现以下错误:

客户端提交属于“其他”用户,因此需要给/etc/puppet “其他用户”的写权限:

[root@puppet hooks]# chmod 777 /etc/puppet

另外在服务端svn ci后再在客户端提交也会出现locked问题,解决方式是不使用同一账号,最好就不在服务端操作。

参考自关于windows环境SVN服务器问题:[http://blog.sina.com.cn/s/blog_69265fe101017y0v.html](http://blog.sina.com.cn/s/blog_69265fe101017y0v.html)

7、重启

[root@puppet ~]# service puppetmaster restart
目录
相关文章
|
网络协议 Apache
puppet 连载一:服务端和客户端安装(puppet、svn)
1、mkdir /puppet mkdir /puppet/soft 2、服务端安装dnsmasq:yum install -y dnsmasq cp /etc/dnsmasq.
1387 0
|
Apache 数据库管理 数据安全/隐私保护
puppet 安装svn
转载:http://blog.51cto.com/ywzhou/1576378一、工作流程 1、在puppet服务器中安装SVN服务端和客户端 2、将puppet的配置目录/etc/puppet上传到本地SVN服务器 3、删除/etc/puppet,然...
1108 0
|
Apache 网络协议 数据安全/隐私保护
puppet 整合SVN+APACHE
转载:http://blog.51cto.com/ywzhou/1576387 1、安装Apache [root@puppet ~]# yum install -y httpd httpd-devel [root@puppet ~]# service ...
1000 0
|
Linux Ubuntu 监控
puppet 测试SVN整合
转载:http://blog.51cto.com/ywzhou/1576479 一、测试SVN任务更新 1、在管理机器上(win7)安装SVN客户端并检出 2、新建一个文档并提交 3、过5分钟后在puppet客户端查看: [root@puppet ~]# svn list http://10.
1133 0
|
测试技术
puppet svn集成
puppet svn集成  Centos6 OS percent%测试通过; 若有疑问Please Contact Ruiy:  QQ:5160 59158 Tel Phone:150 5519 8367
572 0
|
安全 Linux 网络协议
puppet yum模块、配置仓储、mount模块
转载:http://blog.51cto.com/ywzhou/1577335 作用:自动为客户端配置YUM源,为使用yum安装软件包提供便捷。 1、服务端配置yum模块 (1)模块清单 [root@puppet ~]# tree /etc/puppe...
1070 0
|
网络协议 安全 网络安全