Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 评估资源语句时出错,未知资源类型:';vcsrepo&x27;_Git_Automation_Puppet_Devops - Fatal编程技术网

Git 评估资源语句时出错,未知资源类型:';vcsrepo&x27;

Git 评估资源语句时出错,未知资源类型:';vcsrepo&x27;,git,automation,puppet,devops,Git,Automation,Puppet,Devops,我正在使用puppet部署代码。我正在尝试从git repo克隆代码 vcsrepo { "/home/$server_admin/public_html": ensure => latest, owner => "$server_admin", group => "$server_admin", provider => git, require => [ Packag

我正在使用puppet部署代码。我正在尝试从git repo克隆代码

vcsrepo { "/home/$server_admin/public_html":
        ensure   => latest,
        owner    => "$server_admin",
        group    => "$server_admin",
        provider => git,
        require  => [ Package["git"] ],
        source   => "$server_gitrepo",
        revision => "$server_gitbranch",
    }
在客户端计算机上执行脚本时

Error: Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: Evaluation Error: Error while evaluating a Resource Statement, Unknown resource type: 'vcsrepo' (file: /etc/puppetlabs/code/environments/production/modules/alpha/manifests/source.pp, line: 32, column: 4) on node

注意:git已安装在客户端计算机上

正在Puppet服务器上报告错误。它与客户端上是否安装Git无关。事实上,它与Git没有多大关系

Puppet正在抱怨——事实上相当清楚地是——它无法识别您试图使用的
vcsrepo
资源类型。这确实不是一个内置的资源类型,所以如果您没有使用该名称编写自定义类型,或者没有从模块中获取自定义类型,那么Puppet就不知道您在说什么


很可能您正在查找模块,它确实提供了一个同名类型,但我们无法确定。

Puppet服务器上正在报告错误。它与客户端上是否安装Git无关。事实上,它与Git没有多大关系

Puppet正在抱怨——事实上相当清楚地是——它无法识别您试图使用的
vcsrepo
资源类型。这确实不是一个内置的资源类型,所以如果您没有使用该名称编写自定义类型,或者没有从模块中获取自定义类型,那么Puppet就不知道您在说什么


很可能您正在寻找模块,它确实提供了一个同名类型,但我们无法确定。

为了使用
vcsrepo

为了测试您的设置,我曾经设置了一个沙箱:

$ vagrant up
$ vagrant ssh
$ sudo su -
# puppet --version
6.0.5
已安装的所有模块都可以通过以下方式进行检查:

# puppet module list --environment production
为了检查您的模块,您可以运行(如果Puppet在您运行的环境中没有找到它-我猜是
生产
-您将得到您提到的错误):

要从添加模块,您应该运行(在我的情况下,查找模块的默认存储库配置为
localhost
,因此我必须提供到
forge.puppet.com
)的完整路径:

现在,搜索本地安装的模块,您应该能够看到已安装的模块:

# puppet module list --environment production  2> /dev/null | grep vcsrepo
└── puppetlabs-vcsrepo (v3.0.0)
从现在起,您可以使用类
vcsrepo
(由模块提供)。为了稍微了解它的工作原理,该模块实际上是从
forge
克隆/检索的,并安装在
modulepath
中的一个:

# puppet config print modulepath
/etc/puppetlabs/code/environments/production/modules:/etc/puppetlabs/code/modules:/opt/puppetlabs/puppet/modules

安装它的另一个选项是使用
r10k
PuppetCodeDeploy
(在内部使用
r10k
,这两种解决方案都使用
Puppetfile
,通常位于
/etc/puppetlabs/code/environments/production/
中,以便使用
vcsrepo

为了测试您的设置,我曾经设置了一个沙箱:

$ vagrant up
$ vagrant ssh
$ sudo su -
# puppet --version
6.0.5
已安装的所有模块都可以通过以下方式进行检查:

# puppet module list --environment production
为了检查您的模块,您可以运行(如果Puppet在您运行的环境中没有找到它-我猜是
生产
-您将得到您提到的错误):

要从添加模块,您应该运行(在我的情况下,查找模块的默认存储库配置为
localhost
,因此我必须提供到
forge.puppet.com
)的完整路径:

现在,搜索本地安装的模块,您应该能够看到已安装的模块:

# puppet module list --environment production  2> /dev/null | grep vcsrepo
└── puppetlabs-vcsrepo (v3.0.0)
从现在起,您可以使用类
vcsrepo
(由模块提供)。要了解它的工作原理,模块实际上是从
forge
克隆/检索的,并安装在
modulepath
中:

# puppet config print modulepath
/etc/puppetlabs/code/environments/production/modules:/etc/puppetlabs/code/modules:/opt/puppetlabs/puppet/modules
另一个安装它的选项是使用
r10k
PuppetCodeDeploy
(在内部使用
r10k
,这两种解决方案都使用
Puppetfile
,通常位于
/etc/puppetlabs/code/environments/production/