佈署應用程式到AWS上的Windows Server
記錄一下若要部署application到Windows Server要怎麼做.
- 在Windows Server上確認 power shell的版本是否 >3.0
下指令
$PSVersionTable.PSVersion
下圖表示目前的power shell 版本是 3.0, 符合Ansible的要求
- 在windows Server上執行script, 設定執行Ansible script時所需要的環境設定
先讓OS允許行scirpt
$Set-ExecutionPolicy Unrestricted
然後要先去Ansible的官網下載scritp:
http://docs.ansible.com/ansible/intro_windows.html
如下圖:
然後執行下列script, 做後面加 --Verbose的目的是可以看到比較多的log資訊
powershell.exe -File ConfigureRemotingForAnsible.ps1 --Verbose
下圖是執行結果.
這樣, Windows的環境算是設定好了.
補充一下:因為Windows Server是在AWS上,所以也需要在AWS上的網路設定上打開 5986 port.
這個port 是winrm使用的
- 在Ansible Tower上建立專案
- 在Ansible tower上設定CREDENTIALS
- 在Ansible tower上設定inventory
這裡應該是我卡住最久的地方了.
因為是windows, 所以在官網的文件上都說需要有一個 group_vars/windows.yml , 這個檔案的內容如下:
後來才知道, 若使用tower, 在 add inventory畫面時, 要將上述的內容加在 variables欄位中, 如下圖:
然後可以在這個inventory中加入windows server的IP, 如下圖:
- 建立template
當然需要寫Ansible的腳本, 這個部份就跟寫一般的ansible script是相同的, 就不說明了
然後就可以執行部署了: