2011年7月25日

          雙語精選-VOA慢速

          未完待續....

          posted @ 2014-01-13 15:16 XuFeng| 編輯 收藏

          ====編譯工作流程(FOR WASU R&D)=====


          ====編譯工作流程(FOR WASU R&D)=====

           ========
          || 前提條件 ||
           ========

           收到開發人員提交的編譯申請郵件

           ==========
          || 主要工作流程 ||
           ==========

          1、查看版本說明書(明確編譯的程序工程、數據庫和配置文件變更與否)
          2、編譯
          3、修改配置(包括數據庫和配置文件的變更)
          4、啟動服務(跟蹤日志查看能否正常啟動)
          5、版本管理(在版本管理列表中填寫版本記錄,包括版本號、提交時間、需求編號、需求說明等)

           ===========
          || 詳細操作步驟 ||
           ==========

          1、 查看版本說明書

              Checkout編譯申請郵件中說明的產品版本說明書到本地,打開查看“更改程序列表(要編譯的程序工程)、數據庫結構變化(如有變化要在數據庫中執行相應的腳本)、配置說明(按照說明更改部署服務器中的配置)”等。

          2、編譯

          編譯服務器、賬號、路徑和對應產品:
          218.*.*.120   compiler/q1w2e3  
          /compiler/wasuprd  研究院各個產品

          218.*.*.68   compiler/com{:>  
          /compiler/wasu  28.直播廣告管理系統、bootAd等。
          /compiler/product   51.華數直播廣告系統

          找到要編譯產品的程序工程,執行編譯腳本。
          舉例如下:
          產品:賀卡
          編譯版本:1_6_11_1
          編譯的工程:ccp-tv
          編譯相關腳本:
          build-ccp-tv.xml (執行編譯的腳本)
          ccp-tv.sh(啟動編譯的腳本)

          編譯操作步驟
          1、[compiler@yuan_RAC02 wasuprd]$ vi build-ccp-tv.xml
          如果是按Tag號進行取代碼編譯,則要先在下面的這段中更改tag.version的value值,然后再執行編譯,默認為空表示取最新的代碼。
           <!--================================-->
            <!--代碼tag號設置                   -->
            <!--================================-->
            <property name="tag.version" value="ccp-tv1_6_11_1_1"/>

          2、[compiler@yuan_RAC02 wasuprd]$ sh ccp-tv.sh   //執行編譯,執行該命令后平面會打印日志
          3、[compiler@yuan_RAC02 wasuprd]$ cd dist/
              [compiler@yuan_RAC02 dist]$ cd 20110725
              [compiler@yuan_RAC02 20110725]$ mv ccp-tv.war ccp-tv1_6_11_1.war //標記備份war包的版本號:
          編譯執行完后,在/compiler/wasuprd/dist下會自動生成一個以當前日期命名的文件夾,文件夾中會有ccp-tv.war的程序包。

          3、修改配置
            產品部署服務器IP、登錄賬號和配置文件路徑

            218.*.*.120  pdtest/zxcasdqwe
            218.*.*.68  test/test@edc

          配置文件路徑都為:/pdtest/config  //個別項目的配置文件可能在tomcat中,請參照啟動腳本中的配置

          120服務器的截圖如下:  
          [pdtest@yuan_RAC02 ~]$ ls
          adrPreview  config  iploader  nohup.out  product  rmlog.sh  ssuds.1.0.1  ssuds.1.0.1.build079.tar  ssuds.conf  start-sp.sh  unzip 
          [pdtest@yuan_RAC02 ~]$ cd config/
          [pdtest@yuan_RAC02 config]$ pwd
          /pdtest/config
          [pdtest@yuan_RAC02 config]$ ls
          admin  album-server  als  bh  bill-tv  bootad  ccp-tv  cps-tv  ers  file  ipc  pws  rec  saui  smc-tv  sp-tv  tds  uaoc  ubc  vod-epg  wsmail
           
          4、啟動服務

          登錄服務部署的tomcat下,關閉該tomcat進程,清除work目錄下的內容,執行啟動tomcat的腳本,具體操作命令如下
          [pdtest@yuan_RAC02 tv]$ ls
          apache-tomcat-5.5.26  bill-picture  prp_ccp_logs  prp_cps_logs  start-tomcat.sh
          [pdtest@yuan_RAC02 tv]$ ps -ef | grep  'Djava.endorsed.dirs=/pdtest/product/tv/apache-tomcat-5.5.26'

          pdtest   24430     1  1 16:00 pts/17   00:00:52 /usr/java/jdk1.5.0_07/bin/java -Xms768M -Xmx1024M -XX:PermSize=64M -XX:MaxPermSize=256M -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=/pdtest/product/tv/apache-tomcat-5.5.26/conf/logging.properties -Xdebug -Xrunjdwp:transport=dt_socket,address=3997,server=y,suspend=n -Djava.endorsed.dirs=/pdtest/product/tv/apache-tomcat-5.5.26/common/endorsed -classpath :/pdtest/product/tv/apache-tomcat-5.5.26/bin/bootstrap.jar:/pdtest/product/tv/apache-tomcat-5.5.26/bin/commons-logging-api.jar -Dcatalina.base=/pdtest/product/tv/apache-tomcat-5.5.26 -Dcatalina.home=/pdtest/product/tv/apache-tomcat-5.5.26 -Djava.io.tmpdir=/pdtest/product/tv/apache-tomcat-5.5.26/temp org.apache.catalina.startup.Bootstrap bin start
          pdtest   30286 21779  0 16:47 pts/15   00:00:00 grep Djava.endorsed.dirs=/pdtest/product/tv/apache-tomcat-5.5.26

          [pdtest@yuan_RAC02 tv]$ kill -9 24430
          [pdtest@yuan_RAC02 tv]$ cd apache-tomcat-5.5.26/
          [pdtest@yuan_RAC02 apache-tomcat-5.5.26]$ cd work
          [pdtest@yuan_RAC02 work]$ rm -rf *
          [pdtest@yuan_RAC02 work]$ cd ../../
          [pdtest@yuan_RAC02 tv]$ ls
          apache-tomcat-5.5.26  bill-picture  prp_ccp_logs  prp_cps_logs  start-tomcat.sh
          [pdtest@yuan_RAC02 tv]$ sh start-tomcat.sh

          5、版本管理
             版本管理列表在CVS中的路徑:
          DOCUMENT\03.產品類\00.產品研發管理\02.SCM\02.版本管理\華數研究院-產品版本列表(New).xlsx
             填寫內容包括:
          發布日期、Release版本號(紅色標記)、子系統版本號(即提取代碼的Tag號)或標記符號“■”、需求編號、需求描述


          ######C語言產品編譯補充############

          1:編譯服務器、賬號、密碼、產品與路徑
          218.*.*.89  wasucpp/wsxasd
          /home/wasucpp/XP   交換網關系統
          /home/wasucpp/UTCO   統一頭端產品

          2:編譯步驟(以utoc為例)
          ##全量編譯##
          -bash-3.00$ pwd
          /home/wasucpp/UTCO/utoc
          -bash-3.00$ ls
          CVS      ace      apps     bin      build    common   conf     include  lib      samples  src
          -bash-3.00$ cvs update   //更新源代碼
          -bash-3.00$ cd build/
          -bash-3.00$ ls
          CVS         Makefile    readme.txt
          -bash-3.00$ gmake clean 
          -bash-3.00$ gmake

          ##增量編譯(本次改動的為apps下的文件)##
          -bash-3.00$ pwd
          /home/wasucpp/UTCO/utoc
          -bash-3.00$ ls
          CVS      ace      apps     bin      build    common   conf     include  lib      samples  src
          -bash-3.00$ cd apps
          -bash-3.00$ cvs update   //更新源代碼
          -bash-3.00$ gmake clean 
          -bash-3.00$ gmake






















          posted @ 2011-07-25 16:59 XuFeng 閱讀(405) | 評論 (0)編輯 收藏

          ==使用CVSACL進行CVS權限訪問控制(for Linux)==

              CVS是一個很成熟的版本控制系統,CVSACL就是實現訪問控制的CVS補丁。它本身也是一個開源的項目,項目主頁是http://cvsacl.sourceforge.net/index.html 。它提供了對CVS的模塊、目錄和文件以及分支和tag的高級訪問控制。CVSACL定義了8級不同的訪問權限,分別是:

          權限

          關鍵字

          說明

          沒有權限

          n

          用戶不能做任何cvs操作

          讀權限

          r

          可以執行annotate, checkout, diff, export, log, rannotate, rdiff, rlog, status命令

          寫權限

          w

          可以執行commit/checkin命令

          tag

          t

          可以執行tag/rtag命令,依賴讀權限

          創建

          c

          可以執行add import 命令

          刪除

          d

          可以執行rm命令

          全部權限

          a

          可以執行所有cvs命令處理cvsacl管理命令

          管理權限

          p

          可以執行所有命令

          1.  下載CVSACL:

          通過如下網址可以下載到CVSACL相關程序,目前最新版本是cvsacl-1.2.5

          https://sourceforge.net/project/showfiles.php?group_id=75057&package_id=77484&release_id=423655

          cvsacl-1.2.5-for-cvs-1.11.22.tar.gz

          cvs-1.11.22-cvsacl-1.2.5-patched.tar.gz

          2.  安裝CVSACL:

          安裝方法:cvs-1.11.22-cvsacl-1.2.5-patched.tar.gz

          [root@localhost setup_cvs]# tar -zxvf cvs-1.11.22-cvsacl-1.2.5-patched.tar.gz   // 解壓縮cvs-1.11.22-cvsacl-1.2.5-patched.tar.gz

          [root@localhost setup_cvs]# mv cvs-1.11.22-cvsacl-1.2.5-patched cvs-1.11.22   // 修改cvs-1.11.22-cvsacl-1.2.5-patched目錄名稱為 cvs-1.11.22

          [root@localhost setup_cvs]# cd cvs-1.11.22    // 進入cvs-1.11.22

          [root@localhost cvs-1.11.22]# ./configure    // 編譯安裝

          [root@localhost cvs-1.11.22]# make

          [root@localhost cvs-1.11.22]# make install

          [root@localhost setup_cvs]# cvs –version    // 查看cvs版本

          Concurrent Versions System (CVS) 1.11.22 (client/server)

          with CVSACL Patch 1.2.5 (cvsacl.sourceforge.net)

          注:不需要特意刪除舊版本的CVS。

          3.  修改aclconfig配置文件
          [newcvsroot@localhost CVSROOT]$ vi aclconfig  // 該配置文件在cvs根目錄的CVSROOT下,如/data/cvs/CVSROOT/
          UseCVSACL=yes    // 行首去除“#”,啟用該配置項。

          UseSystemGroups=yes   // 行首添加“#”,注釋該配置項。

          UseCVSGroup=yes    // 行首去除“#”,啟用該配置項。

          3.  創建用戶和組進行賦權
          [newcvsroot@localhost CVSROOT]$ pwd
          /datanew/cvs/CVSROOT     // 創建用戶和組要在CVSROOT下進行,并且執行用戶必須是CVSROOT對應的屬主用戶,即newcvsroot,該用戶在搭建cvs服務器時配置。
          [newcvsroot@localhost CVSROOT]$ htpasswd -b passwd username passwd   // 新增用戶并設定密碼,已有用戶的密碼更新也可用該命令。
          [newcvsroot@localhost CVSROOT]$ vi passwd

          kevins:*******:newcvsroot     // 將passwd文件中的所有cvs用戶映射到同一個系統用戶newcvsroot上。

          [newcvsroot@localhost CVSROOT]$ vi group

          文件格式:

          group1:x:10:ii,kevins,ava   // 用戶之間用 “,”分隔,“ii”為無效的首個用戶。

          注:cvsacl有個bug,必須在組用戶最前邊添加一個不存在的cvs用戶,group文件才會生效,原因不明,但此方法確實管用。

          4.  使用cvsacl細化權限:

          [cvsroot@localhost CVSROOT]$ cvs -d /data/cvs racl ccp:wtcd -R CODE/03.PRODUCT/12.CCP
          說明:
                /data/cvs:cvs服務器的根目錄
                ccp:用戶或用戶組
                wtcd:一般賦“讀寫”權限時用這個組合,詳細說明見本文“CVSACL定義了8級不同的訪問權限”表格
                CODE/03.PRODUCT/12.CCP:配置庫中的Module(模塊)路徑


          格式:cvs –d 配置庫位置 racl [用戶||組:權限] [-Rl] [-r tag] [模塊…] [文件…]

          - R 進行目錄遞歸

          - r rev 設定版本/標簽

          - l 列出已定義的ACLs權限

          備注:該賦權命令要在CVSROOT目錄中執行,執行完后vi access進行查看是否已寫入權限文件中。



           









           

          posted @ 2011-07-25 15:12 XuFeng 閱讀(613) | 評論 (0)編輯 收藏

          <2011年7月>
          262728293012
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          導航

          統計

          常用鏈接

          留言簿

          隨筆分類

          隨筆檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 孝义市| 平果县| 新乡县| 柘荣县| 墨竹工卡县| 五莲县| 孟津县| 道孚县| 丹凤县| 开封县| 明溪县| 富蕴县| 万州区| 徐汇区| 格尔木市| 丹棱县| 枣庄市| 婺源县| 施甸县| 固镇县| 德江县| 五原县| 东源县| 剑河县| 治多县| 松桃| 辽阳县| 平阳县| 岑溪市| 西华县| 申扎县| 宁远县| 吉水县| 辉南县| 吉木乃县| 雅安市| 铁力市| 华阴市| 亳州市| 木兰县| 乃东县|