Puppet整合SVN(三):Puppet整合SVN
1、检查
1 2 3 4 5 6 7 8 9 | [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配置导入到版本库中,但此时原文件还没有被版本控制:
1 | [root@puppet ~]# svn import /etc/puppet http://10.188.1.73:8080/svn -m “import puppet” –username puppet –password 123456 –no-auth-cache |
检查版本库中是否已存在导入的puppet文件:
1 | [root@puppet ~]# svn list http://10.188.1.73:8080/svn –username puppet –password 123456 –no-auth-cache |
3、删除
1 2 | [root@puppet ~]# rm -fr /etc/puppet [root@puppet ~]# ll /etc/puppet/ |
4、检出
检出到/etc/puppet目录上,使其被版本控制:
1 2 | [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
5、更新
(1)计划任务更新方式(不建议)
1 2 3 | [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勾子更新方式(强力推荐)
1 2 3 4 5 6 7 8 9 10 11 12 13 | [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提交:
1 2 3 4 5 | [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
7、重启
1 | [root@puppet ~]# service puppetmaster restart |
1. 本站所有资源来源于用户上传和网络,因此不包含技术服务请大家谅解!如有侵权请邮件联系客服!10210454@qq.com
2. 本站不保证所提供所有下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理,有奖励!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
4. 如果您也有好的资源或教程,您可以投稿发布,成功分享后有RB奖励和额外RMB收入!
磊宇堂正在使用的服务器 维护管理由磊宇云服务器提供支持
磊宇堂 » Puppet整合SVN(三):Puppet整合SVN
2. 本站不保证所提供所有下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理,有奖励!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
4. 如果您也有好的资源或教程,您可以投稿发布,成功分享后有RB奖励和额外RMB收入!
磊宇堂正在使用的服务器 维护管理由磊宇云服务器提供支持
磊宇堂 » Puppet整合SVN(三):Puppet整合SVN