posts - 122,  comments - 25,  trackbacks - 0
          在K-system中,需通過域名來訪問,在各個測試環(huán)境及開發(fā)環(huán)境中訪問時,需在本地做hosts域名綁定。這在開發(fā)、測試過程中就會經(jīng)常的修改hosts文件,來完成在開發(fā)、測試、預發(fā)及正式環(huán)境之間切換。修改hosts文件并不是件復雜的事,但頻繁的修改,也是挺累人的事。因此,寫個批處理,自動完成環(huán)境域名綁定的工作,也可以省不少心。

          域名綁定,包括k-system的域名及依賴環(huán)境的域名(如AEP、支付寶等)。不同的開發(fā)、測試環(huán)境只需變更k-system的變更,依賴環(huán)境的域名相同;預發(fā)環(huán)境只需綁定k-system的域名,不需依賴環(huán)境的域名綁定;生產(chǎn)環(huán)境則取消所有的域名綁定。基于此,一個hosts文件可分成幾個部份:與K-system無關的其他域名綁定;K-system依賴環(huán)境的域名綁定;預發(fā)環(huán)境K-system域名的綁定;開發(fā)、測試環(huán)境的K-system域名綁定。

          根據(jù)上述分析,預定義若干hosts文件,分別對應上述列的幾部份內(nèi)容。為每個環(huán)境建一個批處理文件,根據(jù)環(huán)境需要將這些預定義的hosts文件進行組合,并動態(tài)替換系統(tǒng)的hosts(C:\WINDOWS\system32\drivers\etc)文件。同時,調(diào)用IE,打開K-system登錄頁面。這樣,通過一個批處理,可以很方便的在各個環(huán)境中切換,免去經(jīng)常要去編輯hosts文件的煩擾。

          考慮到開發(fā)和測試會在多個本地測試環(huán)境切換,建立過多的批處理也不是個好辦法。這時,可以考慮將本地開發(fā)、測試環(huán)境的切換用同一個腳本實現(xiàn),不同的環(huán)境由用戶提供運行參數(shù)來指定。如:"test_env.bat 10.2.225.87",則表示將K-system環(huán)境切換到87服務器。

          部份批處理內(nèi)容如下,test_env.bat:
          @echo off

          rem 根據(jù)實際情況,修改windows的安裝目錄
          set WIN_DIR
          =C:\WINDOWS

          echo 生成測試hosts文件.
          if exist .env_temp del .env_temp
          if "%1"=="" (
              type inc\local.
          default >> .env_temp
              goto endl
          )

          echo #FI 開發(fā)、測試環(huán)境 
          >> .env_temp
          rem 指定其他的IP
          echo 
          %1    fi.alisoft.com  image.alisoft.com >> .env_temp

          :endl

          rem 合并hosts文件
          call inc\merger.bat env.host inc\.env_base inc\.env_local .env_temp

          rem 備份系統(tǒng)的hosts
          set SYS_HOST
          =%WIN_DIR%\system32\drivers\etc\hosts
          set SYS_HOST_BAK
          =%SYS_HOST%-bak0
          if not exist %SYS_HOST_BAK% (
              copy 
          %SYS_HOST% %SYS_HOST_BAK%
          )

          rem 復制hosts文件到系統(tǒng)目錄
          move env.host 
          %SYS_HOST%
          del .env_temp


          rem 打開瀏覽器.
          call cmd 
          /c start iexplore https://fi.alisoft.com
          echo done!

          文件合并批處理 merger.bat:
          @echo off
          set output
          =%1 
          if exist %output% del %output%
          :getfile 
              shift 
              
          if "%1"=="" goto end 
              type 
          %1 >> %output% 
              goto getfile 

          :end 
              set todir
          = 
          posted on 2008-12-24 15:09 josson 閱讀(611) 評論(0)  編輯  收藏 所屬分類: 大雜燴
          <2008年12月>
          30123456
          78910111213
          14151617181920
          21222324252627
          28293031123
          45678910

          常用鏈接

          留言簿(3)

          隨筆分類

          隨筆檔案

          收藏夾

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 汉川市| 遵义市| 建始县| 高邑县| 金塔县| 乌苏市| 华容县| 九寨沟县| 瑞昌市| 横山县| 新闻| 安福县| 郁南县| 集安市| 辛集市| 广丰县| 临澧县| 东台市| 灵石县| 广宗县| 平安县| 德阳市| 博爱县| 克什克腾旗| 永昌县| 宁明县| 綦江县| 沁源县| 永川市| 通州区| 麻城市| 水富县| 金川县| 青浦区| 丹阳市| 京山县| 麻城市| 诏安县| 长垣县| 龙门县| 曲水县|