Chef infra 将以下厨师食谱的一部分转换为Ansible
我正在尝试将下面的厨师食谱转换成Ansible。它的等价物是什么?。。我熟悉Ansible。将创建三个目录是否正确?。例如/usr/share/agentone/lib/usr/share/agentone/etc/usr/share/agentone/bin,所有这些都开启了0755模式Chef infra 将以下厨师食谱的一部分转换为Ansible,chef-infra,ansible,ansible-playbook,Chef Infra,Ansible,Ansible Playbook,我正在尝试将下面的厨师食谱转换成Ansible。它的等价物是什么?。。我熟悉Ansible。将创建三个目录是否正确?。例如/usr/share/agentone/lib/usr/share/agentone/etc/usr/share/agentone/bin,所有这些都开启了0755模式 if node[:platform_family] == 'debian' %w{lib etc bin}.each do |dir| directory "/usr/share/agento
if node[:platform_family] == 'debian'
%w{lib etc bin}.each do |dir|
directory "/usr/share/agentone/#{dir}" do
mode '0755'
owner 'root'
group 'root'
action :create
recursive true
end
end
directory '/var/log/agentone'
directory 'var/run/agentone'
link '/usr/share/agentone/logs' do
to '/var/log/agentone'
end
template '/etc/init.d/agentone' do
owner 'root'
group 'root'
mode '750'
source 'agentone.init.erb'
variables(
:version => node[:base][:agent][:agent_artifact][:version]
)
end
end
用Ansible编写的最佳方式是什么?Ansible版本的内容如下:
- name: create dirs
file: path=/usr/share/agentone/{{ item }}
state=directory
owner=root
group=root
mode=0755
recurse=true
with_items:
- lib
- etc
- bin
when: ansible_distribution == 'Debian'
编辑:关于您添加的附加代码:
- name: symlink /usr/share/agentone/logs
file: path=/usr/share/agentone/logs
src=/var/log/agentone
state=link
- name: template /etc/init.d/agentone
template: src=agentone.init.erb
dest=/etc/init.d/agentone
owner=root
group=root
mode=0750
关于模板任务中使用的变量,只需将它们添加到您的库存文件、vars文件或其他任何地方。Hey Bruce。我增加了一些配置,你能帮我把它们转换成Ansible吗?非常感谢。。提到的chef文件中的两个目录与以下目录相同:-名称:创建dirs文件:path=/var/log/agentone state=目录-名称:创建dirs文件:path=var/run/agentone state=目录正确吗?这里的整个配置在debian的ansible系列发行版下。我怎样才能提到“debian”系列下的整个配置?我应该在最后一行添加该行,还是需要在每次配置后提及该行?