2013-01-21 2 views
0

Mon entreprise développe un projet open source. Par conséquent, nous devons considérer deux configurations de script de construction différentes. Le premier est une construction locale et est utilisé par nous ainsi que par la communauté. La deuxième version est effectuée sur un serveur CI (nous utilisons la ville d'équipe).Créer des scripts pour des projets open source

Maintenant deux questions se posent:

  1. Faut-il mettre les fichiers de construction spécifiques du serveur dans le même référentiel que les fichiers de construction locaux?
  2. Si oui, comment gérons-nous les données sensibles? Par exemple, la clé API NuGet ou les informations de version qui sont incrémentées avec chaque génération nocturne/hebdomadaire?

situation actuelle: nous mettons uniquement les fichiers de construction locaux dans le dépôt et garder les choses sensibles dans un répertoire parent. Par conséquent, il se sent un peu maladroit (au moins pour moi personnellement).

Sitation que je peux penser à: Avoir un local.build et fichier server.build dans le référentiel. Ensuite, dans la ville de l'équipe, définissez une variable système contenant les mots de passe et les numéros de version. En ce moment je ne sais pas comment la ville d'équipe gère la visibilité des propriétés. Bien sûr, nous ne voulons pas que le mot de passe soit accessible ou lisible par tous nos développeurs.

Répondre

1

Je pense que votre intuition est bonne avec la deuxième option. Vous pouvez inclure les deux scripts dans le contrôle de code source et transmettre les variables à server.build, ou vous pouvez éventuellement déplacer le processus server.build dans une configuration de construction TeamCity.

Numéro de version: TC gère les numéros de version avec un compteur de build incrémenté, auquel vous pouvez ajouter n'importe quel major.minor.etc arbitraire. Vous pouvez configurer le format du numéro de build sur la page Paramètres généraux, sous Build Number Format. Dans notre équipe, nous avons un paramètre de construction, %version%, que nous remplissons avec les valeurs major.minor. Notre format de numéro de build est alors réglé sur %version%.{0}, ce qui nous donne major.minor.build. Cette valeur combinée est disponible via la variable %system.build.number%.

Données sensibles: Vous pouvez créer des paramètres de construction qui masquent des données sensibles. Ajoutez un nouveau paramètre et cliquez sur le bouton Edit dans le champ Spec. Vous pouvez ensuite déclarer que le paramètre doit être traité comme un mot de passe (entre autres options). Le paramètre est ensuite crypté et masqué. Vous pouvez l'utiliser de la même manière que n'importe quel autre paramètre de construction.

+0

Comment gérez-vous les fichiers snk? – Matthias

+1

[Cette question] (http://stackoverflow.com/questions/6721000/how-to-configure-teamcity-with-private-files) traite des fichiers privés (y compris les SNK). –

Questions connexes