ソースを参照

Added smal getting started guide to ease others into the development here

Till Klocke 9 年 前
コミット
6d238e7590
1 ファイル変更34 行追加9 行削除
  1. 34 9
      README.md

+ 34 - 9
README.md

@@ -7,18 +7,43 @@ Since some software components like fastd and B.A.T.M.A.N. are not always easily
 via a packet manager on all platforms, the basic idea in this repo is to create roles for this 
 software and eventually fall back to building from source.
 
+## Getting started
+This project is based on ansible, vagrant, VirtualBox and test kitchen. Although it is possible to get all this
+working on windows, it is easier to do on Linux or Mac OS
+
+### Prerequesites
+
+* [Install ansible](http://docs.ansible.com/ansible/intro_installation.html) for your operating system 
+* [Install VirtualBox](https://www.virtualbox.org/wiki/Downloads) for your operating system (Version 5 seems to work)
+* Also install the extension pack for USB support etc. in VirtualBox. Some machines depend on this.
+* [Install vagrant](http://docs.vagrantup.com/v2/installation/) for your operating system
+* [Install test kitchen](http://kitchen.ci/docs/getting-started/installing) for your operating system
+* Install ansible for test kitchen: `sudo gem install kitchen-ansiblepush kitchen-ansible`
+* Install vagrant driver for test kitchen: `sudo gem install kitchen-vagrant`
+
+### First steps
+
+After you installed all necessary tools and gems you change in the checked out directory of this project
+and simply type `kitchen test`. This will create multiple virtual machines execute the ansible roles and
+test everything via serverspec. After all tests are successfull the machines are destroyed again.
+
+### Simple development workflow
+
+Since creating the machines can take some time (several minutes) is doesn't make sense to destroy them after each run.
+You can call `kitchen setup` to create all defined machines and keep them running. Then you can start editing roles or 
+creating roles and if you want to check your changes you can execute `kitchen converge && kitchen verify` to execute the
+roles on all machines and run the serverspec tests on all machines. All commands can be combined with the machine name
+(available via `kitchen list`) if you want to manipulate only one machine. 
+If you need to analyse problems on one machine you can login with `kitchen login [machine name]`
+
+## The Vagrantfile
+
+The Vagrantfile and the host and group vars in this repo should be used to quickly create a "test community" in the future.
+
 ## TODO
 
 * batman role needs to enable build from source
 * we need a way to get batman compatibility mode as a fact and be able to configure it
-* Add role for Freifunk batman config
-* Add role for Freifunk network config
 * Add support for more platforms (don't force a linux distro to others)
 * Everything else I forgot
-* Add CI via travis:
-
-## Setup test kitchen locally
-
-* Install [test kitchen](http://kitchen.ci/): sudo gem install test-kitchen
-* Install additionall kitchen gems: sudo gem install kitchen-ansiblepush kitchen-ansible kitchen-vagrant
-* start tests via: kitchen test
+* Add CI via travis: