Tabla de Contenidos
Change Management
Hoy estamos utilizando la funcionalidad de Issues en Github para llevar un track de los cambios.
Configuration Management
Se lleva a cabo en GitHub: https://github.com/ciaa/Firmware. Una introducción a Git se puede encontrar en: git
Realizando cambios en el repositorio
Cuando realice cambios en el repo tenga en cuenta que alguien realizara un review de los cambios y cuanto más fácil sea ralizarlo antes serán aceptados los cambios por ello:
- si trabaja sobre un branch para un tema especifico NO modifique otras cosas. Por ejemplo si trabaja en un nuevo driver de adc y encunetra un problema en el make, no lo cambie en este branch. Se debe realizar otro para tal fin.
- cuando escribe el código no utilice mágia: operaciones con números, pocos comentarios, otro style guide, sigua siempre las Coding Guidelines del proyecto.
- si trabaja mucho tiempo en el branch puede que le resulte interesante hacer un rebase o un merge del master al branch de trabajo.
- si trabaja en el master debe siempre procurar que el código corra, ya que otros desarrolladores se basan en el master para trabajar.
Desarrollo de nuevas funcionalidades y mejoras
No es recomendable y se pide evitar commits en el master. Por cada tarea a desarrollar se debe crear un branch. Para saber cuándo trabajar sobre branches y cómo nombrarlos hacer clic aquí.
Continuous Integration
El Firmware cuenta con un Jenkins donde se testean automáticamente todos los commits.
Tenemos 3 CIs:
Reviews
Hoy en día los reviews son realizados en GitHub. No es la mejor opción por ello estamos trabajando en una solución basada en Gerrit+Jenkins. Esperamos la misma este funcionando en 3.2016
Releases
Antes de realizar una release se realizará un Code-Freeze.