Deployment 如何确保应用程序结构安装在Windows Puppet代理上
我正在尝试在Windows Puppet代理上设置应用程序结构。我有以下配置:Deployment 如何确保应用程序结构安装在Windows Puppet代理上,deployment,puppet,appfabric,Deployment,Puppet,Appfabric,我正在尝试在Windows Puppet代理上设置应用程序结构。我有以下配置: Linux傀儡主机(CentOS 6.5) Windows Puppet代理(Windows Server 2008 R2) 傀儡版本3.8.2 我使用以下清单来确保安装了App Fabric: #这是appfabric模块的init.pp清单文件 类appfabric{ #TODO:从Hiera获取安装路径 $setup\u base\u directory='D:/Setups/' $setup\u path
- Linux傀儡主机(CentOS 6.5)
- Windows Puppet代理(Windows Server 2008 R2)
- 傀儡版本3.8.2
#这是appfabric模块的init.pp清单文件
类appfabric{
#TODO:从Hiera获取安装路径
$setup\u base\u directory='D:/Setups/'
$setup\u path=“${setup\u base\u directory}WindowsServerAppFabricSetup\u x64.exe”
$hotfix_path=“${setup_base_directory}AppFabric1.1-KB2932678-x64-ENU.exe”
#下拉AppFabric的设置
文件{$setup\u路径:
确保=>文件,
source_permissions=>ignore,
source=>'puppet:///modules/appfabric/WindowsServerAppFabricSetup_x64.exe',
}
->
#下拉热修复程序更新5的设置
文件{$hotfix_路径:
确保=>文件,
source_permissions=>ignore,
source=>'puppet:///modules/appfabric/AppFabric1.1-KB2932678-x64-ENU.exe',
}
->
#安装AppFabric 1.1
包{'AppFabric 1.1 for Windows Server':
确保=>存在,
source=>$setup\u路径,
安装选项=>['/i','/SkipUpdates'],
}
->
#安装修补程序KB2932678
程序包{'AppFabric 1.1修补程序安装':
确保=>存在,
source=>$hotfix\u路径,
安装选项=>['/q','/norestart'],
}
->
#启动远程注册表服务
服务{'RemoteRegistryService':
确保=>正在运行,
名称=>'RemoteRegistry',
enable=>true,
}
->
#启动应用程序结构服务
服务{'App Fabric service':
确保=>正在运行,
名称=>'AppFabricCachingService',
enable=>true,
}
}
我面临以下问题:
AppFabricCachingService
的登录用户更改为NT Authority\System
(本地系统帐户)或任何其他特定用户puppet agent--test
时,puppet每次都尝试安装App Fabric。我正在尝试编写清单,以确保在已安装App Fabric的情况下,puppet不应尝试重新安装提前感谢。对于第二期,请确保软件包的名称(在您的情况下,您指定的是“AppFabric 1.1 For Windows Server”)与Windows“添加\删除程序”菜单中显示的名称匹配。否则每次都会重新安装Puppet 您可能需要查看文档页面 根据该页: 确定程序包显示名称的最简单方法是:
- 在示例系统上安装该软件包
- 运行puppet resource package以查看已安装包的列表
- 找到您刚刚安装的包,并复制puppet resource为其报告的名称
如果您正在安装的软件未显示在程序列表中,我建议不要使用
软件包
。相反,使用exec
安装它,并添加creates
子句,仅在未找到属于该软件的特定位置中的文件时运行安装程序,或除非执行自由形式检查(注册表、尝试执行该软件和检查版本等)谢谢@MaxVT。在尝试修复此问题时,我知道每次运行命令puppet agent--test
时,都会安装Microsoft AppFabric 1.1 for Windows Server的累积更新包5。此更新既不显示在Windows的“添加\删除程序”菜单中,也不显示在命令puppet resource package
的结果中。扩展我的答案以涵盖此情况。如果是更新,则可以通过检查更新修改的文件的大小/哈希来检测安装该更新的事实。