DEV Community

Simone
Simone

Posted on • Updated on

Git hooks and Docker for Continuous integration - part 1

Alt continuous integration


Continuous Integration is a great software development practice, we can reduce integration problems and we can allow teams to develop cohesive software more rapidly.

There are many interesting CI tools in the market but I think the dev CI experience can still be improved. I see companies and dev teams struggling and disappointed when they have to run and setup CI pipelines.


Security:

  • Most of the IT companies care about code privacy and they don’t like the idea to run their code on external public CI platforms. It's possible to have CI solutions on-premise but most of the time this kind of solutions are expensive for the company. For example, Atlassian has stopped selling new on-prem server licenses. ref.

Build queue and CI debug:

  • As a developer and member of a tech team I’d like to see our CI builds running immediately after a code change and I’d like to see an easy way for debugging the code when it’s running on CI. Most of the time I see teams and developers complaining about long builds queues and usually it’s even quite difficult debugging the code if an error happens during the CI process.

Cloud costs:

  • How many times we see commits failing on CI because the code has not been tested enough locally or the code has not been rebased with the main branch yet. Every time we run a build on Cloud it’s a cost for the team and the company. The good news is we can now easily avoid this scenario. Few years ago, Git has introduced "Git hooks", this new technology allows developers to execute pre-tests before a commit will trigger a new CI process in Cloud.

After a long brainstorming with some friends, we created a small CI tool localci.io to address all these issues. This tool doesn’t fit with any IT infrastructure, but this could be useful at least for some team. Probably, in the future it will be completely free but currently we still need to cover some cloud costs.

Article part 2: Git hooks and Docker for Continuous integration - part 1

Discussion (0)