测试厨房,商店凭证

时间:2015-02-22 18:01:31

标签: test-kitchen chefdk

使用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,但我一直无法找到适用于所有平台和套件的属性。复制和粘贴属性是最好的方式吗?

1 个答案:

答案 0 :(得分:1)

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

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