在DigitalOcean上建立Server
(前幾篇的兩台先移除了!)
直接建立:
搞定:
撰寫Playbook:
1.先調整當前的hosts檔:
2.撰寫新的Playbook →deploy-node.yaml:
首先要先安裝npm,才能有nodejs應用程式所需要的deplndency
然後才能用node的指令啟動應用程式
所以需要先安裝npm與node
首先要做apt update動作,找到doc文件:
可以有兩種寫法,其1:
或是前面教的一般寫法,也就是其2:
使用上述其2寫法,apt相關指令動作可以變成list形式,串成一整行!
接著需要固定更新cache動作指定用apt-get
還有指定cache的有效時間改3600:
其中因為我對apt update動作中的cache不熟悉,所以翻找了一些解說:
大概理解是在做軟體安裝包的update時
會先陸續下載軟體包內容及其依賴內容,並且是deb格式檔案
過程中會放到暫存目錄,並可稱其為cache
直到完整下載後才能暫存目錄轉移到真正存放目錄
然後已經完整下載轉移甚至已經被完整安裝的軟體包對應的cache
並不會移除!!!!!!!!!!
這是為了避免重複的內容下載(就好像Maven的本機端.m2一樣)
但是由上述解釋,其實這些暫存目錄中的cache已經沒用了
是可以移除的
所以上面設置3600秒就移除,接著又去計算下一批的3600秒,以此類推!
接著設置安裝npm & node的Play:
(這些步驟可能會跟OS不同而有差異,這邊都是Ubuntu的示範):
參考範例:
以上這單一個Play(如上標題:Install node and npm)即完成!
複製與解壓縮tar檔(Play):
首先由於課程有些是跳著上的
這邊需要用到跳過的課程中寫的nodejs相關檔案
在這邊可以找到:
所以目前這個Play就是要從Ansible主控機將這個tgz檔COPY給目標機
所以我得先把這個tgz檔搬上去主控機!!:
所以第二個Play撰寫如下:
過程中可以查看Module:
然後改好後丟到主控機去執行看看:
#執行playbook執行指令(過程在第一個Play因為有安裝,會久一點):
ansible-playbook -i hosts deploy-node.yaml
我大概等在安裝npm & node那邊快兩分鐘:
接著當然還是要ssh進去確認:
看起來有正常成功
npm & node也有安裝好:
講師最後也解說可以換個寫法,透過unarchive預設就有的搬檔動作:
我這邊改為:
並且先移除剛剛搬上目標機上的物件:
一樣把Code搬上Ansible掌控機(過程略)
然後再次於掌控機上執行一次指令:
#執行playbook執行指令(過程如果在第一個Play因為有安裝,會久一點):
ansible-playbook -i hosts deploy-node.yaml
一樣連到目標機檢查看到:
以上這幾個Modules都是算常用的,值得學會!