是否可以在 Ansible 主机上运行命令?
我的场景是,我想从内部托管的git服务器(并且不能在公司防火墙之外访问)进行结帐。然后我想将结账(tarbated)上传到正式服(托管在外部)。
目前,我正在考虑运行一个脚本,执行签出、tarballs,然后运行部署脚本-但如果我可以将其集成到Ansible中,那将是更好的选择。
我想分享的是Ansible可以通过shell在localhost上运行:
ansible all -i “localhost”,-c local -m shell -a 'echo hello world'
这对于简单的任务或Ansible的一些实践学习可能很有帮助。
代码示例摘自这篇好文章:
在本地主机上运行ansible playbook
我发现了一些其他的方法,你可以写得更易读一些。
- name: check out a git repository
local_action:
module: git
repo: git://foosball.example.org/path/to/repo.git
dest: /local/path
或
- name: check out a git repository
local_action: git
args:
repo: git://foosball.example.org/path/to/repo.git
dest: /local/path
是的,您可以在Ansible主机上运行命令。您可以指定游戏中的所有任务都在Ansible主机上运行,也可以将单个任务标记为在Ansile主机上运行。
如果要在Ansible主机上运行整个游戏,请在游戏中指定<code>主机:127.0.0.1
- name: a play that runs entirely on the ansible host
hosts: 127.0.0.1
connection: local
tasks:
- name: check out a git repository
git: repo=git://foosball.example.org/path/to/repo.git dest=/local/path
有关更多详细信息,请参见Ansible文档中的本地行动手册。
如果您只想在Ansible主机上运行单个任务,可以使用<code>local_action
- name: an example playbook
hosts: webservers
tasks:
- ...
- name: check out a git repository
local_action: git repo=git://foosball.example.org/path/to/repo.git dest=/local/path
有关详细信息,请参阅Anble留档中的“控制任务运行的位置:委托和本地操作”。
通过将以下内容添加到您的清单中,您可以避免在游戏中键入连接:local
:
localhost ansible_connection=local
(在这里,您将使用“localhost
”而不是“127.0.0.1
来引用剧本)。
在较新版本的Ansible中,您不再需要将上述行添加到库存中,Ansible假设它已经存在。
我希望使用运行测试,但只能针对主机服务器1。有办法做到这一点吗?
Ansible提供了一个命令行工具,在官方文档中起给命令行起了一个名字叫Ad-Hoc Commands。 ansible命令的格式是: ansible <host-pattern> [options] ansible命令功能有哪些 先不用深纠命令的语法,讲完module那节,就可以理解语法。先从感官上,通过下面的命令认识下ansible的命令行都可以做什么。 检查ansible安装环境 检查所有的
问题内容: 我可以在主机上运行docker命令吗?我安装在Docker容器中,现在可以以某种方式在主机上使用命令(在后台使用Docker容器的aws)吗? 我的情况是这样的:我在生产主机上有数据库备份。现在我有Jenkins cron作业,它将从db容器中获取sql文件,并将其放入服务器文件夹中。现在我还希望jenkins将此备份文件上传到AWS存储上,但是在主机上我没有安装aws,也不想在主机上
学习如何使用ansible--我需要为集群部署准备服务器。 在所有节点上安装相同的程序集,依此类推。这部分没有问题,一切都解决了。我是通过Ansible-Playbook来做的。在每个节点上,需要在文件/etc/sysconfig/network中执行 也许一些建议,帮忙?
以下是在远程主机上安装PIP/BOTO的任务,这些任务在运行route53模块时不会再出现错误:
什么是 Host Inventory ( 主机目录 、主机清单)? Host Inventory 是配置文件,用来告诉Ansible需要管理哪些主机。并且把这些主机根据按需分类。 可以根据用途分类:数据库节点,服务节点等;根据地点分类:中部,西部机房。 Host Inventory 配置文件: 默认的文件是: /etc/ansible/hosts 可以修改为其它的文件,下一章Ansible进阶中介