mon responsable m'a demandé de configurer l'automatisation de la construction pour nos projets. J'ai décidé d'utiliser CruiseControl.Net comme serveur d'intégration continue car certains autres membres de l'équipe ont un peu d'expérience, je n'en ai pas - c'est pourquoi je suis heureux d'entreprendre cette tâche.Création d'un projet référencé avec CruiseControl.Net
Nous utilisons Subversion comme notre référentiel et le but ultime est d'instancier une construction à chaque fois qu'un projet est marqué. Par exemple:
Ajout d'un dossier à svn: // svn/tags/ProjectX/tel que svn: // svn/tags/ProjectX/JulyCheckPoint devrait checkout le tag nouvellement ajouté (svn: // svn/tags/ProjectX/JulyCheckPoint) dans un répertoire local (D: \ temp \ tags \ ProjectX \ JulyCheckPoint) et exécutez un fichier nant (D: \ temp \ tags \ ProjectX \ JulyCheckPoint \ nant.build)
Je sais que CruiseControl est capable de surveiller svn: // svn/tags/ProjectX/pour les changements, mais je ne suis pas sûr de la façon dont je vais extraire la dernière balise sur le disque local du serveur de construction et exécuter le nant.build à l'intérieur si je ne sais pas le nom de la balise la plus récente. J'ai fait un peu de googling et je crois que svn post-commit hooks peut être quelque chose que je devrais regarder.
J'espère que tout cela a du sens, s'il vous plaît laissez-moi savoir si vous avez besoin de plus de détails/clarification. Toute orientation/conseil serait grandement appréciée.
Cheers.
Merci, je vais certainement jeter un coup d'oeil à cet article. La prochaine étape que j'avais à l'esprit est de mettre en œuvre des constructions nocturnes du coffre (pour le but que vous mentionnez). Finalement, en construisant à partir de balises, je veux que le gestionnaire de construction/développeur qui valide la balise reçoive un paquet d'installation .msi contenant le projet balisé (en regardant dans WiX). De cette façon, tous les jalons que nous atteignons peuvent être intégrés dans une installation de version en marquant simplement la construction particulière. Y a-t-il des inconvénients à cela que j'ai oubliés? – Boris
Cela semble être une requête raisonnable, mais cela ne correspond pas vraiment au fonctionnement de CC.Net. Dans ce cas, je suggérerais d'avoir un deuxième projet CC.Net appelé release build qui est exécuté par les administrateurs. Cette construction créerait le MSI et marquerait le tronc. Si des modifications sont nécessaires au code balisé, vous pouvez ensuite créer une branche et créer un nouveau projet CC.Net à partir de cette branche. Ceci est un aperçu très simpliste, mais nous espérons vous donner quelques idées pour vous aider à démarrer. – MikeD