Comment le code dans le contrôle de version doit-il être stocké?
Adapté aux développeurs ? afin que le programmeur puisse rapidement prendre la dernière version et pouvoir s'exécuter à partir de son éditeur sans faire beaucoup de changements? (comme les fichiers de configuration pointant vers dev DB..etc)
ou
Doit-il être convivial pour la production ? la source doit être d'une manière facile à déployer sur l'environnement de production et lorsque le développeur prend la dernière version, il doit effectuer les changements selon ses besoins de développement.
la source
Quand c'est un projet open source où les gens sont censés contribuer, j'opterais certainement pour les développeurs.
Ma plus grande aversion pour les projets open source est que très rarement le référentiel contient toutes les dépendances nécessaires pour construire le code (parfois pour des raisons pratiques ou légales), mais quand elles ne le font pas - certains ne prennent même pas la peine de vous dire quelles dépendances vous avez besoin, ou plus important encore, de la version dont vous avez besoin. (et de préférence d'où les obtenir)
Parfois, vous pouvez passer plus d'une demi-journée à chercher et à compiler plusieurs autres projets afin de construire le projet que vous recherchez.
Bien sûr, cela n'est vraiment pertinent que pour le développement sous Windows.
la source
Les deux, mais cela dépend de la fréquence à laquelle vous faites votre production. Pour de nombreuses applications personnalisées, les déploiements sont effectués manuellement et localement. D'un autre côté, le développeur valide constamment le code, peu importe la taille du projet. À mon avis, je pense qu'il est plus important de s'assurer que le développeur peut utiliser correctement le contrôle de version, ce qui facilite leur vie afin qu'ils aient le temps de se concentrer sur le code plutôt que de trouver le chemin à travers le contrôle de version.
la source
Il doit être convivial pour la production, sinon il est problématique de maintenir des versions automatisées.
la source
Je suis tout à fait d'accord pour réduire les frictions afin qu'il soit plus facile de faire le travail, mais vous devez également prendre en compte les modes de défaillance.
Si la version du référentiel source est toujours configurée pour une utilisation en production, quel est le résultat d'un développeur qui ne reconfigure pas avant d'exécuter le système? Un développeur exécutant du code contre la production.
Indépendamment de la présence d'autres obstacles dans la manière dont le développeur apporte des modifications aléatoires à la production, la création d'un mode de défaillance qui l'encourage à se produire semble dangereuse.
Je suggère que les valeurs par défaut incluses dans le code validé soient toujours sûres . Vérifiez également les fichiers de configuration de production dans le contrôle de code source, si vous le souhaitez - je le fais presque toujours - mais gardez-les quelque part "pas en direct".
la source
J'ai tendance à viser une production conviviale. Il garde vos versions propres et empêche les paramètres étrangers de passer en production.
la source
Certainement convivial pour les développeurs, avec des scripts pour automatiser les changements pour le contrôle qualité et la production.
la source
Pourquoi ne pas avoir une branche (selon le contrôle de version que vous utilisez - j'utilise Git) pour le code déployable et autre pour la version prête à l'emploi? Cela semble beaucoup mieux et n'est pas si difficile à configurer.
Vous pouvez travailler et valider vos modifications, puis les fusionner sur la version déployable.
la source