1

使用 Test Kitchen,在 yaml 配置中......存储适用于多个平台和多个套件的全局使用属性的最佳位置在哪里?

以我的 .kitchen.yml 为例:

---
provisioner:
   name: chef_solo

platforms:
  - name: centos-6.5
    driver:
      name: vagrant
  - name: amazon
    driver:
      name: ec2
      image_id: ami-ed8e9284
      flavor_id: t2.medium
      aws_ssh_key_id: <snip>
      ssh_key: <snip>
      availability_zone: us-east-1a
      subnet_id: subnet-<snip>
      require_chef_omnibus: true
      iam_profile_name: <snip>
      ebs_delete_on_termination: true
      security_group_ids: sg-<snip>

# area in question (does not work here)
attributes:
  teamcity:
    server: 'build.example.com'
    port: 80
    username: 'example'
    password: 'example'
# end area in question

suites:
  - name: resin4
    run_list:
      - recipe[example_server::resin4]
      - recipe[example_server::deploy_all_artifacts]
  - name: deploy
    run_list:
      - recipe[example_server::deploy_all_artifacts]
  - name: default
    run_list:
      - recipe[example_server::elasticsearch]
      - recipe[example_server::resin4]
      - recipe[example_server::deploy_all_artifacts]

我知道还有其他厨房文件,例如 ~/kitchen/config.yml 和 .kitchen.local.yml 但我一直无法找到适用于所有平台和套件的属性。将属性复制和粘贴到平台是最好的方法吗?

4

1 回答 1

1

是否有理由在厨房的 yaml 中指定这些属性而不是recipe[example_server::deploy_all_artifacts]?如有必要,您可以在厨房设置覆盖。

此外,这篇文章可能会有所帮助:Access Attributes Across Recipes

于 2015-06-12T14:43:20.970 回答