我一直在使用Vagrant本地的测试厨房运行serverspec测试,并且没有遇到任何重大问题。我现在正在用测试-厨房设置我的CI流程,并使用厨房-谷歌Gem提供服务器并运行我的serverspec测试套件。
我在我的GCE项目中正确地创建了测试厨房服务器,但是我的测试失败了,因为一些必要的文件没有同步到远程服务器。理想情况下,我希望将多个文件夹同步到远程计算机的主目录。与…有关的东西:
"./scripts", "/home/test/"
"./scripts2, "/home/test/"我的.kitchen.gce.yml文件在下面,我如何规定哪些文件是我想要同步到我的远程机器?
---
driver:
name: gce
project: test-project
email: email@test-project.iam.gserviceaccount.com
machine_type: f1-micro
service_account_name: email@test-project.iam.gserviceaccount.com
tags:
- test-kitchen
service_account_scopes:
- https://www.googleapis.com/auth/compute # Full control access to Google Compute Engine methods.
zone: us-central1-a
provisioner:
name: chef_zero
require_chef_omnibus: <%= ENV['CHEF_VERSION'] || '12.10.24' %>
transport:
name: sftp
username: test
ssh_key:
- ~/.ssh/test-key
platforms:
- name: centos-6
driver:
image_name: centos-6-v20160526
- name: ubuntu-1404
driver:
image_name: ubuntu-1404-trusty-v20160516
verifier:
busser:
sudo: true
suites:
- name: default发布于 2016-06-06 17:34:24
答案是设置data_path提供程序设置。我以前曾研究过这个问题,但是在测试厨房的文档中没有提到这些文件是在哪里同步的,所以我认为我的设置不正确。
我的kitchen.yml文件现在看起来如下:
provisioner:
data_path: "." # Syncs files in path to /tmp/kitchen/data
name: chef_zero
require_chef_omnibus: <%= ENV['CHEF_VERSION'] || '12.10.24' %>上面将当前目录中的所有文件同步到/tmp/kitchen/data。
https://stackoverflow.com/questions/37579127
复制相似问题