一、概述
筆者曾負責研發測試環境建設工作,其中一項任務是爲上百個系統開發項目組提供安裝好所需JDK和WebLogic的虛機,工作量巨大。
在初期,申請的大量虛機是裸機,手工安裝費時費力。恰好筆者當時也在進行系統持續集成研發工作。當學習了Ant和Jenkins後,發現使用這兩樣工具完成像JDK和WebLogic這樣的基礎軟件安裝,真是再合適不過了。於是,編寫了安裝用的Ant腳本,並使用Jenkins完成參數化,相當於開發了一個簡易版的環境運維繫統。
當然,在前期也通過使用模版虛機鏡像,部分解決了這一問題:即在一臺虛機按標準裝好所有版本JDK(5\6\7)和WebLogic(9\10\11),然後將該虛機制作鏡像,即可複製出多臺一模一樣的虛機。 不過使用Jenkins+Ant腳本的方式更加靈活,近年來公司部分系統升級系統爲JDK8+WebLogic12C,於是在原腳本上進行簡單的調整,就可以滿足新版本軟件的批量安裝了。
對於運維工作,一般把完全無人值守的操作叫自動化運維,當然,自動化運維的前提需要自動化監控和問題處理策略。本例中安裝軟件需要人工輸入一些參數觸發操作,故可稱之爲半自動化。這些半自動化的運維操作可以構成自動化運維中的原子操作。
在學習了這些內容後,則可以嘗試使用Jenkins+Ant實現安裝更爲複雜的一寫工具,比如Nginx、Redis、MySQL等等。
二、半自動化腳本編寫第一步:梳理完整的手工操作步驟
1. 服務器初始化(創建組、用戶、swap)
2. 上傳JDK包、安裝JDK(5、6、7、8)
3. 上傳WebLogic包、安裝WebLogic(9、10、11、12)
4. 創建Domain
5. 批量創建受管Domain
三、從下期開始step by step介紹具體實現,計劃如下:
(1) Ant基礎
JDK8的安裝腳本編寫-使用TASKscp實現文件上傳至服務器與sshexec執行linux命令
(2) ant-contrib
多版本JDK的選擇安裝-使用ant-contrib:if else邏輯實現邏輯判斷
多服務器的批量安裝-使用ant-contrib:foreach實現批量操作
(3) Jenkins
Jenkins的安裝和基本配置
設置服務器對Jenkins服務器的信任
新建Jenkins任務並設置參數調用Ant腳本