-
Notifications
You must be signed in to change notification settings - Fork 26
Configuration
CI-Eye stores its configuration in a series of files held in the .ci-eye
directory located in the home directory of the user who is running the server. When you first start CI-Eye, it creates a default set of configuration files that serve as an example for you to edit. Unless otherwise mentioned, updates to these files will not require the CI-Eye server to be restarted.
CI-Eye is designed around the concept of views, each of which is intended to be radiated independently. A given view can contain information aggregated from multiple Continuous Integration servers.
Views are configured in the views.txt
file, and are presented in a menu on the welcome page of your CI-Eye server. The sample views file looks like this:
[CI-Eye Demo]
DEMO||Product_Alpha
DEMO||Product_Zappa
[Public Live]
JENKINS|http://ci.jenkins-ci.org|Jenkins core
HUDSON|http://hudson.magnolia-cms.com|Main (trunk, branches, and alternative builds)
TEAMCITY|http://teamcity.jetbrains.com|Gradle
TEAMCITY|http://teamcity.codebetter.com|CI-Eye
This file configures two views, the first being a demonstration view and the second being a more realistic view that combines some well-known publicly accessible CI servers.
A view is configured with a name, which forms both the menu entry on the CI-Eye welcome page, and the URL to access the corresponding radiator. In the configuration file, a view name appears in square brackets like this: [My View Name]
.
Immediately following a view name are one or more lines defining the content for that view. Each of these lines follows a three-part structure, with each part separated with a pipe |
character:
- The type of CI server to talk to (one of
HUDSON
,JENKINS
, orTEAMCITY
) - The base URL of the CI server to talk to. This should not include a trailing slash.
- The name of the view/project to radiate build data for. Different CI servers have various names for this concept, but each will have some way to identify a collection of related build targets.
CI-Eye is very keen that you display pictures for your committers, so that passers-by can see who is checking in. This really gives a sense of what is going on in the codebase, and helps teams to gel.
Pictures are configured in the pictures.txt
file, and served from the pictures
sub-directory. The sample pictures file looks like this:
[vlad.png]
Vlad the Impaler
vlad
vimpaler
dracula
[stupid.png]
stupid
[gravatar:[email protected]]
john
[doh.png]
-doh-
[all-green.gif]
-all-green-
A picture is configured with a handle, which informs CI-Eye where to obtain an image to display. In the configuration file, a picture handle appears in square brackets like this: [my_picture.png]
. Currently, two picture sources are supported: a picture filename (.png
.jpg
or .gif
) corresponding to a file in the pictures
sub-directory; or a Gravatar avatar, defined by the gravatar:
prefix followed by an email address (e.g. [gravatar:[email protected]]
).
Immediately following a picture handle are one or more lines defining the keywords corresponding to that picture. CI-Eye intelligently scans check-in comments, scm usernames, and machine hostnames, looking for occurrences of these handles. When it discovers a match, it presents the corresponding image on the radiator.
When modifying the pictures.txt file to add a new picture (or change an existing one) a CI-Eye restart is not required. However, once CI-Eye has analysed a given build, and applied pictures to it, it will not re-analyse that build again, so your changes will take effect over a period of time -- depending on how fast and frequent your builds are.
CI-Eye can log error, warning, and information messages relating to its operation. By default, warnings (and above) are logged to a rolling log file in the logs
sub-directory. The configuration for CI-Eye logging is found in the logging.properties
file, which initially looks like this:
handlers = java.util.logging.FileHandler
#handlers = java.util.logging.ConsoleHandler
#handlers = java.util.logging.FileHandler, java.util.logging.ConsoleHandler
.level= WARNING
java.util.logging.FileHandler.pattern = %h/.ci-eye/logs/server%u.log
java.util.logging.FileHandler.limit = 50000
java.util.logging.FileHandler.count = 3
java.util.logging.FileHandler.formatter = java.util.logging.XMLFormatter
java.util.logging.ConsoleHandler.level = WARNING
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
This is a standard Log4J configuration file, so you should refer to Log4J documentation for this. After changing the logging configuration file, you will need to restart the CI-Eye server before observing the effects.