Continuous integration and code versioning tools

Hello, my name is José and I work as CTO, Technical Director at Netdevices. Today I'm going to tell you about thecontinuous integrations, the versioning tools and their usefulness in the creation of applications or software.

What is continuous integration?

Firstly, there is a distinction to be made between thecontinuous integration and the ongoing deployment.

On the one hand, continuous integration will be used to compile, test and package applications automatically. It will also facilitate the process of verifying whether the product meets our customers' expectations.

On the other hand, continuous deployment consists of delivering applications, always automatically and continuously, which makes life easier for developers.

Continuous integration with Jenkins

Jenkins is an open source continuous integration tool. It is also used for continuous deployment. This tool will allow us to automate the construction ofapplication as well as a set of related tasks such as unit tests (with the objective of seeing if the code runs as expected). It also gives us the possibility to deploy theapplication either on a test platform or directly in production.

Our continuous integration with Jenkins is based on our versioning tool, GitLabto track changes in the source code and trigger a new build of theapplication.

Versioning tools? What are they for?

Versioning tools will structure the developers' workflow. Indeed, it allows a team to work on different parts ofapplication in parallel while keeping the history of modifications. They will also allow conflicts to be highlighted.

However, there is a limitation: they cannot define the source of the conflict. It will therefore be up to the developers to resolve it.

This is where continuous integration tools such as Jenkins.

Versioning with Gitlab

Gitlab is an open source version management tool. An equivalent of a private GitHub.

It offers multiple features such as:

  • source code version management and web project hosting
  • collaboration between several developers on the same project
  • the creation, management and classification of "issues" (tasks)

A note: this tool also integrates continuous integration functionalities (Gitlab CI).

NetDevices is a team of methodical project managers, geeky developers, integrators / web designers, all passionate about web development and new technologies. Do you have digital projects? We bring your ambitions to life and accompany you through the entire digital transformation process.With our Web2Mobile, Sharry (mobile market place) solutions, and our partnership with IBM, we know how to meet your needs from the simplest to the most complex.