自动化环境部署工具的编写
開發這個工具的初衷是為了解決一個問題,問題描述如下:
人工部署環境時,會由于不同的用戶無意更改conf中的配置,導致最終結果diff追查時候的問題。
為了解決這個問題,有了這個工具的雛形,具體完成功能如下:
1,創建本地模塊目錄,包括備份現有目錄,創建新目錄,由傳入conf文件中的配置參數決定。
2,去線上機器下載模塊到本地,需要下載的模塊目錄由參數確定。
3,修改 ‘模塊的conf文件’(一些配置參數,因為線上和線下的區別會有差異),根據傳入的conf文件修改。
?
在寫代碼實現的過程中,跟預期中的架構會有出入,所以做到最后就更改為自己的思路了。后來又跟同事溝通后,還是要按照原思路進行;這個過程讓我認識了一個工具架構的重要性,在做的過程中,要考慮可擴展,可升級;只有架構夠行,才能在以后升級過程中只改動一小部分,而不影響現有功能。
?
具體架構如下,首先是存儲結構:
工具目錄------->模塊目錄 ------>子模塊..? -----> new
?????????????????????????????????????????????????????????? ------>old
?????????????????????????????????????????????????????????? ------->old.bak
??????????? -------->conf目錄 ----->總配置文件
???????????????????????????????????? ------>模塊配置文件 .....
??????????? -------->總控腳本
??????????? -------->父類腳本(所有模塊的共性配置)
??????????? -------->子類腳本(繼承父類腳本,并加入自己需要實現的功能)
?
然后代碼架構:
總控腳本:傳入兩個參數,一個是模塊名,令一個是模塊的配置文件地址
??????????????????? 接收參數,創建相應的子類對象
子類腳本:初始化過程中,將配置文件中的參數都解析出來存入對象變量中,并展??? 開操作
?
因為工具是為多個模塊服務的,所以新添加模塊的時候,只需要添加一個子類腳本,并且大部分common的功能都在父類中實現了,所以子類只需傳入參數調用即可。
所以說每新增一個模塊,只需要在總控腳本中加入一行if判斷語句,并添加一個子類腳本即可。不會影響現有模塊。
轉載于:https://blog.51cto.com/xuxueliang/982789
總結
以上是生活随笔為你收集整理的自动化环境部署工具的编写的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 和懒惰做朋友
- 下一篇: 一瓦同城-给新人第四天培训