Question

Dans une équipe de plusieurs développeurs, quelle est la meilleure façon de mettre en place l'environnement de développement?

Est-ce que tout le monde ont leurs propres bases de données de contenu installation complète de SharePoint, ou partager, ou autre chose?

Était-ce utile?

La solution

Chaque développeur doit avoir sa propre machine virtuelle qui partage personne.

Ceci est pour deux raisons. Tout d'abord, vous pouvez travailler sans interruption et sans perturber le reste de l'équipe. Vous n'êtes pas se soucier de quelqu'un réinitialiser le système ou le rendant indisponible pour vous. Deuxièmement, vous pouvez déployer ce que vous voulez ou besoin sans affecter les autres. Peut-être que vous préférez utiliser Firefox sur IE (je fais) et les outils dont il dispose. Allez-y et de les installer dans votre machine virtuelle. Peut-être que vous tombez sur une partie Web que vous voulez essayer. Installez-le. La meilleure chose est que vous pouvez prendre votre cliché personnel avant d'installer cette partie Web et si les choses vont vers le sud, retour juste régressent vers la version précédente.

Une fois que vous avez fait tout votre déconner et construit votre système empaqueter puis comme une caractéristique et le déployer à un test partagé / environnement mettant en scène avant de passer à la production.

La seule exigence est que vos développeurs ont une connexion de leur machine virtuelle à votre système de contrôle de code source. Il en est ainsi, ils peuvent vérifier le code in / out et si vous utilisez l'intégration continue, votre serveur de build peut récupérer une copie du code et mettez à jour la construction. Si vous travaillez dans l'isolement dans votre machine virtuelle, regardez quelque chose comme un script robocopy ou SyncToy ou un outil similaire pour synchroniser le contenu de votre machine virtuelle sur un disque extérieur qui poussera votre code dans le référentiel.

Autres conseils

Bonne question! Surpris sur la façon dont nous semblons tous d'accord jusqu'à présent. C'est usally un sujet qui peut diviser les gens beaucoup: -)

Chaque développeur doit avoir une instance de serveur virtuel (que ce soit HyperV ou VMWare, hébergé ou partagé localement). Base de données pourrait être partagée, mais chaque développeur a sa propre instance de base de données (en utilisant des environnements partagés à distance via VPN est faisable, mais ralentit souvent le processus de développement vers le bas quit beaucoup, et devrait donc être évité si possible).

impliqué dans plusieurs projets, chaque projet doit avoir un ensemble dédié de serveurs virtuels pour chaque développeur.

Je aime aussi d'avoir un « site POC » local que je peux faire avec ce que je veux. Je l'utilise pour faire des petits tests et des choses que je ne reviendrai pas faire sur mon serveur de développement du projet. Si elle est trop en désordre, je peux toujours recharger un instantané.

Pour éviter « il a travaillé sur ma boîte » questions, il devrait y avoir des lignes directrices sur la façon de développer. Comme avoir les privilèges moins possible sur la boîte tout en développant et en particulier ayant seulement visiteur autorisations lors de faire du développement une partie web normale ou similaire.

serveurs de développement doit être créé par une même image d'or et même (de préférence scénarisé) la configuration du point zéro comme le test de dev, test d'intégration, prod pré et les serveurs de prod. Cela réduira les problèmes de dev tests en raison de configuration spéciale ou des problèmes logiciels sur le serveur de développeurs. Je sais que même des équipes de développement (par exemple Ben Robb) qui suppriment tous leurs serveurs de développement virtuel chaque semaine et déploiement d'un instantané (automatisé avec Powershell) du serveur pour maintenir les serveurs de développement aussi proche de test dev (et les autres environnements) que possible .

On oublie souvent que, en particulier pour les grandes équipes dont vous avez besoin des lignes directrices sur la façon dont la dénomination doit être (par exemple. Sous-dossiers dans le dossier racine (12hive si vous aimez) comment utiliser les espaces de noms, etc.), comment déployer (BIN + CAS ou GAC, et quand utiliser quoi), l'utilisation de l'utilité commune comme les bibliothèques. Ne pas avoir éclairci ce avant le démarrage vous causera du chagrin le long de la route et d'augmenter le risque d'avoir des petites îles de code qui devrait / aurait pu être réutilisé dans l'équipe (ou même à travers projecs si les bibliothèques sont bonnes et assez générique).

Mon point de vue est que tout le monde devrait avoir sa propre copie de tout. bases de données, partage de pools d'applications, les serveurs ne vous fait faire plus d'erreurs ou avoir des malentendus. Le débogage est vraiment maladroit et improductif à l'aide des ressources partagées et penser à la base de données serrures etc

Une fois que le développeur (s) sont prêts les caractéristiques sont déplacés vers un environnement de test / mise en scène, qui est partagée. Les développeurs peuvent copier le env test / stade de leur développement env si nécessaire pour obtenir des données réelles.

Forcing devs d'avoir leurs propres forces eux à écrire du code VM qui est déployable à l'équipe membes dans leur propre VMs ;-) il est un déguisement de ruse pour un résultat final!

beaucoup d'organisations partagent un serveur SQL avec des bases de données de contenu différents et ont des machines virtuelles individuelles avec SharePoint et Visual Studio etc pour chaque développeur. Souvent, ces machines virtuelles sont hébergés sur un hôte de virtualisation partagé plutôt que sur les postes de travail des développeurs en raison des exigences de mémoire, etc.

Le Création d'un environnement de développement SharePoint à ce sujet.

Licencié sous: CC-BY-SA avec attribution
Non affilié à sharepoint.stackexchange
scroll top