我有一个使用Test Kitchen和vagrant工作正常的食谱但是在AWS OpsWorks上它使用remote_directory从我的食谱中的文件复制目录结构时出错了,因为它&#39 ; s加载服务器并通过URL访问文件。我是Chef的新手,所以不确定我应该处理这种情况的正确方法。在这种情况下,我可以在没有空格的情况下重命名所有内容,但在其他情况下这是不可能的。
URI::InvalidURIError
--------------------
cookbook_file[/var/lib/jenkins/jobs/aws configuration info/config.xml] (dynamically defined) had an error: URI::InvalidURIError: bad URI(is not URI?): http://127.0.0.1:8889/file_store/repo/cookbooks/bb-jenkins-master/files/default/jenkins/jobs/aws configuration info/config.xml
Resource Declaration:
---------------------
# In /var/lib/aws/opsworks/cache.stage2/cookbooks/jenkins-master/recipes/default.rb
28: remote_directory '/var/lib/jenkins/jobs' do
29: source 'jenkins/jobs'
30: owner 'jenkins'
31: group 'jenkins'
32: mode '0755'
33: files_owner 'jenkins'
34: files_group 'jenkins'
35: files_mode '0644'
36: end
CHEF-5340已关闭,因为"您必须使用URI转义序列对您自己进行编码,例如: %20表示空格。"但是除了使用ruby自己遍历目录而不使用remote_directory之外,我没有看到明确的方法。