Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ansible/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Chef infra 将以下厨师食谱的一部分转换为Ansible_Chef Infra_Ansible_Ansible Playbook - Fatal编程技术网

Chef infra 将以下厨师食谱的一部分转换为Ansible

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

我正在尝试将下面的厨师食谱转换成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/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”系列下的整个配置?我应该在最后一行添加该行,还是需要在每次配置后提及该行?