首页 Linux网维 Puppet整合SVN(三):Puppet整合SVN

Puppet整合SVN(三):Puppet整合SVN

1、检查123456789[root@puppet ~]# ll /etc/puppet/总用量 32-rw-r–r&#8211…

1、检查123456789[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.confdrwxr-xr-x  5 root root 4096 11月  5 16:10 environments

-rw-r–r–  1 root root 1561 11月  5 16:10 fileserver.confdrwxr-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整合SVN(三):Puppet整合SVN插图

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

Puppet整合SVN(三):Puppet整合SVN插图1

3、删除12[root@puppet ~]# rm -fr /etc/puppet[root@puppet ~]# ll /etc/puppet/4、检出检出到/etc/puppet目录上,使其被版本控制:

12[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管理机器上检出,以后就直接在这里添加修改文件,提交到服务器:

Puppet整合SVN(三):Puppet整合SVN插图2

windows下的svn客户端TortoiseSVN下载地址:http://tortoisesvn.net/downloads.html5、更新(1)计划任务更新方式(不建议)123[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勾子更新方式(强力推荐)12345678910111213[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.confexport LANG=en_US.UTF-8SVN=/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提交:12345[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   #清除后再重新添加、提交注意:不建议在服务端操作,容易出现锁死问题,最好统一在管理机器上进行提交。

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

Puppet整合SVN(三):Puppet整合SVN插图3

客户端提交属于“其他”用户,因此需要给/etc/puppet “其他用户”的写权限:[root@puppet hooks]# chmod 777 /etc/puppet另外在服务端svn ci后再在客户端提交也会出现locked问题,解决方式是不使用同一账号,最好就不在服务端操作。

参考自关于windows环境SVN服务器问题:http://blog.sina.com.cn/s/blog_69265fe101017y0v.html7、重启1[root@puppet ~]# service puppetmaster restart

免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。

作者: 3182235786a

为您推荐

linux文件命令

linux文件命令

在 Linux 中,我们可以使用 `with open()` 语句和 `write()` 函数来写入文件。以下是一个简单...
linux的命令

linux的命令

以下是一个简单的 Linux 命令示例,该命令将显示当前日期和时间: “`c #include <st...
linux 命令

linux 命令

由于 Linux 命令是由 C 语言编写的,因此下面是一个简单的用中文编写的 Linux 命令示例,它将输出“Hello...
linux命令tar

linux命令tar

这个问题看起来有些模糊,我不确定您是想了解如何在 Linux 系统中使用 tar 命令,还是如何编写一个名为 tar 的...
linux压缩命令

linux压缩命令

Linux压缩命令:高效管理文件和目录 Linux操作系统提供了一系列强大的压缩命令,使您能够高效地管理文件和目录。无论...

发表回复

返回顶部