Continuous Integration is a software engineering practice in which an individual developer's changes are immediately integrated, tested, and reported when they are added to a larger code base. This process of immediate feedback saves time, increases productivity, and allows teams to develop software faster.
- Scheduling automated builds to designated digital environments and keeping human intervention to a minimum.
- Reducing overheads and automating repetitive manual execution, so teams can spend more time on development.
- Setting up with code quality tools, such as Sonar, to verify adherence to coding standards and acceptance criteria.
We use Jenkins open source to build and deploy to various environments. We integrate this with Sonar, which constantly checks for code quality and trends. A few of the other CI tools used are:
- .Net CI: TFS Visual Studio Team Foundation Server 2012 (TFS) is the collaboration platform at the core of Microsoft's application lifecycle management (ALM) solution. TFS supports Agile development practices, multiple IDEs, and local or cloud-based platforms, and provides the tools to effectively manage software development projects throughout the IT lifecycle.
- PHP CI: GitHub is a web-based hosting service for software development projects that use the Git revision control system. Currently, GitHub is the most popular code repository site for open-source projects.