当前位置: 首页 > 知识库问答 >
问题:

ansible-在角色中包含静态脚本文件

金令秋
2023-03-14

下面是名为webserver的ansibel角色的目录结构

本地主机角色#树

.
├── readme.md
├── site.yml
└── webserver
    ├── files
    │   ├── createswap.sh
    │   └── nginxkeyadd.sh
    ├── handlers
    │   └── main.yml
    ├── tasks
    │   └── main.yml
    ├── templates
    │   ├── helloworld.conf.j2
    │   └── index.html.j2
    └── vars
        └── main.yml
- name: Create swap file 50MB
  script: /etc/ansible/roles/webserver/files/createswap.sh
- name: add GPG key for nginx
  script: /etc/ansible/roles/webserver/files/nginxkeyadd.sh 
- name: Install nginx on target
  apt: name={{ item }} state=latest
  with_items:
   - rsync
   - git
   - nginx

共有1个答案

葛修真
2023-03-14

在ansible中是好的练习吗?

不。摘自文档:

任何副本、脚本、模板或包含任务(在角色中)都可以引用角色/x/{文件、模板、任务}/(目录取决于任务)中的文件,而不必相对或绝对地对它们进行路径选择

另外,使用shell脚本代替本机Ansible模块也是一种反模式。

 类似资料:
  • 我有我的ansible playbook基本上创建一个新的虚拟机从模板在esxi什么,我必须转换到角色的playbook。我是ansible的新手,所以我不知道如何从roles(install)->vars目录调用硬编码变量。 这是我的剧本 问题是我不知道如何从roles->vars目录调用var,正如你可以在我的剧本中看到的,我有硬代码变量。我需要在文件中获取或设置变量,并从该文件调用它。

  • 根据Ansible的文档,一个剧本是: ...一个非常简单的配置管理和多机部署系统的基础,不像任何已经存在的系统,并且非常适合部署复杂的应用程序。 同样,根据这些文档,一个角色是: 如果有人能给我解释这些差异,我对Ansible的理解将会大大提高! 剧本vs角色vs以及中的类似条目 如果剧本是在YAML文件中定义的,那么角色在哪里定义? 除了Ansible服务器上的之外,如何使用可用的剧本/角色添

  • 问题内容: 我参与了一个将项目从Oracle迁移到MySQL的项目。在Oracle中,当通过命令行运行批处理时,我能够创建一个引用或包含其他外部SQL脚本文件的SQL脚本。我有一个名为CreateAllTables.sql的脚本,在内部看起来像这样: 我已经知道MySQL命令行“源”命令,但是我的目标是通过一个命令行调用来调用一个包含其他脚本的主.sql脚本文件,如下所示: 所以我的问题是我该如何

  • 问题内容: 我该如何放置此python脚本: 在html文件中? 问题答案: 像这样的东西,如果要创建一个html,不一定要显示它:

  • 本文向大家介绍ansible 使用角色,包括了ansible 使用角色的使用技巧和注意事项,需要的朋友参考一下 示例 Ansible使用角色的概念来更好地允许模块化代码并避免重复自己。 角色只是Ansible知道从何处加载vars文件,任务和处理程序的文件夹结构。一个例子可能看起来像这样: 然后,您可以将该角色用于基本的剧本,如下所示: 针对此剧本运行Ansible时,它将针对组中的所有主机并针对

  • 本文向大家介绍Python中的 ansible 动态Inventory 脚本,包括了Python中的 ansible 动态Inventory 脚本的使用技巧和注意事项,需要的朋友参考一下 1.Ansible Inventory  介绍; Ansible Inventory 是包含静态 Inventory 和动态 Inventory 两部分的,静态 Inventory 指的是在文件中指定的主机和组,