什麼是 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 終端窗口。

下一步是什麼?

嘗試查看有關如何將文件、目錄或腳本從本地主機複製到遠程主機的教程。