2008-12-05 10 views
2

J'ai un serveur de construction dans notre domaine (et il doit l'être parce qu'il parle aussi à d'autres boîtes dans le domaine), et un serveur web qui est dans la zone démilitarisée.Comment utiliser Nant/TeamCity pour déployer à travers DMZ?

Dans le cadre de nos scripts de compilation, je voudrais déployer des sites Web au serveur Web dans la zone démilitarisée, en utilisant la tâche de copie Nant. Le problème est que Nant est invoqué à partir de TeamCity qui s'exécute sous le compte système sur le serveur de génération, et il n'y a aucun moyen que je peux trouver pour donner au compte système serveur de construction l'accès aux répertoires du serveur web DMZ. (Ce n'est probablement pas une bonne idée de toute façon).

est-il de toute façon de dire Nant d'exécuter une tâche spécifique dans un utilisateur de fenêtres différentes, ou est-il une autre solution à mon problème? Une autre restriction que je suis en cours d'exécution est que je ne peux pas créer de nouveaux comptes de domaine (enfin, au moins sans passer par un processus d'approbation). Je peux créer des comptes machine locaux, mais dans ce cas, il ne semble pas que les runas fonctionnent à travers la DMZ.

Répondre

2

Un couple d'options pourraient être:

  1. Utilisez le Simple Command Runner exec vers quelque chose comme runas, en spécifiant nant.exe en cours d'exécution sous un compte utilisateur différent.
  2. Modifiez le compte dans lequel le serveur TeamCity s'exécute comme; comme un utilisateur privilégié limité qui a accès à DMZ.
  3. Tentative d'utiliser la tâche <scp> (copie sécurisée) fournies par NAntContrib.
  4. Utilisez la tâche d'appeler <exec> Nant un programme ftp, qui place les fichiers sur la zone démilitarisée.

Espérons que cela donne un peu d'aide. Bonne chance!

0

Vous pouvez utiliser PowerShell Remoting pour extraire des versions du serveur de génération. Le serveur serait moins vulnérable que si vous deviez utiliser une version push comme une copie de fichier.

Je fais cela avec une application personnalisée qui se connecte à des artefacts de TeamCity et télécharge et déploie ensuite en utilisant Powershell localement.

Questions connexes