Yocto is an Open Source project (based, in turn, on OpenEmbedded and bitbake) that allows you to create your own custom Linux distribution and build everything from sources (like Gentoo does). It's mostly used for embedded software development and has support from many hardware vendors. Having source build in place allows you to customize almost everything. In recent years I was faced with problem of development integration - to allow distributed development teams to cooperate and to supply their updates effectively for central build system(s). The purpose of this process:
- to know if the build is successful after each delivery
- to have high resolution of builds (to allow regression tests)
- and (of course) to launch automated tests after each build
- enable a "drop space" for files with source code and detect the newest one and use it for the build
- connect directly to development version control systems and detect changes there
SRCREV = "${AUTOREV}" PV = "${SRCPV}"If it's specified such way latest source revision in the repository is used. Revision number (or SHA) is used as a package version, so it's changed automatically each time new commit is present on given branch - that's the purpose we place ${SRCREV} inside PV (package version) veriable. Having such construction in your source repository-based recipes allows you to compose builds from appropriate heads of selected branches. Of course, on each release preparation, you need to fork each input repository and point to proper branches in your distro config file. Then the process should be safe from unexpected version changes and you can track any anomaly to single repository change (ask vendor to revert/fix it quickly if needed or stick to older version to avoid regression for a while).

Brak komentarzy:
Prześlij komentarz