我希望能自动化在 Windows 2012 R2 基础架构上部署应用程序/角色/功能(无人值守)。这个项目需要很多编程时间,这就是为什么我在这里询问的原因。
我想要部署以下应用程序和角色:Active Directory、DNS、Sql Server 2012、Citrix XenApp 服务器、Citrix XenDesktop 服务器、Citrix 数据收集器、Citrix 许可证服务器、Citrix Storefront 服务器。
所以基本的部署将在8台服务器上进行(已经安装在 ESXi 上,并且只有 IP 配置)。
我想象了这种情况:
我将填写一个包含所有信息的 CSV 文件,并执行 Powershell 脚本来部署所有内容。我们可以想象一个脚本,它将为每个组件(sql、ad、dns、citrix 等)调用不同的脚本。
我不想依赖任何工具(如 SCCM、Puppet 或其他工具),这就是我想从头开始创建它的原因 -> 但也许我错了。
我也读到了一个名为Powershell DSC的新功能,它可以简化应用程序部署http://blogs.technet.com/b/privatecloud/archive/2013/08/30/introducing-powershell-desired-state-configuration-dsc.aspx。这里有一个简单的例子:如果你需要4个iis web服务器,那么执行以下代码:
但在我的情况下,我每个应用程序/角色或功能只有1个服务器,如果我理解正确,这个功能只有在您需要在(x)台服务器上部署相同配置时才有用。
你的建议是什么?我应该选择从头开始编写PowerShell脚本吗?还是选择像Puppet或Chef这样的解决方案(更容易),但在这种情况下,我将依赖于一个工具。
最好的解决方案是使用SQL数据库->我的项目的最终目标是一个带有数据库的Web应用程序,该数据库将执行我的PowerShell脚本以部署我的基础架构。
当然,从这个Web应用程序,我将通过表单填充我的数据库,并且我的PowerShell脚本将查询此数据库以获取信息(IP地址,客户端名称,域名,密码,用户...)
感谢您的建议。
我想要部署以下应用程序和角色:Active Directory、DNS、Sql Server 2012、Citrix XenApp 服务器、Citrix XenDesktop 服务器、Citrix 数据收集器、Citrix 许可证服务器、Citrix Storefront 服务器。
所以基本的部署将在8台服务器上进行(已经安装在 ESXi 上,并且只有 IP 配置)。
我想象了这种情况:
我将填写一个包含所有信息的 CSV 文件,并执行 Powershell 脚本来部署所有内容。我们可以想象一个脚本,它将为每个组件(sql、ad、dns、citrix 等)调用不同的脚本。
我不想依赖任何工具(如 SCCM、Puppet 或其他工具),这就是我想从头开始创建它的原因 -> 但也许我错了。
我也读到了一个名为Powershell DSC的新功能,它可以简化应用程序部署http://blogs.technet.com/b/privatecloud/archive/2013/08/30/introducing-powershell-desired-state-configuration-dsc.aspx。这里有一个简单的例子:如果你需要4个iis web服务器,那么执行以下代码:
Configuration DeployWebServers
{
Node ("test1.domain.com","test2.domain.com","test3.domain.com","test4.domain.com")
{
Windows-Feature IIS
{
Name = "Web-Server"
Ensure = "Present"
}
}
}
DeployWebServers -OutputPath "C:\scripts"
Start-DscConfiguration -path "C:\scripts" -Verbose -Wait -Force
但在我的情况下,我每个应用程序/角色或功能只有1个服务器,如果我理解正确,这个功能只有在您需要在(x)台服务器上部署相同配置时才有用。
你的建议是什么?我应该选择从头开始编写PowerShell脚本吗?还是选择像Puppet或Chef这样的解决方案(更容易),但在这种情况下,我将依赖于一个工具。
最好的解决方案是使用SQL数据库->我的项目的最终目标是一个带有数据库的Web应用程序,该数据库将执行我的PowerShell脚本以部署我的基础架构。
当然,从这个Web应用程序,我将通过表单填充我的数据库,并且我的PowerShell脚本将查询此数据库以获取信息(IP地址,客户端名称,域名,密码,用户...)
感谢您的建议。