【问题标题】:Is it possible to run an Ansible playbook from a Chef AWS/Opworks cookbook?是否可以从 Chef AWS/Opworks 食谱中运行 Ansible 剧本?
【发布时间】:2019-02-21 13:19:21
【问题描述】:

我试图弄清楚是否可以创建一个通过 ssh 连接到 Ansible 服务器并从 AWS Opworks 在当前节点

上运行一些 Ansible 食谱的 Chef 食谱

我想到了一个可以像这样执行的脚本:

define :foobar_magento2_deploy  do
  release_path = node[:app_release_path]

  execute 'Ansible playbook' do
    command "ssh -i key ansible-server 'ansible-playbook arg1 arg2'"
  end
end

你觉得有可能吗?有一些警告吗?提示?

从@coderanger 回答编辑:

define :foobar_magento2_deploy  do
  release_path = node[:app_release_path]

  execute 'Ansible playbook' do
    command "git clone ansible-playbook"
    command "cd ansible-playbook"
    command "ansible-playbook -l localhost playbook.yml"
  end
end

【问题讨论】:

标签: amazon-web-services ssh ansible chef-infra amazon-cloudformation


【解决方案1】:

所以有几件事:

  1. OpsWorks Stacks 已经过时了,非常危险,使用它应该被高度怀疑。
  2. 我实际上不知道 define 会阻止其中的内容,也许这是旧的 OpsWorks 语法?
  3. 您绝对可以从 Chef 代码运行 Ansible 剧本,但我可能会比您那里更简单一些。可能只是在本地运行ansible-playbook 并将其瞄准本地主机。

【讨论】:

  • 您只能有一个command,您可能使用git 资源进行克隆,并使用execute 资源的cwd 属性设置工作目录。跨度>
  • 那我不知道你要完成什么
  • 它的最新更新仍然是 Chef 12,它已于 4 月结束生命周期。我们(Chef 社区)不再维护或支持它。因此,这是一个积极的安全风险。
猜你喜欢
  • 2016-05-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-06
相关资源
最近更新 更多