ansible

解壓縮只取第二層目錄以下的檔案與目錄

Angular/Vue 這類的前端框架,在執行 npm run build 建置以後,會產生 dist 的資料夾,裏面就是要佈署的檔案。一般會使用 tar czf dist.tar.gz dist 將該資料夾裡的檔案打包為 tarball。

使用 Ansible 佈署時,需要使用 unarchive 模組解壓縮,這時會直接解壓縮出 dist 目錄。

通常解法會有兩種,第一種是在打包時,先進入 dist 資料夾,再進行打包。

第二種方法就是本文要介紹的小技巧。

等待 API 回應完成

情境是這樣的,Playbook 在送出 HTTP 請求後,需要送出一個 HTTP 請求去持續詢問是否完成,如果還沒完成,就等待一段時間後,再去詢問,那這個情境下可以怎麼做呢?

使用ansible-Vault加密字串

在撰寫 Playbook 時,難免會用到敏感性的資訊,Ansible 提供了 ansible-vault 這個工具,可以針對檔案或是字串來做加密。

如果變數內容需要加密的話,該怎麼使用呢?

Script

以前我不知道有 script 模組,所以要執行自己的腳本,都是先把腳本複製過去,再用 shell/command 去執行。

Windows SSH setup

Ansible 可以透過 WinRM 連線到 Windows 主機進行操作,這部份的設置可以參考 Setting up a Windows Host

這篇文章裡,有一部份是我之前沒注意到的,就是 Windows 主機除了可以用 WinRM 之外,也可以用 SSH 來操作。

使用 Red Hat OpenShift 來作為執行環境的平台

資料來源:

Ansible Automation platform 裡的 Automation controller 在執行 playbook 時,已經改用 execution environment (執行環境)這個容器來執行了,換言之,若有建置 OpenShift 的話,應該也可以使用 OpenShift 的運算資源來運行執行環境。

資料來源的文章就是在介紹設定的方法。