什么是 Ansible pre_tasks? 如何在远程主机 [Linux] 上更新操作系统、安装 Python 和安装 JRE?

已发表: 2019-05-10

什么是 Ansible pre_tasks?如何在远程主机上更新操作系统、安装 Python 和安装 JDK

Ansible 中的 pre_tasks 是什么?

pre_tasks是 Ansible 在执行.yml文件中提到的任何tasks之前执行的任务。

考虑这种情况。 您在Amazon EC2云或Google Cloud上预置了一个新实例。 您需要做的第一件事是安装操作系统更新。 然后安装最新的 Python,安装 Java 等等。

完成上述所有前置任务后,您需要复制您的应用程序并启动这些应用程序。 在复制应用程序依赖项之前,必须安装所有基本二进制文件。

在本教程中,我们将详细介绍如何使用 Ansible pre_task标签执行预任务。

什么是 Ansible pre_tasks?在远程主机上更新操作系统、安装 Python 和安装 JRE?

我们将在本教程中遵循以下场景:

  1. 创建文件crunchify-hosts文件并添加我们将在其上执行 pre_task 的 IP。
  2. 创建文件crunchify-install-python-java.yml这是 ansible playbook。
    • pre_task:安装 python-simplejson
    • pre_task: 安装 python-minimal
    • pre_task:安装系统更新
    • pre_task:安装最新的 JRE
  3. 获取 Python 版本
  4. 获取 Java 版本
  5. 打印所有调试结果
  6. 运行命令 ansible-playbook -i ./crunchify-hosts crunchify-install-python-java.yml 这将执行我们所有的任务

crunchify-hosts 文件

如您所见,我正在使用crunchify.pem文件进行无密码身份验证。 我可以简单地连接到我的主机而无需任何密码提示。

crunchify-install-python-java.yml 文件

我们在 Ansible 中使用register关键字来注册变量。 它存储raw任务的返回值。

debugstdout_lines的帮助下,您可以在命令行上打印结果。

运行命令:

ansible-playbook -i ./crunchify-hosts crunchify-install-python-java.yml

Ansible 输出:

而已。

如您所见,在本教程中,我们在远程主机上安装了 Python、java 和系统更新。 此外,将结果返回到 mac 终端窗口。

下一步是什么?

尝试查看有关如何将文件、目录或脚本从本地主机复制到远程主机的教程。