這應該是我們最後一則安裝教學,
我還在想 demo 要不要再加裝一個 Gitlab 比較符號實際情況,
還是用 Github 就好了…
畢竟企業內部的 bottom-up 專案,或是如果個人的 side project,
可能會想用完全可以自控的 SCM service
總之先寫一下怎麼裝 Ansible AWX(以下簡稱 AWX),
根據 官方 Github ,從 version 18 開始就建議從 AWX Operator 安裝,
Starting in version 18.0, the AWX Operator is the preferred way to install AWX. Please refer to the AWX Operator documentation.
AWX can also alternatively be installed and run in Docker, but this install path is only > recommended for development/test-oriented deployments, and has no official published release.
所以我們安裝的時候就以 17.0.1 為主,
自架的 CI 服務還要搞 Kubernetes 也太牛刀了,
很早以前官方還有提供 all in one 的 docker image,
像 Gitlab 那樣,
後來就沒在 maintain 了很可惜,
現在只有 docker(compose) 版,或是 Kubernetes operator 版可以選
在安裝之前,我們需要把前面提到的 ubuntu-ci-server 這台機器停機並升級,
因為 AWX 系統需求較高,
img
以數位海洋的方案來說,
我們需要調整 ubuntu-ci-server 至以下的 machine type,
請自行斟酌一下預算,不然就自己找機器來玩
接下來的步驟也相對簡單,
以我的設定來說,
我會在家目錄下開一個 e.g. /home/ubuntu/awx
folder,
然後放所有跟 awx 有關的東西,
像這樣
於是
mkdir -p ~/awx && cd ~/awx
git clone -b 17.0.1 https://github.com/ansible/awx.git
clone 完,
要修改一下 inventory,
像是 docker 要 mount 的 volume、database password 那些的,
我直接給 git diff
提供參考,
請按照需求自行修改
接著參考 教學安裝,
我這邊預設是直接 ssh 到 ubuntu-ci-server 上,
再對 localhost 做本地安裝,
這個模式我們在前幾天提過就不多贅述
cd ~/awx/awx/installer
ansible-playbook -i inventory install.yml
完成之後,
恭喜安裝完成,
你應該可以登入 AWX portal 稍微瀏覽一下