Une solution typique consiste à avoir une build CI (intégration continue) exécutée sur un serveur de build: elle analysera le code source, fera la build (en débogage) et exécutera des tests, mesurera la couverture des tests, etc.
Maintenant, un autre type de build généralement connu est "Nightly build": faites des choses lentes comme créer des documents de code, créer un package d'installation, déployer dans un environnement de test et exécuter des tests automatiques (fumée ou acceptation) contre l'environnement de test, etc.
Maintenant, la question:
- Est-il préférable d'avoir une troisième "version de version" séparée comme version de version?
- Ou faire "Nightly build" en mode release et l'utiliser comme release?
Qu'utilisez-vous dans votre entreprise?
(La version doit également ajouter une sorte de balise pour contrôler à la source la version potentielle du produit.)
la source
Une chose que je tiens à faire est de mettre la build nocturne en mode release plutôt qu'en mode debug. Avec des cadres de journalisation tels que log4net remplaçant System.Diagnostics.Debug, les principales différences entre les modes Release et Debug sont la durée de vie des objets et les optimisations de code.
À moins que vous n'attachiez réellement un débogueur à votre version nocturne, je vous suggère de le faire également.
Le processus que nous suivons est que la version nocturne s'exécute chaque nuit et si cela fonctionne, nous pouvons déployer la même version sur nos autres serveurs (pas de reconstruction, il suffit de prendre les installateurs packagés et de les exécuter). Si nous avons un problème avec la version nocturne, nous vérifions les modifications apportées à celle-ci sur une branche et exécutons une version "nocturne" de cette branche pendant la journée. Les tests peuvent ensuite être réexécutés.
la source