如何通过Web Deploy服务保护TeamCity部署?

时间:2011-10-19 12:33:20

标签: security deployment teamcity

我的团队使用TeamCity进行持续集成。它将通过Web Deploy构建,测试和部署Web应用程序到dev和qa Web服务器。棘手的部分是部署到生产Web服务器 - 我们的策略规定开发人员无法部署到生产环境,只有系统管理员可以。

我们当前的方法是让TeamCity构建一个Web部署包,管理员可以在生产Web服务器上下载并安装该包。但是,我们希望他们只需在构建配置上单击“运行”,但我们不确定如何保护该按钮。

我们可以创建一个只有管理员才能访问的TeamCity项目,但我们还必须解决Web Deploy的安全问题。 Web Deploy服务需要使用生产服务器上的本地管理员帐户进行身份验证。我们不希望开发人员在构建脚本中访问用户名/密码,也不希望每个构建代理都作为此帐户运行,因为开发人员可以创建使用它来部署到生产的构建。

我没有太多运气找到TeamCity安全/部署最佳实践的资源,但我无法想象我们是这种情况下唯一的公司。其他人如何管理自动部署安全性?

1 个答案:

答案 0 :(得分:1)

首先在实时服务器上进行自动部署并不是一个好主意。部署应该自动化,直到分期。如果您仍然想要这样做,那么简短而安全的方法就是使用Ant脚本。编写一个简短的脚本来使用SSH或sftp并完成部署。您可以为项目创建两个配置文件,并在管理员为Pro部署的“构建步骤”中添加额外的步骤。