Archivi tag: continuous integration

How to fix 8000000A error when building VDPROJ

The Microsoft Visual Studio Setup Project is an old technology to create installer developed by Microsoft. It is out of support from nearly a decade and not present in Visual Studio anymore but when I visit customer sites I find legacy technologies and I need to deal with it on the short-term.

A couple of days ago I was working on an automated CI build on Azure DevOps and we hit an issue when trying to compile an old VDPROJ (migration to Wix in progress, btw ☺). We encountered an HRESULT 8000000A error.

Continua a leggere How to fix 8000000A error when building VDPROJ

ALM DOs and DON’Ts – CI builds status

We all know the practice of continuous integration.

One of the common pitfalls about CI is that the build status is not monitored and not treated as one of the top priorities for the team.

build-ci-status

A healty/green status of our CI process means that our code is in a good shape for what our automated tests can tell. Fixing the build status ASAP is easier than leave it red and fix later because the recent changes of the codebase are vivid in the team members’ memory.

VSTS for beginners: improve quality with continuous integration in 3 easy steps

In this blog post we’re going to configure a build process in VSTS to enable continuous integration for our ASP.Net Core example web-app.
Continuous integration is a powerful technique to prevent merge-hell and improve quality on the “left” stages of our software production process. In the fast-paced world of development we want to merge into the main line of development the new developed features as soon as possibile to avoid open branches that will cause painful merges. If we keep our unit of work small and focused we’ll have great benefits.

Continua a leggere VSTS for beginners: improve quality with continuous integration in 3 easy steps

Che ne dite di una build ogni ora?

La maggior parte di noi non lavora su progetti giganteschi ma chi ci ha lavorato assicura che compilare un sorgente il più frequentemente possibile porta molti vantaggi.

  • Minimizza i rischi di integrazione: uno dei più grandi problemi di un progetto in team è il merge dei sorgenti quando le persone hanno lavorato troppo a lungo in maniera separata. Sforzarsi ogni giorno di creare una build ed eseguire degli smoke test aiuta a contenere gli errori di integrazione;
  • Riduce il rischio di scarsa qualità: eseguendo dei semplici test sparsi per il programma si previene l’insorgere di grossi problemi legati alla qualità;
  • Rende facile l’analisi dei difetti: se la build del giorno n-esimo si rompe, è facile risalire al problema confrontando le differenze da quella del giorno precedente;
  • Migliora il morale: vedere un prodotto che funziona, anche se fa poco, aiuta a mantenere alto il morale del team.

Secondo Martin Fowler integrare frequentemente i sorgenti porta cambiamenti anche nel modo di approcciarsi al proprio lavoro da parte dello sviluppatore:

Frequent commits encourage developers to break down their work into small chunks of a few hours each. This helps track progress and provides a sense of progress. Often people initially feel they can’t do something meaningful in just a few hours, but we’ve found that mentoring and practice helps them learn.

In questo modo si tende ad approcciare il proprio lavoro in maniera incrementale, in piccoli step che ogni giorno aggiungono qualcosa (anche se poco) e ci si assicura che quei progressi si integrano correttamente con quegli degli altri.