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

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

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

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

          部份批處理內容如下,test_env.bat:
          @echo off

          rem 根據實際情況,修改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 開發、測試環境 
          >> .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 備份系統的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文件到系統目錄
          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 閱讀(618) 評論(0)  編輯  收藏 所屬分類: 大雜燴
          <2008年12月>
          30123456
          78910111213
          14151617181920
          21222324252627
          28293031123
          45678910

          常用鏈接

          留言簿(3)

          隨筆分類

          隨筆檔案

          收藏夾

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 依兰县| 库伦旗| 贡嘎县| 梁河县| 曲麻莱县| 永平县| 宁德市| 天柱县| 图片| 如东县| 永仁县| 鲁甸县| 绿春县| 白玉县| 临泽县| 玉门市| 苍梧县| 余干县| 铜山县| 东乌珠穆沁旗| 诸城市| 林西县| 兴安盟| 苗栗市| 德州市| 广丰县| 张家港市| 麟游县| 永春县| 石景山区| 伊宁县| 孟津县| 高陵县| 彩票| 新乡市| 富平县| 科技| 女性| 沁源县| 莲花县| 胶南市|