我的任务是在多台Windows机器上建立基于Java的开发环境.问题是我希望在每台机器上自动轻松地完成这个过程,这样开发人员就不必浪费时间下载和安装所有不同的应用程序.理想情况下,我希望有以下内容:
我已经研究了几种工具.目前最有前途的似乎是Puppet.但是,Puppet在Windows中不能正常工作......使用VM映像可以解决第一个要求,但由于硬件在整个机器上不同并且升级不容易,因此它是不可能的.
有没有人有过这种任务的经验?你会如何解决它?
我终于承诺真正学习软件设计过程,以提高我的技能和发展我的业务.这意味着采用版本控制(git),设置开发阶段生产环境并尽可能保持这些环境的配置.
在选择自动化和同步我的服务器设置的解决方案时,我真的赶上了最后一步.我看过Chef,Puppet&Fabric,但就我的目的而言,它们看起来都过于复杂.我是:
对于比掌握复杂的Chef环境或学习Python使用Fabric更容易实现的解决方案,我将不胜感激.如果有必要,我可以这样做,但我希望有一个更基本/更优雅的解决方案,因为我非常简单的需求.
我试图找到一种方法将Ruby地址转换为32位整数,用于木偶模板.
这就是我在bash中进行转换的方式.
root@ubuntu-server2:~# cat test.sh
#!/bin/bash
#eth0 address is 10.0.2.15
privip=`ifconfig eth0 | grep "inet addr:" | cut -d : -f 2 | cut -d " " -f 1` ;
echo "Private IP: ${privip}" ;
# Turn it into unsigned 32-bit integer
ipiter=3 ;
for ipoctet in `echo ${privip} | tr . " "` ;
do
ipint=$(( ipint + ( ipoctet * 256 ** ipiter-- ) )) ;
done ;
echo "Private IP int32: ${ipint}" ;
Run Code Online (Sandbox Code Playgroud)
.
root@ubuntu-server2:~# bash test.sh …Run Code Online (Sandbox Code Playgroud) 基本上,标题说明了一切:是否有基于Node.js的替代配置工具,如Puppet或Chef?
嗨,我是木偶的新手,并尝试处理样本,将文件从一个位置复制到另一个位置.有任何示例脚本吗?
例如:我的文件位于d:\ temp\test.txt,我想将此文件复制到E:\ mycopy \文件夹.
我有一个pip样式的requirements.txt文件,用于跟踪我的python依赖项,我正在将我的开发环境移动到vagrant + puppet.到目前为止,我一直在使用内置于puppet的pip提供程序来安装这样的单个包:
package {
["django", "nose"]:
ensure => present,
provider => pip
}
Run Code Online (Sandbox Code Playgroud)
是否有可能传递我的requirements.txt并让puppet在文件发生变化时保持包更新?
需要为新项目设置基础架构.以前我用jenkins单独使用puppet,但现在我正在考虑使用docker构建,这样我就可以从开发到阶段到生产而不会触发构建,只需简单地获取已经存在的docker现有docker图像建成.
该应用程序:
ENVS:
建立:
所以基本上我在想这样的事情:
我为什么要使用码头工具?
问题
欢迎任何建议,谢谢.
我在我的一个流浪项目中使用木偶作为我的供应者.我正在尝试为自定义bash_profile添加模块.
在module_path对木偶被设置为:
puppet.module_path = "puppet/modules"
Run Code Online (Sandbox Code Playgroud)
我的bash_profile模块的类看起来像这样:
class bash_profile
{
file
{
"/home/vagrant/bash_profile":
ensure => present,
source => "puppet:///modules/bash_profile/files/bash_profile"
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的木偶结构的文件结构:
puppet
| manifests
| | phpbase.pp // my main manifest file that has includes for modules
| modules
| | bash_profile
| | | files
| | | | bash_profile // the actual bash_profile file I want to ensure is present on my VM
| | | manifests
| | | | init.pp // the init file …Run Code Online (Sandbox Code Playgroud) 我有一个要求,我想在几个虚拟机上配置Java应用程序所需的机器特定SSL证书(使用机器的IP /主机名生成).
我可以提前创建这些证书,如QA-Machine01,Prod-Machine01等名称,并可以将它们保存在某个文件夹中.
如何让Vagrant动态选择这些证书,获取它的名称(QA-Machine01,Prod-Machine01)并使用证书名称为机器名配置VM?