What is Continuous Integration?
In software and web development human error is one of the largest contributing factors for site down time. This is not due to bad workmanship but because a human cannot compute, function or be as accurate as a computer. These errors typically occur during the final stages of a website development lifecycle where a large amount of code changes need to manually be built and put on a server for testing by the team and the client. These steps can include any number of the following processes:
• Code minification (Making the code smaller which helps with speed)
• Code clean-up (Removing code that is not used or only used during development)
• Comment removal (Removing comments and help files that the site knows nothing about)
• Securing code (Encrypting code to stop attackers gaining access to the source)
• Changes to configuration (Environment specific setup)
• Copying files from server to server
How Continuous Integration works
As all these steps require a lot of knowledge and time there is a high potential for error. For this reason, we have decided to invest in a process called Continuous Integration (CI). CI is a practice where code is stored in a shared, secured repository. Each time new code is added, an automated build of that website is triggered. This build automatically runs through all the steps mentioned above which are stored in a build definition meaning we can eliminate the need for a human, and therefore eliminating the potential for a mistake.
Another benefit to CI comes with the build being triggered after every code change, this means we can run unit and integration tests to check for errors frequently and quickly identify which code changes caused the error. The build then stops and doesn’t allow the broken code to be deployed until the developer has fixed the issue.
Continuous Integration has been greatly successful for us at Webnetism and we look forward to sharing news on our future development, Continuous Deployment (deploying to your production server automatically and fast) in the near future.