问题标签 [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.
deployment - 我怎样才能运行一次任务?
有用于部署许多主机的剧本。
我需要在部署后将变量 ОNCE(运行 local_action 一次?!)的含义发送到 REST 服务。
我怎样才能做到这一点?
ansible - 如何在 ansible playbook 中添加新行
我正在尝试使用lineinfile通过 ansible playbook 在 yaml 配置文件中添加新行。我到目前为止所尝试的。
我也按照参考文件进行了尝试。
谁能指导我如何添加文件中不存在的新行。我知道我可以通过添加regexp='' insertafter=EOF
我的#attempt-1
. 但我想在文件中间添加上面的行。
ubuntu - 如何检测 Ansible playbook 在执行期间挂起的原因
我写的一些任务开始并且永远不会结束。Ansible 不提供任何可以解释这一点的错误或日志,即使使用 -vvvv 选项也是如此。剧本只是挂起,经过几个小时不会改变任何事情。
当我尝试手动运行我的任务(通过 SSH 输入命令)时,一切都很好。
挂起的示例任务:
有什么方法可以查看 stdout 和 stderr 吗?我试过了:
但没有任何改变。
我确实拥有所需的权限,并且我传递了正确的 sudo 密码——其他需要 sudo 的任务才能正确执行。
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
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?
ruby - 尝试安装/检查gem时Ansible“权限被拒绝”
我最近决定将我的 Ansible 部署切换为通过 rbenv 安装 Ruby,而不是通过 ruby1.9.1 从 apt-get 安装。现在我在尝试通过 Ansible 安装 gem 时遇到错误。
此命令的 Ansible playbook 条目:
我已经sudo
开始"yes"
对这个剧本部分进行更高级别的调用。所以我不确定它为什么会跳闸。我还可以使用用于 Ansible 的同一用户登录并导航到该目录并安装此 gem。
当我使用 apt-get 安装 ruby1.9.1 时它工作正常。有任何想法吗?
顺便说一下,这被部署到Ubuntu 13.04
服务器上。
更多信息:
显然它不仅仅是在 s3cp 上绊倒。我跳过了那个并继续执行另一个命令来安装捆绑程序。该命令也不起作用(以同样的方式失败)。我想知道是否存在与 rbenv ruby 冲突的默认 ruby(但是,which ruby
当 ssh'ed in 产生预期的 rbenv 目录时)。
更多信息:
我尝试通过 rvm 安装 ruby。我有同样的错误。:(
ansible - 列出任务的清单文件中的所有 ansible 主机
对于备份,我需要遍历清单文件中的所有主机,以确保备份目标存在。我的结构看起来像
所以我需要一个(内置)变量/方法来列出清单文件中的所有主机,而不仅仅是一个组。
对于组,它看起来像这样
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
ansible - Ansible - 仅在满足前提条件时才运行一系列任务
我有一个需要从远程 URL 安装的软件包,如下所示:
如果 pkg=foo 不存在,我只想运行前 3 个。实现这一目标的最佳方法是什么?
node.js - Ansible 在启动 node.js 服务器时挂起
我想在 ansible playbook 中启动我的 node.js 应用程序。现在,最终指令如下所示:
问题是 ansible 永远不会从这里返回。我怎样才能让它继续?