星期三, 10月 25, 2017

VirtualBox VT-x

對於這個選項放在每個 Guest VM 上,一直以來引人誤解為「只要勾選就能讓 Guest VM 相當於 BIOS 設定啟用 VT-x」,其實只是代表「Host 在啟動 Guest 時能用到 VT-x」,這篇有比較詳細的討論。
如果想讓 Guest VM 支援 VT-x,專業術語叫 nested virtualization,大家已對 VirtualBox 喊話很久了。

星期四, 10月 19, 2017

Confirm your Jenkins Deploy

以我大多接觸的都是 Web Application 而言,可概分
  • 淺層-網路通暢
  • 中層-版本正確
  • 深層-功能正確
淺層在 Jenkins 有個好用的 Http Request Plugin,只要輸入任一頁的 URL,這個外掛就可以試著要求,並檢查回傳的 Http Status Code 是否在預期內,通常是 2xx 或 3xx。
最近有個特例是要檢查部署的結果,但對面並不接受 http(s) 協定,在 Linux 上的 Jenkins Slave 可以用 nc -vz <IP> <Port>。
中層的話,如果部署的 Web Application 除了服務人,也服務機器(Web API),建議就考慮增加一個供外界查詢版本的 Web API,Jenkins 可透過核對 curl <Web API> 確認部署的狀況;如果是只服務人又不想改得多,可以挑一個靜態網頁的角落放版號,用 Selenium BDD 簡單的腳本確認。
深層的話,要準備 Selenium BDD 比較複雜的腳本,錄製工具似乎有些變化,所幸直接用 Node.js 來寫也不太困難。

[2017/10/23 補充]
有些 Linux 版本上 nc 似乎相容性不是很好,可用 nmap <IP> -p<Port> | grep open 試試能否取代?

星期二, 10月 17, 2017

Samba cannot communicate with Windows WINS servers

不敢令人相信的標題!出自於
當 Windows 與 Linux 混處於同個網段上,Linux 想識別那些 WINS server 掌管的 NetBIOS 機器名稱,竟然不是我一直肖想的架個 Samba 就好?目前只知一種解法(在安裝 Samba 之後):
  • nmblookup -U <WINS_ip> -R <NetBIOS_name>