OpenCIT Manual

12

Open Continuous Integration and Test Server Development Team and Contributors


I. OpenCIT Server
1. How to read the Manual
2. What is the Open Continuous Integration And Test Server
II. Using the OpenCIT Server
3. Quickstart
3.1. Setting up the OpenCIT
3.2. Using the OpenCIT
3.2.1. Setting up a project
3.2.2. Executing the CI and T workflow
III. Customizing the OpenCIT Server
4. How to customize the OpenCIT?
IV. Contributing to the OpenCIT Project
5. How to contribute to the OpenCIT project?

Part I. OpenCIT Server

This part gives an introduction into the OpenCIT. It explains the idea behind the OpenCIt and its purpose.

The target audience of this part is everyone interested into the OpenCIT.

Chapter 1. How to read the Manual

Like any open source project we have the problem that writing documentation is a pain and nobody is paid for doing it. In combination with the rapidly changing OpenCIT source base this will lead to a huge mess within shortest time. To avoid this problem we've introduced regular documentation reviews and, more importantly, the following rules which apply both for writing the document and for reading it.

  • The manual is written as short and precise as possible (less text means lesser to read and even lesser to review)
  • For the customization and contribution section - the manual does not describe how to use an interface but only coarse grained concepts in the OpenCIT. Since changes of the OpenCIT are performed by developers not users we expect that JavaDoc is no problem for them. Writing JavaDoc and keep it up to date is still hard for developers, but much easier than maintaining an external document. Therefore, all concepts are explained and linked directly to the very well documented interfaces in the OpenCIT on Github. To fully understand and use them you'll have to read this manual parallel to the interface documentation in the source code.

Chapter 2. What is the Open Continuous Integration And Test Server

The Open Continuous Integration and Test (OpenCIT) server can be used to automatically build, test and deploy projects. It makes it easier for developers to integrate changes and easier for users to obtain fresh builds of a project.

The OpenCIT tries to provide additional benefits compared to other CI & T solutions by building upon the open and highly customizable OpenEngSB platform. Furthermore the OpenCIT itself is also a FOSS project, which provides its users with the possibility to adapt all aspects of the CI & T process.

The domain and connector concept of the OpenEngSB make it possible to define the OpenCIT workflow completely independent of specific tools. Therefore any build, test and deploy tool can be used together with the OpenCIT.

Part II. Using the OpenCIT Server

This part gives an introduction into how to use the OpenCIT.

The target audience of this part are users of the OpenCIT.

Chapter 3. Quickstart

3.1. Setting up the OpenCIT

To set up a basic OpenCIT setup follow these steps:

  • Create a new unpriviledged user on your host. This is not strictly needed, but highly recommended for security purposes
  • Unpack the OpenCIT archive in a folder of your choice
  • Execute
                            opencit/bin/karaf.sh server
                        
    to run the server. To be able to log off from the shell without terminating the server you can user
                            screen opencit/bin/karaf.sh
                        
    There is also a start script for Microsoft Windows systems in opencit/bin/karaf.bat
  • OpenCIT is now running and listening to port 8095. To configure it and set up projects use any webbrowser to navigate to http://localhost:8095

3.2. Using the OpenCIT

Once OpenCIT is running use a webbrowser to open http://localhost:8095. Log in at the login screen with the (currently hardcoded) username "user" and password "password". After a successful login you will see a list of configured projects, which is empty in a freshly installed OpenCIT.

3.2.1. Setting up a project

To set up a new project you have to configure 6 connectors:

  • SCM Domain: The SCM domain connector is responsible for downloading the source code and notifying OpenCIT when new commits arrive.
  • Build Domain: This connector is responsible for compiling the source code.
  • Test Domain: This connector executes your unit and/or integration tests.
  • Deploy Domain: ???
  • Notification Domain: This connector sends out notifications(e.g. Emails) with the results of test runs.
  • Report Domain: This connector archives the results of past test runs.

For detailed information consult the next chapter.

3.2.2. Executing the CI and T workflow

TBD

Part III. Customizing the OpenCIT Server

This part gives an introduction into how to customize the OpenCIT.

The target audience of this part are developers, who want to customize the OpenCIT.

Chapter 4. How to customize the OpenCIT?

TBW

Part IV. Contributing to the OpenCIT Project

This part contains information for developers, who want to contribute to the OpenCIT project.

The target audience of this part are developers, who want to contribute to the OpenCIT project.

Chapter 5. How to contribute to the OpenCIT project?

If you have a good idea for the improvement of the OpenCIT project, please feel free to contact us on the developer mailing list.

The guidelines for the development of the OpenCIT correspond to the guidelines for the development of the OpenEngSB. Therefore everyone who wants to contribute to the OpenCIT, should read the contribution section of the OpenEngSB manual.

The OpenCIT issue tracker can be used to file issue, bugs or other problems. Furthermore it is a great entry point for developers, who want to contribute, as they can browse the issues and find out in which direction the OpenCIT will develop in the future.

If there are any further questions about the development process for the OpenCIT, please feel free to contact the OpenCIT developer team through the mailing list.