Mein Team nutzt TeamCity für die kontinuierliche Integration. Es werden Webanwendungen über Web Deploy für Entwickler- und QA-Webserver erstellt , getestet und bereitgestellt . Der schwierige Teil ist die Bereitstellung auf einem Produktionswebserver. Unsere Richtlinie schreibt vor, dass Entwickler nicht für die Produktion bereitstellen können, sondern nur für einen Systemadministrator.
Unser aktueller Ansatz besteht darin, TeamCity ein Webbereitstellungspaket erstellen zu lassen, das der Administrator herunterladen und auf dem Produktionswebserver installieren kann. Wir möchten ihnen jedoch erlauben, in einer Build-Konfiguration einfach auf "Ausführen" zu klicken, sind uns jedoch nicht sicher, wie diese Schaltfläche gesichert werden soll.
Wir könnten ein TeamCity-Projekt erstellen, auf das nur Administratoren Zugriff haben, aber wir müssen uns auch mit der Sicherheit von Web Deploy befassen. Der Web Deploy-Dienst muss mit einem lokalen Administratorkonto auf dem Produktionsserver authentifiziert werden. Wir möchten nicht, dass Entwickler in einem Build-Skript Zugriff auf den Benutzernamen / das Kennwort haben, und wir möchten auch nicht, dass jeder Build-Agent als dieses Konto ausgeführt wird, da Entwickler einen Build erstellen können, der ihn für die Bereitstellung in der Produktion verwendet.
Ich hatte nicht viel Glück, Ressourcen zu Best Practices für TeamCity-Sicherheit / -Bereitstellung zu finden, aber ich kann mir nicht vorstellen, dass wir das einzige Unternehmen in dieser Situation sind. Wie verwalten andere die automatisierte Bereitstellungssicherheit?
quelle
Wenn Sie sich in einer Domäne befinden, können Sie zum Sichern des Webbereitstellungsprozesses die Webbereitstellung so einrichten, dass die Windows-Authentifizierung akzeptiert wird. Anschließend wird der Teamcity-Build-Agent als Domänenbenutzer ausgeführt, der über die Berechtigung zum Bereitstellen in IIS verfügt. Ich habe die Dinge auf diese Weise eingerichtet, und Sie benötigen keine Kennwörter im Webbereitstellungsskript.
Einrichten der Windows-Authentifizierung für die Webbereitstellung: http://blogs.iis.net/carlosag/archive/2011/12/13/using-windows-authentication-with-web-deploy-and-wmsvc.aspx
quelle