# Setup Ick has a number of command line options. Run `ick --help` to see them all. See the [**cliapp**(5)](http://liw.fi/cliapp/cliapp.5.txt) manual page for information about using configuration files. An "ick file" specifies the target environments to use, the projects to build, and the location where to store state between runs. It is in YAML and looks like this: EXAMPLE state: /home/liw/ick/state targets: sid_amd64: address: ick@debian-sid-amd64 pbuilder-ci-tgz: /var/cache/pbuilder/ci.tgz wheezy_i386: address: ick@debian-wheezy-i386 pbuilder-ci-tgz: /var/cache/pbuilder/ci.tgz projects: obnam: git: /home/liw/obnam/obnam branch: master pipelines: - shell - debian-ci - debian-release commands: - ./check -yu Ick will retrieve the source for each project, from the given git repository and branch, copy it to each target, and run the specified commands. You need to set up each target environment yourself. This includes making sure Ick can access it over ssh, and that all the necessary tools are installed on the target, as well as all the build-dependencies of each projects. Ick does not do this for you: there are many system administration tools for configuration management to take care of this problem, or you can do it manually. (FIXME: Some day, when the author has mastered ansible or something like it, add a link to a git repo with the Ick related configuration for the configuration management tool.) Ick requires the following to be installed on the target: * a Unix-like operating system (probably Debian) * an ssh server * rsync * Python 2.6 or 2.7 * python-cliapp (see ) For building Debian packages, the target must be Debian and have the following installed: * pbuilder Things will fail otherwise.