BitCI is a self-hosted Continuous integration system. There is only one current version of it, but it can be used for both private and public GitHub repositories.
This repository contains the central issue tracker for the BitCI project.
Documentation for the Bit CI project can also be found here.
BitCI consists of many different sub-functionalities using ASP.Net MVC. The main ones are:
bitci-context is the Entity framework context that's responsible for serving our DB work. It responds to different LINQ/SQL queries and runs CRUD operations. Very little custom logic is in this repository.
bitci-build creates the build
script for each job and related steps. It takes the configuration from the Web.config
file and
creates a bash
or batch
scripts that is then run in the build (MSBuild) environment.
bitci-core holds most of the logic for BitCI. This functionality is shared across several others and holds the models, controllers, services, and other things that these apps need.
bitci-logs receives log updates from build steps, saves them to the database and local file, after that pushes them to the Web client for monitoring. When a job is finished, bitci-logs is responsible for archiving.
bitci-web is our main Web client logic. It is written using MVC and communicates with bitci-core to get information and gets live updates from bitci-logs and DB through Entity framework.