jjzjj

Windows + Cygwin + 单行 If Else + Puppet

所以我有一个单行bash命令来检查目录是否存在。如果有,则gitpull,如果没有,则克隆存储库。我在我的Windows机器上运行Cygwin,当我在Cygwin中运行这个命令时,它运行良好:if[-dC:/repo];thencdC:/repo&&"C:/ProgramFiles(x86)/Git/bin/git.exe"pull;else"C:/ProgramFiles(x86)/Git/bin/git.exe"clone-bdevelophttps://repo.gitC:/repo;fi当我像这样从Puppet运行相同的命令时:exec{'checkoutrepository'

windows - Puppet:使用除非选项的条件执行

Puppet版本为3.7,操作系统为Windows7。我正在尝试创建仅在某些Windows注册表值不存在时才会执行的Puppetexec。我正在尝试使用这样的代码:exec{'example':path=>'C:\Windows\System32',command=>'something',unless=>'regquery"HKEY_LOCAL_MACHINE\Software\Mykey"/f5.1',}如果我使用regquery在命令行上我得到:C:\>regquery"HKEY_LOCAL_MACHINE\SOFTWARE\Mykey"/f5.1HKEY_LOCAL_MACHI

windows - 如何使用 Puppet 基于 32/64 位操作系统动态选择系统文件夹的路径

我正在使用Puppet在Windows2008服务器R2上自动部署我的Web应用程序。我将通过几个步骤访问系统文件夹(System32或SysWOW64,具体取决于32/64位操作系统)。让我采取以下步骤之一:我将访问“appcmd.exe”以启动/停止网站。当脚本在32位机器上运行时,我需要访问位于'C:/Windows/System32/inetsrv/appcmd.exe'的文件,当脚本在64位机器上运行时机器,我需要访问位于'C:/Windows/SysWOW64/inetsrv/appcmd.exe'的文件这是我编写的脚本部分。我不想硬编码路径。根据操作系统,我希望选择“ap

windows - Hiera 和类之间的依赖关系

是否可以在Hiera中定义两个类之间的依赖关系?假设您有一个安装服务的A类和将配置该服务的B类。在此示例中,您如何在这些类之间创建依赖关系?这样的事情行得通吗?---classes:-'B':require:Class[A] 最佳答案 您可以在PuppetDSL中执行此操作。最简单的方法是制作一个包装其他模块的模块,然后将其包含在Hiera中。然后包装器模块可以使用Puppet排序工具,例如require,它:Therequirefunctiondeclaresaclassandcausesittobecomeadependency

ruby - Puppet Windows 包提供程序编码错误

我有一个用于Windows的Puppetlist,用于(除其他外)下载和安装Python。它曾经工作得很好。现在,每当它尝试处理MSI文件时,它都会给我与字符串编码相关的奇怪错误。list的相关部分是:(注意:我正在使用pget下载MSI。)#Preparetodownloadthings$downloads="C:\\puppet-downloads"file{$downloads:ensure=>directory}Pget{require=>File[$downloads],target=>$downloads,}$python='python'$py_version='2.7.

windows - Windows 8.1 更新后的 Vagrant 错误

最近将我的操作系统从Windows8更新到Windows8.1后,我的vagrant设置停止工作。我尝试在盒子上运行vagrantup,我得到以下信息:$vagrantupBringingmachine'default'upwith'virtualbox'provider...[default]BootingVM...[default]Waitingformachinetoboot.Thismaytakeafewminutes...TheguestmachineenteredaninvalidstatewhilewaitingforittobootValidstatesare'star

windows - 仅当未安装 Windows MSI 包时才需要通过 puppet 复制文件

我是在Windows上使用Puppet的新手。我正在尝试从我们网络上的共享文件夹安装MSI程序包,但要执行权限,共享文件夹仅为“读取”,它没有“执行”权限,因此当puppet代理运行并尝试安装MS,它失败了。我想做的是仅在需要安装软件包时将MSI安装程序复制到本地目录。这就是我安装包并复制到本地目录的方式:classapp_install{package{'7-Zip9.38(x64edition)':provider=>windows,ensure=>installed,source=>'c:\\temp\7zip_testInstall.msi',install_options=>

windows - 使用 puppeteer、windows 在 chromium 中播放 mp4

我正在Windows10上的节点中使用puppeteer进行开发。问题是当我打开一个播放mp4文件的网站时,浏览器告诉我它不受支持。我找到了这个包:chromium-codecs-ffmpeg-nonfree;但它适用于Linux!如何在Windows上使用puppeteer在Chromium中播放.mp4? 最佳答案 PuppeteerDocumentation对此有一个答案:Q:WhatfeaturesdoesPuppeteernotsupport?YoumayfindthatPuppeteerdoesnotbehaveasex

windows - puppet 代理 : provider git is not functional on this host

这几天我一直在尝试解决这个问题,但还没有成功,希望你能帮助我:我要做的是每天将公司git存储库的特定分支克隆到服务器上的特定(windows)虚拟机。为了学习,现在我只是想在我的桌面上的一个文件夹中克隆master分支。两个重要的观察结果:1-我知道puppet代理上安装了git2-存储库没有密码,私钥(ssh)在windows代理上分配得很好。现在我有代码:vcsrepo{"C:\{Nameofthewinagentuser}\Desktop\folder":ensure=>present,provider=>git,source=>'git@scm.example.com.br:c

Windows puppet exec 命令文件路径

我想知道是否可以在puppet(windows代理)中让变量保存文件名的值,然后将此变量值添加到execwindowscmd.exe命令中?即我正在尝试将文件从共享驱动器复制到c:\temp,如下所示:$setup_msi="myprogram.msi"exec{'copy_MSI_c:\temp':command=>'C:\\windows\system32\cmd.exe/c"copyi:\\data\\${setup_msi}"c:\\temp'}但是当windowspuppet代理运行时,puppet会解析$setup_msi变量名称本身,而不是该变量包含的值。我希望它能像这样