Travis CI is a hosted, distributed continuous integration (CI) service used to build and test software projects hosted on GitHub, and free for anyone working on open source projects. Often regarded as the home of open source testing, Travis CI enables developers to automate their build without the need to set up their own servers. At GitHub’s Satellite London event in 2017, members of the Travis CI team met with Canonical to talk snaps. Since then, conversations have progressed to how users build and test their snaps with Travis CI central to the CI process.
Josh Kalderimis (Head of Product) and María de Antón (Product Manager) from Travis CI attended the Snapcraft Summit in London to discuss how snaps and Travis CI integration tools share a similar mission. “We also built our platform with an open source nature, and we are all about testing simplicity. A lot of what we want to offer developers is how to do tasks without repetition – in essence, improve the developer experience. That is exactly what snaps are aiming to achieve” explained Josh.
Historically Travis CI has used the package manager, apt, but has experienced a lot of pain in the process. For example, if someone takes a package offline, then it has the knock on effect for everyone. The team has been investigating options to move away from apt. The option of a cross-platform, cross-architecture mechanism provided an exciting possibility, and one that could enable consistency and security across vendors. Enter snaps.
“One of the biggest benefits of snaps is that changes can be made without having to re-release the entire software package. This layered core is easier to maintain and ensure security,” comments María. “As a user, you can be confident updates are done upstream, thereby removing maintenance issues – even if developers further down the software development chain are slower to implement.”
“We find anything that builds confidence in developers makes it easier for them to adopt. Snaps provides such assurances,” adds Josh.
That’s not to say the snaps journey is complete. Josh believes simple usability enhancements and reduced complexity to aid discoverability would be beneficial. “Version tags and channels are interesting but too complex. Which version should I use? Is there a better way to define configuration?” asks Josh.
The Travis CI snap with the Travis command line client can be installed by clicking here.