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?