├── hosts
├── playbooks
│ ├── project1-staging.yml
│ └── project1-production.yml
├── roles
│ └── project1-compile
│ ├── files
│ │ └── project1.conf
│ ├── handlers
│ │ └── main.yml
│ ├── meta
│ │ └── main.yml
│ ├── tasks
│ │ └── main.yml
│ ├── templates
│ └── vars
│ └── main.yml
│ └── ec2-create
│ ├── handlers
│ │ └── main.yml
│ ├── meta
│ │ └── main.yml
│ ├── tasks
│ │ └── main.yml
│ ├── templates
│ └── vars
│ └── main.yml
│ └── project1-deploy
│ ├── handlers
│ │ └── main.yml
│ ├── meta
│ │ └── main.yml
│ ├── tasks
│ │ └── main.yml
│ ├── templates
│ └── vars
│ └── main.yml
├── vars.yml
---
- name: deploy project1 (staging) {{ version }}
hosts: local
connection: local
roles:
#- project1-compile version={{ version }}
- { role: ec2-create, project: project1, count:1 }
- { role: project1-compile, version: {{ version }} }
- { role: project1-deploy, version: {{ version }}, target: {{last_ec2}} }
这个结构有一些问题,我也不喜欢它。-这样合适吗?-我如何使用EC2的结果-创建角色,我想部署代码到服务器,这是刚刚创建的,我不知道ID。-还有其他方法可以将参数传递给角色吗?
看一下库存模块。更具体地说,add_host模块。
提要
使用变量在清单中创建新的主机和组,以便在同一剧本的后续剧本中使用。接受变量,以便更全面地定义新主机。
# add host to group 'just_created' with variable foo=42
- add_host: name={{ ip_from_ec2 }} groups=just_created foo=42
# add a host with a non-standard port local to your machines
- add_host: name={{ new_ip }}:{{ new_port }}
# add a host alias that we reach through a tunnel
- add_host: hostname={{ new_ip }}
ansible_ssh_host={{ inventory_hostname }}
ansible_ssh_port={{ new_port }}
myrole/tasks/main.yml myrole/defaults/main.yml 但是,当我将变量传递给我的角色时,它无法使用defaults/main.yml文件,并且得到以下错误: 似乎可以使用数组,但如果我使用哈希并希望访问带有item.xxx的变量,则返回此错误: 失败了!=>{“failed”:true,“msg”:“字段'args'具有无效值,该值似乎包含未定义的变量。错误
本文向大家介绍ansible 使用角色,包括了ansible 使用角色的使用技巧和注意事项,需要的朋友参考一下 示例 Ansible使用角色的概念来更好地允许模块化代码并避免重复自己。 角色只是Ansible知道从何处加载vars文件,任务和处理程序的文件夹结构。一个例子可能看起来像这样: 然后,您可以将该角色用于基本的剧本,如下所示: 针对此剧本运行Ansible时,它将针对组中的所有主机并针对
本文向大家介绍ansible 与Ansible Galaxy共享角色,包括了ansible 与Ansible Galaxy共享角色的使用技巧和注意事项,需要的朋友参考一下 示例 还可以轻松地与社区共享角色,或通过Ansible Galaxy下载由社区其他成员创建的角色。 Ansible附带了一个名为的命令行工具ansible-galaxy,可用于在ansible.cfg文件中定义的角色目录中安装角
根据Ansible的文档,一个剧本是: ...一个非常简单的配置管理和多机部署系统的基础,不像任何已经存在的系统,并且非常适合部署复杂的应用程序。 同样,根据这些文档,一个角色是: 如果有人能给我解释这些差异,我对Ansible的理解将会大大提高! 剧本vs角色vs以及中的类似条目 如果剧本是在YAML文件中定义的,那么角色在哪里定义? 除了Ansible服务器上的之外,如何使用可用的剧本/角色添
我有我的ansible playbook基本上创建一个新的虚拟机从模板在esxi什么,我必须转换到角色的playbook。我是ansible的新手,所以我不知道如何从roles(install)->vars目录调用硬编码变量。 这是我的剧本 问题是我不知道如何从roles->vars目录调用var,正如你可以在我的剧本中看到的,我有硬代码变量。我需要在文件中获取或设置变量,并从该文件调用它。
本文向大家介绍ansible 角色依存关系,包括了ansible 角色依存关系的使用技巧和注意事项,需要的朋友参考一下 示例 角色还使您可以通过创建meta/main.yml带有dependencies块的文件来将其他角色定义为依赖项: 也可以将值传递给依赖角色中的参数/变量: 甚至有条件地执行依赖角色: 依赖角色始终在依赖它们的角色之前执行。而且,它们仅执行一次。如果两个角色声明与其依赖关系相同