Ok... So. I have already done a bit of work. All what I have done is covered by tests so ... we have already something to run inside Continous Integration machine. So let's do it
However, before that I would like to send my changes to review and discuss few things before my code will hit repository. I'm guessing there is no tool to code review in ispconfig3 community today so I would also want to discuss this point here.
0. Define coding standard
1. Contribution process (describe on wiki)
It might be a good idea to agree some common contribution process and setup. Information on the wiki are out-of-date. I could create some new topic (or new wiki) and describe what is on my mind. What is missing for me is: what is the coding standard, how to download source code, where and how create your own repository, how and where send changes to review finally where the build system is and how to check the status of the build. Finally I could describe some idea behind writing tests: naming convention, purpose and so on ...
In Review Board wiki pages are part of source code so in the review process people contributing are obligated to fit documentation into code changes.
2. Provide review tool
With so straight and clear contirbution process describing life-cycle of each line of code we could setup some review tool. Personally I'm big fan of Review Board - I was a contirbutor few years ago and this is really good peace of software. This is only an idea. If I get permission and access to some machine I can configure and bootstrap instance (and configure with gitlab).
3. Provide CI
Finally I could setup CI server. Personally I'm big fan of QuickBuild but it can be anything. If license agreement does not forbid us using QuickBuild I would prefere that particular tool. As far we have
4. Start writing tests
After setting up CI development cycle should start be tightly-related with writing tests to each and every part we touch or add. I do not believe we are able to write tests for everything but even writing tests for things we are chaning or improving will give decent code coverage and show us places needs improvements in current code.