这是我在木偶大师身上的密码

class mediawiki {

        $phpmysql = $osfamily ? {
        'redhat' => 'php-mysql',
        'debian' => 'php5-mysql',
        default => 'php-mysql',
        }

        package { $phpmysql:
                ensure => 'present',
        }

        if $osfamily == 'redhat' {

        package {'php-xml':
                ensure => 'present',
        }
}

        class { '::apache':
                docroot => '/var/www/html',
                mpm_module => 'prefork',
                subscribe => Package[$phpmysql],
                }

        class { '::apache::mod::php': }

        vcsrepo {'/var/www/html':
                ensure => 'present',
                provider => 'git',
                source => "https://github.com/wikimedia/mediawiki.git",
                revision => 'REL1_23',
                }

当我在如下启用调试的情况下执行puppet代理时
puppet agent --debug --verbose --no-daemonize --onetime

我可以看到CentOS和Ubuntu puppet代理以不同的方式向Git发送请求,对于Ubuntu,我可以从Git中提取代码,但是对于CentOS,它失败了,错误的版本号如下
Error: /Stage[main]/Mediawiki/Vcsrepo[/var/www/html]: Could not evaluate: Execution of '/usr/bin/git rev-parse HEAD' returned 128: fatal: ambiguous argument 'HEAD': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions
HEAD

CentOS调试日志
Debug: /Stage[main]/Linux/File[/info.txt]: The container Class[Linux] will propagate my refresh event
Debug: /Stage[main]/Mediawiki/File[/var/www/html/index.html]: Nothing to manage: no ensure and the resource doesn't exist
Debug: Executing '/usr/bin/git config --get remote.origin.url'
Debug: Executing '/usr/bin/git remote'
Debug: Executing '/usr/bin/git config --get remote.origin.url'
Debug: Executing '/usr/bin/git fetch origin'
Debug: Executing '/usr/bin/git fetch --tags origin'
Debug: Executing '/usr/bin/git rev-parse HEAD'
Error: /Stage[main]/Mediawiki/Vcsrepo[/var/www/html]: Could not evaluate: Execution of '/usr/bin/git rev-parse HEAD' returned 128: fatal: ambiguous argument 'HEAD': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions
HEAD

Ubuntu调试日志
Debug: /Stage[main]/Mediawiki/File[/var/www/html/index.html]: Nothing to manage: no ensure and the resource doesn't exist
Debug: Executing '/usr/bin/git config --get remote.origin.url'
Debug: Executing '/usr/bin/git remote'
Debug: Executing '/usr/bin/git config --get remote.origin.url'
Debug: Executing '/usr/bin/git fetch origin'
Debug: Executing '/usr/bin/git fetch --tags origin'
Debug: Executing '/usr/bin/git rev-parse HEAD'
Debug: Executing '/usr/bin/git tag -l'
Debug: Executing '/usr/bin/git branch -a'
Debug: Executing '/usr/bin/git rev-parse REL1_23'

不知道为什么CentOS看起来不一样。
谢谢您。

最佳答案

当我第一次尝试用git签入/var/www/html目录时,我的互联网连接断了,从第二次尝试开始,我就收到了这个错误。
我删除了完整的/var/www/html

rm -rf /var/www/html

并发布
puppet agent --verbose --no-daemonize --onetime

而且效果很好。

关于linux - puppet :vcsrepo和git,Ubuntu和CentOS之间的请求格式不同,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42220030/

10-14 17:16
查看更多