Software Build and Release Management for a Wireless Product with Open
Kokko, Jukka (2013)
Kokko, Jukka
Oulun seudun ammattikorkeakoulu
2013
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2013111116809
https://urn.fi/URN:NBN:fi:amk-2013111116809
Tiivistelmä
The object of this research was to test and select the best open source tools and processes for a
project working with a complex wireless device, from a build and release management point of
view. Some of the investigations were started on 2005; most of the work has been done during
the year 2013 for Elektrobit Wireless Oy.
The work consisted of studying and testing out multiple different open source tools used on build
and release management process. The studied tools were Git, SVN and Mercurial as software
configuration management systems, Bitbake, Yocto, Apache ANT and Apache Maven as build
frameworks, Gerrit and Review Board as code review systems and CruiseControl and Jenkins as
build automation systems. Also hardware selection, test automation, error and feature
management related tools, delivery methods and effects of the project’s development model were
considered.
The result was a bit mixed as the best combination of tools depends on the project, but for
example a project that uses agile methods and does software for a wireless embedded Linux
device should use Git as a software configuration management system, Yocto as a build
framework, Gerrit as a code review system and Jenkins as a build automation system. This kind
of selection was considered to be the best option even if most of the studied applications would
have been adequate to use.
project working with a complex wireless device, from a build and release management point of
view. Some of the investigations were started on 2005; most of the work has been done during
the year 2013 for Elektrobit Wireless Oy.
The work consisted of studying and testing out multiple different open source tools used on build
and release management process. The studied tools were Git, SVN and Mercurial as software
configuration management systems, Bitbake, Yocto, Apache ANT and Apache Maven as build
frameworks, Gerrit and Review Board as code review systems and CruiseControl and Jenkins as
build automation systems. Also hardware selection, test automation, error and feature
management related tools, delivery methods and effects of the project’s development model were
considered.
The result was a bit mixed as the best combination of tools depends on the project, but for
example a project that uses agile methods and does software for a wireless embedded Linux
device should use Git as a software configuration management system, Yocto as a build
framework, Gerrit as a code review system and Jenkins as a build automation system. This kind
of selection was considered to be the best option even if most of the studied applications would
have been adequate to use.