jru*_*ell 6 security deployment teamcity
我的团队使用TeamCity进行持续集成.它将通过Web Deploy构建,测试和部署Web应用程序到dev和qa Web服务器.棘手的部分是部署到生产Web服务器 - 我们的策略规定开发人员不能部署到生产,只有系统管理员才能.
我们当前的方法是让TeamCity构建一个Web部署包,管理员可以在生产Web服务器上下载和安装该包.但是,我们希望他们只需在构建配置上单击"运行",但我们不确定如何保护该按钮.
我们可以创建一个只有管理员才能访问的TeamCity项目,但我们还必须解决Web Deploy的安全问题.Web Deploy服务需要使用生产服务器上的本地管理员帐户进行身份验证.我们不希望开发人员在构建脚本中访问用户名/密码,也不希望每个构建代理都作为此帐户运行,因为开发人员可以创建使用它来部署到生产的构建.
我没有太多运气找到TeamCity安全/部署最佳实践的资源,但我无法想象我们是这种情况下唯一的公司.其他人如何管理自动部署安全性?
首先,在实时服务器上自动部署不是一个好主意。部署应该是自动化的,直到分阶段。如果您仍然想这样做,那么,简短而安全的方法是使用 Ant 脚本。编写一个简短的脚本来使用 SSH 或 sftp,部署就完成了。您可以为您的项目创建两个配置文件,并在“构建步骤”中添加额外的步骤,以便管理员进行 Pro 部署。