kitchen-ssh ドライバーを使用して、キッチンでserverspec verifier-nameを使用してシェフ クックブックの統合テストを作成しようとしています。以下は、私のクックブックでファイルがどのように配置されているかのディレクトリ構造です。
|-- recipes
| |-- decompress.rb
| |-- default.rb
| |-- dir_create.rb
| |-- dir_delete.rb
| |-- nexus.rb
| |-- replace_artefacts.rb
| |-- replace_configurations.rb
| |-- start_service.rb
| `-- stop_service.rb
|-- spec
| |-- spec_helper.rb
| `-- unit
| `-- recipes
| |-- decompress_spec.rb
| |-- default_spec.rb
| |-- dir_create_spec.rb
| |-- dir_delete_spec.rb
| |-- nexus_spec.rb
| |-- replace_artefacts_spec.rb
| |-- replace_configurations_spec.rb
| |-- start_service_spec.rb
| `-- stop_service_spec.rb
`-- test
`-- integration
|-- default
| `-- serverspec
| |-- default_spec.rb
| `-- dir_create_spec.rb
`-- helpers
`-- serverspec
`-- spec_helper.rb
そして、これが .Kitchen.yml ファイルの内容です。
---
driver:
name: ssh
hostname: localhost
port: 22
user: vagrant
password: ****
provisioner:
name: chef_zero
cookbook_path: /u01/app/rdf_chef_repo/cookbooks/
data_path: test/integration/helpers/serverspec/spec_helper.rb
platforms:
- name: dummy
verifier:
name: serverspec
suites:
- name: default
verifier:
rspec_path: '/opt/chefdk/embedded/bin'
env_vars:
TARGET_HOST: 127.0.0.1
LOGIN_USER: vagrant
LOGIN_PASSWORD: *****
GEM_HOME: '/opt/chefdk/embedded/bin'
run_list:
- recipe[cookbook_name::default]
キッチン テストを実行すると (.kitchen.yml ファイルが存在するディレクトリ、つまりクックブック ディレクトリから)、以下のように serverspec が正常に完了しました。
Installing ruby, bundler and serverspec remotely on server
Running Serverspec
/opt/chefdk/embedded/bin/rspec
Finished verifying <default-dummy> (0m3.49s).
serverspec 実行の出力が見つかりませんでした。
誰かが私がどこで間違っているのかを理解するのを手伝ってくれますか?
前もって感謝します