问题标签 [ansible]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
155 浏览

deployment - 我怎样才能运行一次任务?

有用于部署许多主机的剧本。

我需要在部署后将变量 ОNCE(运行 local_action 一次?!)的含义发送到 REST 服务。

我怎样才能做到这一点?

0 投票
1 回答
8562 浏览

ansible - 如何在 ansible playbook 中添加新行

我正在尝试使用lineinfile通过 ansible playbook 在 yaml 配置文件中添加新行。我到目前为止所尝试的。

我也按照参考文件进行了尝试。

谁能指导我如何添加文件中不存在的新行。我知道我可以通过添加regexp='' insertafter=EOF我的#attempt-1. 但我想在文件中间添加上面的行。

0 投票
6 回答
50579 浏览

ubuntu - 如何检测 Ansible playbook 在执行期间挂起的原因

我写的一些任务开始并且永远不会结束。Ansible 不提供任何可以解释这一点的错误或日志,即使使用 -vvvv 选项也是如此。剧本只是挂起,经过几个小时不会改变任何事情。

当我尝试手动运行我的任务(通过 SSH 输入命令)时,一切都很好。

挂起的示例任务:

有什么方法可以查看 stdout 和 stderr 吗?我试过了:

但没有任何改变。

我确实拥有所需的权限,并且我传递了正确的 sudo 密码——其他需要 sudo 的任务才能正确执行。

0 投票
9 回答
32520 浏览

debian - Vagrant 和 Ansible 的“跳过:没有匹配的主机”问题

我已经安装了 Vagrant、VirtualBox 和 Ansible 并尝试在一台主机上运行配置,但它总是返回“跳过:没有匹配的主机”

我的剧本文件的头部如下所示:

我的/etc/ansible/hosts文件如下所示:

我尝试将 IP 地址放在那里,但结果相同。我已将我的 ssh 密钥添加到服务器,并将 webserver1 主机添加到两者.ssh/config/etc/hosts.

ssh vagrant@webserver1由于使用了 ssh 密钥,我可以在不提示输入密码的情况下正常工作。

我在这里想念什么?

  • 主机:Debian 7.2
  • 客户端机器:Debian 7
  • 虚拟机:4.1.18
  • 先锋:1.4.1
  • 稳定:1.5
0 投票
3 回答
5446 浏览

php - Installing PHP Pear packages via Ansible with idempotency

I'm currently installing Pear packages for PHP with Ansible like so:

The ignore_errors is required because pear always reports an error when running a command that's been run/completed successfully before (like:

Is there a better (more idempotent) way to run pear commands, and not have to scroll through a bunch of big, red ignored errors?

0 投票
2 回答
2702 浏览

ruby - 尝试安装/检查gem时Ansible“权限被拒绝”

我最近决定将我的 Ansible 部署切换为通过 rbenv 安装 Ruby,而不是通过 ruby​​1.9.1 从 apt-get 安装。现在我在尝试通过 Ansible 安装 gem 时遇到错误。

此命令的 Ansible playbook 条目:

我已经sudo开始"yes"对这个剧本部分进行更高级别的调用。所以我不确定它为什么会跳闸。我还可以使用用于 Ansible 的同一用户登录并导航到该目录并安装此 gem。

当我使用 apt-get 安装 ruby​​1.9.1 时它工作正常。有任何想法吗?

顺便说一下,这被部署到Ubuntu 13.04服务器上。

更多信息:

显然它不仅仅是在 s3cp 上绊倒。我跳过了那个并继续执行另一个命令来安装捆绑程序。该命令也不起作用(以同样的方式失败)。我想知道是否存在与 rbenv ruby​​ 冲突的默认 ruby​​(但是,which ruby当 ssh'ed in 产生预期的 rbenv 目录时)。

更多信息:

我尝试通过 rvm 安装 ruby​​。我有同样的错误。:(

0 投票
1 回答
25723 浏览

ansible - 列出任务的清单文件中的所有 ansible 主机

对于备份,我需要遍历清单文件中的所有主机,以确保备份目标存在。我的结构看起来像

所以我需要一个(内置)变量/方法来列出清单文件中的所有主机,而不仅仅是一个组。

对于组,它看起来像这样

0 投票
2 回答
8206 浏览

roles - 为环境定制 ansible 角色

我有许多环境,需要定制一堆文本文件,以便像 mule 这样的东西与正确的端点对话。

对于这种环境,这有效:

环境之间的唯一区别(从 ansible 的角度来看)是 ./roles/esb/vars/main.yml 中保存的信息。

我考虑过使用 svn 为每个环境保留一个 vars/main.yml,所以每次我需要配置一个环境时,我都会先检查角色,然后再检查该环境的 vars/main.yml,然后再运行上面的命令。

对我来说,这不是一个优雅的解决方案。我怎样才能做得更好?

目录结构

./test03.yml

./roles/esb/vars/main.yml

./roles/esb/tasks/main.yml

./roles/esb/templates/trp.properties.j2

0 投票
1 回答
6315 浏览

ansible - Ansible - 仅在满足前提条件时才运行一系列任务

我有一个需要从远程 URL 安装的软件包,如下所示:

如果 pkg=foo 不存在,我只想运行前 3 个。实现这一目标的最佳方法是什么?

0 投票
4 回答
6694 浏览

node.js - Ansible 在启动 node.js 服务器时挂起

我想在 ansible playbook 中启动我的 node.js 应用程序。现在,最终指令如下所示:

问题是 ansible 永远不会从这里返回。我怎样才能让它继续?