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

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

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

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

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

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

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

          echo #FI 開(kāi)發(fā)、測(cè)試環(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 復(fù)制hosts文件到系統(tǒng)目錄
          move env.host 
          %SYS_HOST%
          del .env_temp


          rem 打開(kāi)瀏覽器.
          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 閱讀(612) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): 大雜燴
          <2008年12月>
          30123456
          78910111213
          14151617181920
          21222324252627
          28293031123
          45678910

          常用鏈接

          留言簿(3)

          隨筆分類(lèi)

          隨筆檔案

          收藏夾

          搜索

          •  

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 广丰县| 黔南| 昌吉市| 满城县| 大竹县| 西乌珠穆沁旗| 芒康县| 凤翔县| 工布江达县| 峨山| 习水县| 仪陇县| 武陟县| 将乐县| 龙泉市| 峨山| 金川县| 浦江县| 嘉定区| 纳雍县| 集安市| 县级市| 东乌珠穆沁旗| 平原县| 措美县| 龙江县| 社旗县| 迭部县| 大洼县| 庆元县| 来宾市| 紫阳县| 华池县| 定南县| 龙海市| 威海市| 康平县| 启东市| 通州市| 清丰县| 微山县|