Use kitchen-docker for integration testing
This commit is contained in:
parent
e293ecc585
commit
93629df739
@ -1,162 +0,0 @@
|
||||
---
|
||||
driver_config:
|
||||
digitalocean_client_id: <%= ENV['DIGITAL_OCEAN_CLIENT_ID'] %>
|
||||
digitalocean_api_key: <%= ENV['DIGITAL_OCEAN_API_KEY'] %>
|
||||
google_client_email: <%= ENV['GOOGLE_CLIENT_EMAIL'] %>
|
||||
google_key_location: <%= ENV['GOOGLE_KEY_LOCATION'] %>
|
||||
google_project: <%= ENV['GOOGLE_PROJECT'] %>
|
||||
joyent_username: <%= ENV['SDC_CLI_ACCOUNT'] %>
|
||||
joyent_keyfile: <%= ENV['SDC_CLI_IDENTITY'] %>
|
||||
joyent_keyname: <%= ENV['SDC_CLI_KEY_ID'] %>
|
||||
joyent_url: <%= ENV['SDC_CLI_URL'] %>
|
||||
aws_access_key_id: <%= ENV['AWS_ACCESS_KEY_ID'] %>
|
||||
aws_secret_access_key: <%= ENV['AWS_SECRET_ACCESS_KEY'] %>
|
||||
aws_ssh_key_id: <%= ENV['AWS_KEYPAIR_NAME'] %>
|
||||
availability_zone: <%= ENV['AWS_AVAILABILITY_ZONE'] %>
|
||||
|
||||
provisioner:
|
||||
name: chef_zero
|
||||
require_chef_omnibus: 11.12.8
|
||||
|
||||
platforms:
|
||||
- name: centos-5.8
|
||||
driver_plugin: digitalocean
|
||||
driver_config:
|
||||
image_id: 1601
|
||||
flavor_id: 63
|
||||
region_id: 4
|
||||
ssh_key_ids: <%= ENV['DIGITAL_OCEAN_SSH_KEY_IDS'] %>
|
||||
ssh_key: <%= ENV['DIGITAL_OCEAN_SSH_KEY_PATH'] %>
|
||||
|
||||
- name: centos-6.5
|
||||
driver_plugin: digitalocean
|
||||
driver_config:
|
||||
image_id: 3448641
|
||||
flavor_id: 63
|
||||
region_id: 4
|
||||
ssh_key_ids: <%= ENV['DIGITAL_OCEAN_SSH_KEY_IDS'] %>
|
||||
ssh_key: <%= ENV['DIGITAL_OCEAN_SSH_KEY_PATH'] %>
|
||||
|
||||
- name: amazon-2013.09
|
||||
driver_plugin: ec2
|
||||
driver_config:
|
||||
image_id: ami-3be4bc52
|
||||
username: ec2-user
|
||||
ssh_key: <%= ENV['EC2_SSH_KEY_PATH'] %>
|
||||
|
||||
- name: amazon-2014.03
|
||||
driver_plugin: ec2
|
||||
driver_config:
|
||||
image_id: ami-6b726502
|
||||
username: ec2-user
|
||||
ssh_key: <%= ENV['EC2_SSH_KEY_PATH'] %>
|
||||
|
||||
# - name: fedora-19
|
||||
# driver_plugin: digitalocean
|
||||
# driver_config:
|
||||
# image_id: 3102879
|
||||
# flavor_id: 63
|
||||
# region_id: 4
|
||||
# ssh_key_ids: <%= ENV['DIGITAL_OCEAN_SSH_KEY_IDS'] %>
|
||||
# ssh_key: <%= ENV['DIGITAL_OCEAN_SSH_KEY_PATH'] %>
|
||||
|
||||
- name: debian-7.0
|
||||
driver_plugin: gce
|
||||
driver_config:
|
||||
image_name: debian-7-wheezy-v20131120
|
||||
zone: <%= ENV['GCE_ZONE'] %>
|
||||
area: <%= ENV['GCE_AREA'] %>
|
||||
network: <%= ENV['GCE_NETWORK'] %>
|
||||
username: <%= ENV['GCE_USERNAME'] %>
|
||||
public_key_path: <%= ENV['GCE_PUBLIC_KEY_PATH'] %>
|
||||
ssh_key: <%= ENV['GCE_SSH_KEY_PATH'] %>
|
||||
run_list:
|
||||
- recipe[apt]
|
||||
|
||||
- name: ubuntu-10.04
|
||||
driver_plugin: digitalocean
|
||||
driver_config:
|
||||
image_id: 14097
|
||||
flavor_id: 63
|
||||
region_id: 4
|
||||
ssh_key_ids: <%= ENV['DIGITAL_OCEAN_SSH_KEY_IDS'] %>
|
||||
ssh_key: <%= ENV['DIGITAL_OCEAN_SSH_KEY_PATH'] %>
|
||||
run_list:
|
||||
- recipe[apt]
|
||||
|
||||
- name: ubuntu-12.04
|
||||
driver_plugin: digitalocean
|
||||
driver_config:
|
||||
image_id: 3101045
|
||||
flavor_id: 63
|
||||
region_id: 4
|
||||
ssh_key_ids: <%= ENV['DIGITAL_OCEAN_SSH_KEY_IDS'] %>
|
||||
ssh_key: <%= ENV['DIGITAL_OCEAN_SSH_KEY_PATH'] %>
|
||||
run_list:
|
||||
- recipe[apt]
|
||||
|
||||
- name: ubuntu-14.04
|
||||
driver_plugin: digitalocean
|
||||
driver_config:
|
||||
image_id: 3240036
|
||||
flavor_id: 63
|
||||
region_id: 4
|
||||
ssh_key_ids: <%= ENV['DIGITAL_OCEAN_SSH_KEY_IDS'] %>
|
||||
ssh_key: <%= ENV['DIGITAL_OCEAN_SSH_KEY_PATH'] %>
|
||||
run_list:
|
||||
- recipe[apt]
|
||||
|
||||
- name: smartos-13.4.0
|
||||
driver_plugin: joyent
|
||||
driver_config:
|
||||
joyent_image_id: ff86eb8a-a069-11e3-ae0e-4f3c8983a91c
|
||||
joyent_flavor_id: g3-standard-4-smartos
|
||||
username: root
|
||||
ssh_key: <%= ENV['SDC_CLI_IDENTITY'] %>
|
||||
busser:
|
||||
ruby_bindir: '/opt/local/bin/'
|
||||
provisioner:
|
||||
name: chef_zero
|
||||
sudo: false
|
||||
chef_omnibus_url: https://raw.github.com/test-kitchen/kitchen-joyent/master/scripts/install-smartos.sh
|
||||
|
||||
- name: omnios-151006
|
||||
driver_plugin: ec2
|
||||
driver_config:
|
||||
image_id: ami-35eb835c
|
||||
flavor_id: m3.medium
|
||||
username: root
|
||||
ssh_key: <%= ENV['EC2_SSH_KEY_PATH'] %>
|
||||
provisioner:
|
||||
name: chef_zero
|
||||
run_list:
|
||||
- recipe[ips-omniti]
|
||||
|
||||
suites:
|
||||
- name: default
|
||||
run_list:
|
||||
- recipe[postfix]
|
||||
attributes: {}
|
||||
|
||||
- name: aliases
|
||||
run_list:
|
||||
- recipe[postfix::aliases]
|
||||
attributes: {}
|
||||
|
||||
- name: client
|
||||
run_list:
|
||||
- recipe[postfix::client]
|
||||
attributes: {}
|
||||
|
||||
- name: server
|
||||
run_list:
|
||||
- recipe[postfix::server]
|
||||
attributes: {}
|
||||
|
||||
- name: sasl_auth
|
||||
run_list:
|
||||
- recipe[postfix::sasl_auth]
|
||||
attributes:
|
||||
postfix:
|
||||
main :
|
||||
smtp_sasl_auth_enable: "yes"
|
63
.kitchen.docker.yml
Normal file
63
.kitchen.docker.yml
Normal file
@ -0,0 +1,63 @@
|
||||
settings:
|
||||
parallel: true
|
||||
|
||||
driver:
|
||||
name: docker
|
||||
# privileged is required otherwise the container doesn't boot right
|
||||
privileged: true
|
||||
|
||||
platforms:
|
||||
- name: centos-7.1
|
||||
driver:
|
||||
image: centos:7
|
||||
platform: rhel
|
||||
run_command: /usr/lib/systemd/systemd
|
||||
provision_command:
|
||||
- /bin/yum install -y initscripts net-tools wget
|
||||
- name: ubuntu-12.04
|
||||
driver:
|
||||
image: ubuntu-upstart:12.04
|
||||
platform: ubuntu
|
||||
disable_upstart: false
|
||||
run_command: /sbin/init
|
||||
provision_command:
|
||||
- /usr/bin/apt-get update
|
||||
- /usr/bin/apt-get install apt-transport-https net-tools -y
|
||||
- name: ubuntu-14.04
|
||||
driver:
|
||||
image: ubuntu-upstart:14.04
|
||||
platform: ubuntu
|
||||
disable_upstart: false
|
||||
run_command: /sbin/init
|
||||
provision_command:
|
||||
- /usr/bin/apt-get update
|
||||
- /usr/bin/apt-get install apt-transport-https net-tools -y
|
||||
|
||||
suites:
|
||||
- name: default
|
||||
run_list:
|
||||
- recipe[postfix]
|
||||
|
||||
- name: aliases
|
||||
run_list:
|
||||
- recipe[postfix::aliases]
|
||||
|
||||
- name: client
|
||||
run_list:
|
||||
- recipe[postfix::client]
|
||||
|
||||
- name: server
|
||||
run_list:
|
||||
- recipe[postfix::server]
|
||||
|
||||
- name: sasl_auth
|
||||
run_list:
|
||||
- recipe[postfix::sasl_auth]
|
||||
attributes:
|
||||
postfix:
|
||||
main:
|
||||
relayhost: "localhost"
|
||||
smtp_sasl_auth_enable: "yes"
|
||||
sasl:
|
||||
smtp_sasl_user_name: "kitchenuser"
|
||||
smtp_sasl_passwd: "not-a-real-thing"
|
27
.travis.yml
27
.travis.yml
@ -1,5 +1,8 @@
|
||||
# Use Travis's cointainer based infrastructure
|
||||
sudo: false
|
||||
rvm: 2.2
|
||||
|
||||
sudo: required
|
||||
|
||||
# install the pre-release chef-dk. Use chef-stable-precise to install the stable release
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
@ -7,22 +10,28 @@ addons:
|
||||
packages:
|
||||
- chefdk
|
||||
|
||||
services: docker
|
||||
|
||||
env:
|
||||
matrix:
|
||||
- INSTANCE=default-ubuntu-1404
|
||||
- INSTANCE=default-ubuntu-1204
|
||||
- INSTANCE=default-centos-71
|
||||
|
||||
# Don't `bundle install`
|
||||
install: echo "skip bundle install"
|
||||
|
||||
branches:
|
||||
only:
|
||||
- master
|
||||
|
||||
# Ensure we make ChefDK's Ruby the default
|
||||
before_script:
|
||||
# https://github.com/zuazo/kitchen-in-travis-native/issues/1#issuecomment-142230889
|
||||
- sudo iptables -L DOCKER || ( echo "DOCKER iptables chain missing" ; sudo iptables -N DOCKER )
|
||||
- eval "$(/opt/chefdk/bin/chef shell-init bash)"
|
||||
# We have to install chef-sugar for ChefSpec
|
||||
- /opt/chefdk/embedded/bin/chef gem install chef-sugar
|
||||
- /opt/chefdk/embedded/bin/chef gem install kitchen-docker
|
||||
script:
|
||||
- /opt/chefdk/embedded/bin/chef --version
|
||||
- /opt/chefdk/embedded/bin/rubocop --version
|
||||
- /opt/chefdk/embedded/bin/rubocop
|
||||
- /opt/chefdk/embedded/bin/foodcritic --version
|
||||
- /opt/chefdk/embedded/bin/foodcritic . --exclude spec
|
||||
- /opt/chefdk/embedded/bin/rspec spec
|
||||
- /opt/chefdk/embedded/bin/rspec
|
||||
- KITCHEN_LOCAL_YAML=.kitchen.docker.yml /opt/chefdk/embedded/bin/kitchen verify ${INSTANCE}
|
||||
|
Loading…
x
Reference in New Issue
Block a user