¡¡¡¡Ì¸µ½³ÖÐø¼¯³É£¬²»ÈçÏÈ̸̸¼¯³É¡£Èí¼þ¿ª·¢Öеļ¯³É£¬Í¨Ë׵ؽ²¾ÍÊǰѸ÷¸öÏà¹Ø²¿·ÖµÄ¶«Î÷×éºÏÆðÀ´£¬ÐγÉÒ»¸ö¿ÉÓõÄÈí¼þ¡£±ÈÈçÒ»¸öÈí¼þÏîÄ¿Óɼ¸¸öС×éÀ´¸ºÔðÍê³É£¬Ã¿¸öС×鸺ÔðÆäÖÐÒ»²¿·Ö¹¦ÄܵÄʵÏÖ£¬±È½ÏµäÐ͵ÄÊÇÔÚÏÖÔÚµÄÍøÂçÓÎÏ·¿ª·¢ÖУ¬Í¨³£ÓиºÔðÒýÇæµÄС×飬¸ºÔðÓÎÏ·Âß¼µÄС×飬¸ºÔðÃÀ¹¤µÄС×飬ÕâЩС×鿪·¢³öµÄ¶«Î÷±ØÐë½áºÏÔÚÒ»Æð²ÅÄÜÐγÉÒ»¸ö¿ÉÓõÄÓÎÏ·£»¶øÿ¸öС×éÄÚ²¿µÄÿ¸ö³ÉÔ±£¬ËûÃÇÿÌìÔÚд×Ų»Í¬²¿·ÖµÄ´úÂ룬ÕâЩ¿ª·¢ÈËÔ±±ØÐ뽫¸÷×Եijɹû×éºÏÆðÀ´£¬²ÅÄÜÍê³ÉËûÃǹ²Í¬µÄÄ¿±ê¡£´ÓÕâ¸öÒâÒåÉϽ²£¬´ÓÿÌìÿ¸ö¿ª·¢ÕßµÄÈÕ³£¿ª·¢£¬µ½¸÷¸öÈí¼þÄ£¿éµÄ×éºÏÆ´½Ó£¬Èí¼þ¼¯³ÉÎÞËù²»ÔÚ£¬Ò»¸öÍêÕû¿ÉÓõÄÈí¼þ£¬¾ÍÊÇͨ¹ý²»¶ÏµØ¼¯³Éÿ¸ö¿ª·¢ÈËÔ±µÄ´úÂë¶øÐγɵġ£
¡¡¡¡Ã¿¸ö¿ª·¢¹ýÈí¼þµÄÈ˶¼ÄÜÌå»áµ½£¬Èí¼þ¿ª·¢¾ø·ÇÒ»·«·ç˳£¬Ã¿¸öÈË¿ª·¢³öÀ´µÄ´úÂë¾ø¶Ô²»»áħÊõ°ãµÄ×Ô¼º×éºÏÔÚÒ»Æ𣬵±ÐµĹ¦ÄܼÓÈëµ½ÔÓÐÈí¼þÖеÄʱºò£¬ÍùÍù²»Ð¡ÐÄÆÆ»µÁËÔÓеŦÄÜ£¬ÒýÈëÁËһЩbug£¬µ±ÀϵÄbug±»ÐÞ¸´µÄʱºò£¬ÓÖÍùÍù»áµ¼ÖÂÆäËûbugµÄ²úÉú£¬¸üÔã¸âµÄÊÇ£¬ÕâЩbugÍùÍùÔÚµ±Ê±²¢²»Äܼ°Ê±±»·¢ÏÖ¡£µ±Ð¡×é³ÉÔ±ÃÇÍê³ÉÁË×Ô¼ºËù¸ºÔðµÄÄ£¿é£¬µÈµ½×îºóÀ´Ò»Æ𼯳ɵÄʱºò£¬ËûÃÇ¿ÉÄÜÒѾ×öºÃÁËÐÞ¸´¼¯³ÉÎÊÌâµÄÐÄÀí×¼±¸¡£ËùÓеÄÕâÒ»ÇУ¬¶¼ÊÇÿ¸ö¿ª·¢ÈËÔ±µÄÇзô֮ʹ¡£ÄÇô£¬ÎÊÌâµ½µ×³öÔÚÄÄÁË£¿
¡¡¡¡ÈÃÎÒÃDz»·Á»»Ò»ÖÖ˼ά£¬ÈÃÎÒÃDz»ÒªÍ£ÁôÔÚÈçºÎµØÈ¥ÐÞ¸´bugºÍ¼¯³É¹ý³ÌÖвúÉúµÄÎÊÌ⣬ÎÒÃÇ¿ÊÍûµÄÀíÏë×´¿öÊÇ£¬Ã¿µ±ÎÒÃÇ¿ª·¢³öеĴúÂë²¢½«ËûÃǼÓÈëÔϵͳÖеÄʱºò£¬Èç¹ûÎÒÃÇÄܹ»±»¼°Ê±¸æÖªÎÒÃÇÊÇ·ñÆÆ»µÁËÔÓÐϵͳµÄ¹¦ÄÜ£¬ÄÇôÎÒ¾ÍÄܹ»¼°Ê±µÄ×÷³ö·´Ó¦£¬ÐÞ¸´ÕâЩ²¿·Ö¡£Èç¹ûÕâ¸ö¹ý³ÌµÄÁ£¶È×ã¹»µÄϸ¡¢×ã¹»µØƵ·±£¬ÎÒÃǾÍÄÜÆÚÍûÿ´Îй¦ÄÜÒýÈëµÄʱºòËùÒýÆðµÄÆÆ»µ×㹻С£¬²¢ÇÒÐÞ¸´ÆðÀ´×ã¹»¼òµ¥£¬Èç¹ûÿ¸ö¿ª·¢ÈËÔ±¶¼Äܹ»ÏíÊܵ½Èç´ËµÄ·½±ã²¢ÇÒ±£Ö¤Ð¼ÓÈëµÄ¹¦Äܲ»»áÓ°ÏìÔÓеŦÄÜ£¬ÎÒÃǵÄÕû¸öÈí¼þ¹ý³Ì¾ÍÄܹ»ÒÔÒ»¸öÎȲ½¿É¿¿µÄ²½·¥£¬³ÖÐøÔöÁ¿µÄÏòÇ°Ðнø£¬¶ø²»ÊDz»¶ÏµØ¼ÓÈëеĴúÂ룬ȻºóµÈµ½ºóÀ´bug±»ÈË·¢ÏÖµÄʱºò±»¶¯µØÈ¥ÐÞ¸´Ëü¡£ÎÒÏëÎȲ½¿É¿¿¡¢³ÖÐøÔöÁ¿µÄÈí¼þ¹ý³Ì£¬ÊÇÎÒÃÇÿ¸ö¿ª·¢ÕßÐÄÄ¿ÖеÄÀíÏë¹ý³Ì¡£´Ó¿ª·¢ÕߵĽǶÈÀ´¿´£¬±Ï¾¹ËÒ²²»Ïë¾ÀúÄÇÖÖµ±·¢ÏÖ×Ô¼ºµÄÐÞ¸ÄÆÆ»µµÄÔÓеŦÄܵÄʱºòµÄÄÕ»ðµÄ¸ÐÊÜ¡£
¡¡¡¡Ì¸µ½ÕâÀÎÒÏë´ÏÃ÷µÄ¶ÁÕßÓ¦¸ÃÄܹ»Ïëµ½£¬¸Õ²ÅÎÒÃÇËù˵µÄ¾ÍÊÇÇ°Ãæ×ʼÌáµ½µÄ³ÖÐø¼¯³É¡£³ÖÐø¼¯³ÉͨË×µØ˵¾ÍÊdzÖÐøµØ¡¢Æµ·±µØ½øÐм¯³É£¬Ã¿µ±ÓÐеÄÐ޸ļÓÈëµÄʱºò£¬Ð޸ĵÄ×÷ÕßÄܹ»±»¼°Ê±µØ¸æÖªËûµÄÐÞ¸ÄÊÇ·ñÔÚÒýÈëÐµĹ¦ÄܵÄͬʱ±£Ö¤ÔÓй¦ÄܵÄÍêÕû¡£Èç¹ûÕû¸öÈí¼þ¿ª·¢ÍŶÓÔÚÒ»¿ªÊ¼¾Í²ÉÓÃÕâÖÖ·½Ê½£¬ÎÒÃǵÄÈí¼þ¾ÍÄܱ»ÎȲ½¿É¿¿µÄ¹¹½¨ÆðÀ´¡£
¡¡¡¡½²µ½ÕâÀ¶ÁÕßÃÇÂíÉϾͻáÓÐÒÉÎÊ£º¡°Äã˵µÄÖ»ÊÇÒ»ÖÖÀíÏë×´¿ö°ÕÁË£¬Ë¶¼Ï£Íû×Ô¼ºÔÚ¼ÓÈëеĴúÂëµÄʱºòµÃÖª×Ô¼ºµÄ´úÂëÊÇ·ñÆÆ»µÁËÔÓеŦÄÜ£¬µ«ÊÇÔõôÄܹ»×öµ½ÕâÒ»µã£¬ËÓÐÄÜÁ¦À´¼°Ê±µØ¸æËßÎÒÃÇÄÄÀïÓÐÎÊÌ⣿³ÖÐø¼¯³ÉÕâ¸öÏë·¨²»´í£¬µ«ÔõôÑùÄܹ»×öµ½³ÖÐø¼¯³É£¿¡±ÎÒÏëÕâЩÎÊÌâÊǷdz£ºÃÒ²ÊǹؼüµÄÎÊÌ⣬³ÖÐø¼¯³É¾¿¾¹ÊÇ·ñ¿ÉÐУ¬Èç¹û¿ÉÐУ¬ÓÖ¸ÃÈçºÎÖ´ÐУ¿ÎÒÃÇÕâÀï²»·ÁÀ´ÕûÀíһϣ¬¿´¿´¾¿¾¹Ê²Ã´ÊdzÖÐø¼¯³ÉµÄÄѵ㡣³ÖÐø¼¯³ÉµÄÄѵãÖ÷ÒªÔÚÓÚ£¬ÔÚÐµĹ¦ÄܼÓÈëµÄʱºò£¬ÈçºÎÀ´ÅжÏÕû¸öϵͳ¹¦ÄÜÈÔÈ»ÍêÕû£»³ö´í»òÕ߳ɹ¦£¬ËÀ´¸æËßÎÒ£¬ÈçºÎ¸æËßÎÒ£»µ±´ó¼ÒÒ»ÆðÐ×÷µÄʱºò£¬ÈçºÎ±£Ö¤Ã¿¸öÈ˶¼Äܹ»×¼È·µØ±»¸æÖª¶ø²»»á·¢Éú»ìÂÒ¡£ÈÃÎÒÃÇÀ´Ò»¸ö¸öµØ·ÖÎöÕâЩÎÊÌâ¡£
¡¡¡¡Ê×ÏÈ£¬È·±£Õæ¸öϵͳ¹¦ÄÜÍêÕûÐÔµÄÊֶξÍÊDzâÊÔ£¬Èç¹ûÎÒÃǶÔËùÓеŦÄܶ¼ÓÐÍêÕûµÄ²âÊÔ£¬ÄÇôµ±ÐµĹ¦ÄÜÒýÈëµÄʱºò£¬Èç¹ûijЩÔÓеIJâÊÔʧ°Ü£¬¾Í˵Ã÷еÄÐÞ¸ÄÆÆ»µÁËÔÓеŦÄÜ£¬¶øʧ°ÜµÄ²âÊÔ¾ÍÄÜ׼ȷµØ¸æËßÎÒÃÇеÄÐÞ¸ÄÆÆ»µÁËÄÄЩÔÓеŦÄÜ¡£Æä´Î£¬³ÖÐø¼¯³É¹¤¾ß½«¸æËßÎÒÃǼ¯³ÉÊÇ·ñ³É¹¦£¬³ÖÐø¼¯³É¹¤¾ßͨ¹ýÔËÐÐÕû¸öϵͳÖеIJâÊÔ£¬¸ù¾Ý²âÊԵĽá¹ûÀ´Í¨Öª¿ª·¢Õߣ¬ÄÄЩ²âÊÔʧ°Üµ¼Öµļ¯³Éʧ°Ü¡£Ã¿¸öÈí¼þÏîĿͨ³£»áʹÓð汾¿ØÖƹ¤¾ßÀýÈçSVN¡¢CVS£¬Ã¿µ±Óпª·¢Õß½«ÐµÄÐ޸ļÓÈ뵽ϵͳµÄ´úÂë¿âÖÐʱ£¬³ÖÐø¼¯³É¹¤¾ß»ácheck out³ö´úÂë¿âÖеÄ×îа汾£¬Ê¹ÓÃ×Ô¶¯»¯µÄ¹¹½¨¹¤¾ßÀýÈçAnt¡¢RakeµÈ£¬×Ô¶¯µØ±àÒëÏîÄ¿ÖеĴúÂë¡¢²¿ÊðÕû¸öÓ¦Óá¢×¼±¸²âÊÔËùÐèµÄ»·¾³ºÍÊý¾Ý¡¢ÔËÐÐËùÓеIJâÊÔ°üÀ¨µ¥Ôª²âÊÔ¡¢¹¦ÄܲâÊÔ¡¢¼¯³É²âÊԵȣ¬ÔÚÕû¸ö¹ý³Ì½áÊøºó½«½á¹û±¨¸æ³öÀ´£¬³ÖÐø¼¯³É¹¤¾ß»áÖ¸³öÈκÎÒ»¸ö¹ý³ÌÖгöÏֵĴíÎ󣬲¢ÇÒ׼ȷµØ±¨¸æ¸ø¿ª·¢Õß¡£ÔÚ¶àÈËÐ×÷µÄÇé¿öÏ£¬°æ±¾¿ØÖƹ¤¾ßÈ·±£ÁËÿ¸ö¿ª·¢ÕßµÄÐ޸ı»ÕýÈ·ÓÐÐòµØ±£´æ£¬µ±Ã¿¸ö¿ª·¢ÕßÏëÒªÌá½»×Ô¼ºµÄÐ޸ĵÄ֮ǰ£¬±ØÐëÊ×ÏÈÈ·±£ÉÏÒ»¸öÈËËùÌá½»µÄÐ޸ı»³É¹¦¼¯³É£¬²ÅÄÜÌá½»×Ô¼ºµÄ´úÂ룬µ±È·±£×Ô¼ºµÄ´úÂë±»ÕýÈ·¼¯³ÉÖ®ºó£¬×Ô¼ºµÄ¹¤×÷²ÅËãÍê³É£¬·ñÔò£¬¾Í±ØÐëÐÞ¸´´íÎó£¬ÔÙ´ÎÌá½»£¬Èç´Ë·´¸´£¬Ö±µ½±»³É¹¦¼¯³É¡£
syncode ÓÚ 2006-11-06 10:33:04·¢±í:
¡¡¡¡Ant & NAnt
¡¡¡¡Ant¿ÉÒÔ˵ÊǷdz£ÓÐÃûµÄÒ»¸ö×Ô¶¯»¯¹¹½¨¹¤¾ßÁË£¬ÆäÔÚ.NetÊÀ½çÖеÄÐÖµÜNAntÒ²ÒÑ»ñµÃÁ˹㷺ӦÓá£Antƾ½èÆäʹÓüòµ¥ºÍÁ¼ºÃµÄ¿çƽ̨ÌØÐÔÒѾ²©µÃÁËÖî¶à³ÌÐòÔ±µÄÇàíù¡£Ëü²»½öÊÇjavaÓ¦Óÿª·¢ÖеÄÊ×Ñ¡¹¤¾ß£¬Óû§Ò²¿ÉÒÔÓÃËüÀ´ÊÇ×Ô¼ºµÄ¹¤×÷×Ô¶¯»¯£¬ÀýÈçת»»DocBookÎĵµ¡¢±àÒëTexÎĵµµÈ¡£ÓйØAntµÄ½éÉÜÒѾÊÇÊý²»Ê¤Êý£¬ÎÒÔÚÕâÀïÒ²²»Ïë×ö¹ý¶àÖظ´¡£Ö»ÊǾÍÏîÄ¿ÖпÉÄÜÓõ½µÄAntµÄһЩÌØÐÔ×öһЩ½éÉÜ¡£
¡¡¡¡ÔÚ³ÖÐø¼¯³É¹ý³ÌÖУ¬ÎÒÃÇÍùÍùÐèÒª×öÒÔÏÂһЩ¹¤×÷£º±àÒë´úÂë¡¢´úÂë·ç¸ñ¼ì²é¡¢ÔËÐвâÊÔ¡¢´ò°üÓ¦Óᢲ¿ÊðÓ¦Óá¢ÔËÐй¦Äܺͼ¯³É²âÊԵȡ£ËùÓеÄÕâЩ¹¤×÷¶¼¿ÉÒÔʹÓÃAntÀ´Íê³É¡£¿ªÔ´ÉçÇøÒѾΪAnt¹±Ï×ÁËÊý²»ÇåµÄTaskÀ´À©³äAntµÄ¹¦ÄÜ¡£ÎÒÃÇ¿ÉÒÔʹÓÃjunitºÍtestngÈÎÎñÀ´ÔËÐвâÊÔ£¬Í¨¹ýcheckstyleÌṩµÄÈÎÎñÀ´½øÐÐjava´úÂë·ç¸ñ¼ì²é£¬Ê¹ÓÃtomcatµÈÌṩµÄÈÎÎñÀ´×Ô¶¯»¯µØÆô¶¯ºÍÍ£Ö¹·þÎñÆ÷²¢²¿ÊðÓ¦ÓóÌÐò£¬»òÕßÓÃÄã×Ô¼ºÊµÏֵŦÄÜÀ´½øÐÐÊý¾Ý¿âschemaµÄ×Ô¶¯¹¹½¨ºÍ²âÊÔÊý¾ÝµÄˢУ¬½øÐÐÊý¾Ý¿âschemaµÄµü´ú»¯Éý¼¶£¬Ê¹ÓÃAnt£¬Ä㻹¿ÉÒÔ×Ô¶¯Æô¶¯ÄãµÄä¯ÀÀÆ÷£¬²¢ÔÚÉÏÃæÔËÐÐÓÃselenium»òwatirµÈ¹¤¾ßд³ÉµÄ¹¦Äܺͼ¯³É²âÊÔ¡£Ant¶ÔÕâЩÈÎÎñµÄ×Ô¶¯»¯ÔËÐеÄÖ§³Ö£¬Ê¹µÃÎÒÃǵÄ×Ô¶¯»¯µÄ³ÖÐø¼¯³É³ÉΪ¿ÉÄÜ¡£ÒªÖªµÀ£¬×Ô¶¯»¯ÊdzÖÐø¼¯³ÉµÄÒ»¸ö·Ç³£ÖØÒªµÄÌØÐÔ£¬ÏîÄ¿¹¹½¨µÄ×Ô¶¯»¯Ò²ÊÇʵÏÖ³ÖÐø¼¯³ÉµÄÒ»¸öÖØҪǰÌᣬ±Ï¾¹£¬ÎÒÃDz»¿ÉÄÜÆÚÍûÿ´Î¶¼ÊÖ¶¯µØÔÚ¼¯³É¹ý³ÌÖÐÖ´ÐÐijЩ¹¤×÷£¬Èç´ËÊDz»Äܱ£Ö¤ÎÒÃÇÄܹ»·´¸´¿ìËÙ²¢ÇÒ³ÖÐøµØ½øÐм¯³ÉµÄ¡£
¡¡¡¡Ä¿Ç°µÄAntÒѾºÜ³ÉÊ죬ËüÔÚ1.6°æ±¾ÖÐÒýÈëµÄmacro¡¢import¡¢subantµÈÌØÐÔ½øÒ»²½·½±ãÁËÎÒÃÇ×éÖ¯×Ô¶¯»¯¹¹½¨½Å±¾£¬Ê¹ÎÒÃǵĽű¾¸ü¼òµ¥¡¢ÇåÎúºÍÓÐ×éÖ¯¡£NAnt×÷Ϊ.Netƽ̨ϵÄרÓй¤¾ß£¬¶Ô.Netƽ̨ϵĿª·¢ÌṩÁËÐí¶àÖ§³Ö£¬ÓÐÐËȤµÄÅóÓÑ¿ÉÒÔµ½ËüÃǸ÷×ÔµÄÍøÕ¾ÉÏÃæ»ñµÃ¸üÏêϸµÄÐÅÏ¢¡£
¡¡¡¡Rake
¡¡¡¡RakeÊÇÒ»¸öÓÃrubyд¾ÍµÄ×Ô¶¯»¯¹¹½¨¹¤¾ß£¬Ä¿Ç°ÒѾÖð½¥±»¸ü¶àµÄÈËËùÁ˽⣬ËüÆäʵÊÇÒ»¸öÓÃrubyÓïÑÔд³ÉµÄDSL£¨ÁìÓòרÓÐÓïÑÔ£©¡£RakeµÄ¹¹½¨½Å±¾±¾Éí¾ÍÊÇruby³ÌÐò£¬Òò´ËËüÄܹ»³ä·ÖÀûÓÃrubyÓïÑÔµÄÇ¿´ó¹¦ÄÜ£¬ÔÚRake½Å±¾ÖУ¬Äã¿ÉÒÔʹÓÃrubyÓïÑÔµÄÈ«²¿¹¦ÄܺͳÌÐò¿â£¬À´Íê³ÉÄãµÄÈÎÎñ¡£
¡¡¡¡RubyÊÇÒ»¸ö·Ç³£Ç¿´ó¶øÇÒÒ×ÓÚʹÓõĶ¯Ì¬ÓïÑÔ£¬²¢ÇÒÓµÓзdz£·á¸»µÄ³ÌÐò¿â¡£ËùÒÔÀûÓÃRake£¬Ä㼸ºõ¿ÉÓúܷ½±ãµÄÍê³ÉËùÓÐÄãÅöµ½µÄÈÎÎñ£¬ÉõÖÁ°üÀ¨Ê¹ÓüÆËã»úµÄ´®¿Ú½øÐÐͨÐÅ£¬ÕâÑùÄã¾Í¿ÉÒÔʹÓÃÍⲿӲ¼þÀ´ÏÔʾÄãµÄ³ÖÐø¼¯³É½á¹û¡£RubyÄÚÖõÄÕýÔò±í´ïʽ֧³ÖºÍÇ¿´óµÄÎı¾´¦ÀíÄÜÁ¦Ê¹µÃijЩ¹¤×÷¿ÉÒÔ±äµÃ·Ç³£¼òµ¥£¬±ÈÈçÅäÖÃÎļþµÄ¹ÜÀíµÈ¡£
¡¡¡¡Rake²»½öÖ§³ÖrubyÏîÄ¿µÄ¹¹½¨£¬Ò²Í¬Ê±Ö§³ÖÆäËûÓïÑÔд³ÉµÄÏîÄ¿µÄ¹¹½¨¡£Martin FowlerµÄ¸öÈËÍøÕ¾ÉÏÓÐһƪ·Ç³£²»´íµÄÎÄÕ½éÉÜRake: http://martinfowler.com/articles/rake.html¡£ ½èÖúÓÚRubyµÄ³ÌÐò¿â¼¯ÖйÜÀí»úÖÆ£¬RakeµÄ°²×°Ò²·Ç³£µÄ¼òµ¥£¬Í¨¹ýrubyµÄ³ÌÐò°ü¹ÜÀíÈí¼þgem£¬Ö»ÒªÒ»ÐÐÃüÁî¾ÍÄÜ×Ô¶¯µØ´ÓÔ¶³Ì·þÎñÆ÷ÉÏÏÂÔز¢°²×°×îеÄRake¡£
¡¡¡¡³ýÁ˳ÖÐø¼¯³É¹¤¾ßºÍ×Ô¶¯»¯¹¹½¨¹¤¾ßÒÔÍ⣬°æ±¾¹ÜÀí¹¤¾ßÒ²ÊdzÖÐø¼¯³É¹ý³ÌÖеÄÒ»¸öÖØÒª¹¤¾ß¡£±È½ÏÁ÷Ðеİ汾¹ÜÀí¹¤¾ßÀýÈçSVNºÍCVSÎÒÏë´ó¼Ò¶¼ÒѾ·Ç³£ÊìϤÁË£¬°æ±¾¹ÜÀí¹¤¾ß×÷ΪÏîÄ¿¹ÜÀíÖеÄÒ»¸ö»ù´¡¹¤¾ß£¬ËüµÄÖØÒªÐÔÎÒÏëÓ¦¸ÃÊDz»ÑÔ¶øÓ÷µÄ¡£³ÖÐø¼¯³É¹¤¾ßÍùÍù¼¯³ÉÁ˶Ը÷ÖÖ°æ±¾¹ÜÀí¹¤¾ßµÄÖ§³Ö£¬Äܹ»×Ô¶¯µØ¼àÊÓ´úÂë¿â£¬Ò»µ©·¢ÏÖÓÐеÄÐ޸ļÓÈ룬¾Í»á֪ͨÆäËûÄ£¿é£¬¾ö¶¨ÊÇ·ñÐèÒª¿ªÊ¼ÐµÄÒ»ÂÖ¼¯³ÉµÄÔËÐС£
¡¡¡¡Ð¡½á
¡¡¡¡³ÖÐø¼¯³ÉÊÇÏÖ´úÈí¼þ¹¤³ÌÖеÄÒ»¼þÀûÆ÷£¬ÈκÎÒ»¸öÈí¼þÏîÄ¿£¬²»ÂÛÊÇÉÏ°ÙÈ˵ĴóÏîÄ¿»¹ÊǸöÈËÏîÄ¿£¬³ÖÐø¼¯³É¶¼ÄÜÈÃÄãµÄÈí¼þ¿ª·¢¹ý³Ì¸ü¼ÓÎȶ¨¸ßЧ£¬ÌáÉýÈí¼þµÄÖÊÁ¿£¬¼õÉÙ²»±ØÒªµÄÈ˹¤²Ù×÷¡£ËüÒ²ÊÇÃô½Ý¿ª·¢·½·¨ÖеÄÒ»¸ö·Ç³£ÖØÒªµÄ¹æÔò¡£ÎÒÃÇÔÚÇ°ÃæËùÌÖÂÛµÄÕâЩ¿ªÔ´Èí¼þ£¬ÒѾΪÎÒÃÇʵÏÖ³ÖÐø¼¯³ÉÌṩÁ˷dz£³ÉÊìµÄ¼¼ÊõÖ§³Ö£¬Ïà·´£¬ÉÌÒµÈí¼þÔÚÕâЩÁìÓòÖÐÈ·¼«ÉÙÓÐËù½¨Ê÷¡£ÎÒÏëÕýÊÇÓÉÓÚÕâЩ¹¤¾ßµÄÖî¶à×÷Õ߶ԳÌÐò¿ª·¢¹ý³ÌÐèÇóµÄÃôÈñϸÖµİÑÎÕ£¬²Åµ¼ÖÂÁËÕâЩÓÅÐãµÄ¿ªÔ´¹¤¾ßµÄµ®Éú£¬¶ø¿ªÔ´Èí¼þµÄÃâ·Ñ¡¢¿ª·¢Ô´´úÂë±¾Öʸü¼Ó͹ÏÖÁËÕâЩ¹¤¾ßµÄ¼ÛÖµ¡£ÎÒÏàÐÅ£¬Ëæ×ÅÈí¼þ¿ª·¢¹ý³ÌµÄ²»¶Ï½ø²½£¬»á²»¶ÏÓиü¶à¸üºÃµÄ¿ªÔ´¹¤¾ß³öÏÖ£¬Ê¹µÃÎÒÃÇ¿ÉÒÔ¸üÎȶ¨¡¢¸ü¿ìËٵؿª·¢³ö¸ßÖÊÁ¿µÄÂú×ãÈËÃÇÐèÇóµÄÈí¼þ£¬ÈÃÎÒÃǵÄÉú»î±äµÃ¸ü¼ÓÃÀºÃ¡£
syncode ÓÚ 2006-11-06 10:31:15·¢±í:
¡¡¡¡DamageControl
¡¡¡¡ÔÚRuby³ÉΪһÖÖеÄÁ÷ÐÐʱÉеĽñÌ죬 DamageControl£¨http://dev.buildpatterns.com/trac/wiki/DamageControl£©µÄ³öÏÖ´ó¸Å²»»áÈôó¼Ò¸Ðµ½Ææ¹Ö£¬ËüÊÇÒ»¸öÓÃrubyд³ÉµÄ³ÖÐø¼¯³É¹¤¾ß£¬Ò²ÊÇÓÉThoughtWorks¹«Ë¾¿ª·¢µÄÒ»¸ö¿ªÔ´²úÆ·¡£DamageControlÄ¿Ç°»¹´¦ÓÚ¿ª·¢½×¶Î£¬µ«ÊÇÒѾʵÏÖÁËCruiseControlµÄ¾ø´ó²¿·Ö¹¦ÄÜ£¬°üÀ¨¶ÔCVSºÍSVNµÄÄÚ½¨Ö§³Ö£¬Í¬Ê±Ö§³Ö¶àÖÖ×Ô¶¯»¯¹¹½¨¹¤¾ßµÈ¡£
¡¡¡¡DamageControlÇø±ðÓÚCruiseControlµÄÒ»¸öÏÔÖøÌØÐÔÊÇËüÌṩÁËÒ»¸öÓÃRuby on Rails¿ò¼Üд³ÉµÄweb¹ÜÀíÓ¦ÓóÌÐò£¬Óû§¿ÉÒԺܼòµ¥µÄʹÓÃÕâ¸öweb³ÌÐòÀ´ÅäÖóÖÐø¼¯³ÉÏîÄ¿¡£Æ¾½è×ÅÕâ¸ö¼òµ¥µÄweb¹ÜÀí³ÌÐò£¬Óû§¿ÉÓ÷½±ãµÄ½¨Á¢Ò»¸ö³ÖÐø¼¯³ÉÏîÄ¿£¬²¢¿ÉÒÔÅäÖÃÔËÐвßÂÔ¡¢°æ±¾¹ÜÀí¡¢ÔËÐнá¹ûµÄ²é¿´·½Ê½µÈ£¬¶ø²»ÓÃÏñÔÚCruiseControl»òCruiseControl.NetÀïÃæÒ»Ñù£¬ÐèÒªÊÖ¶¯ÐÞ¸ÄÒ»¸öxmlÅäÖÃÎļþÀ´Íê³É¼¯³ÉÏîÄ¿µÄÅäÖá£
¡¡¡¡¾¡¹ÜDamageControlÄ¿Ç°»¹´¦ÓÚ¿ª·¢×´Ì¬£¬ËüÒѾÖð½¥±»¹ã·ºÓ¦ÓÃÆðÀ´£¬ÓÉÓÚËüʹÓÃrubyд³ÉµÄ£¬ËùÒÔ×ÔÈ»»á³ÉΪrubyÏîÄ¿µÄÊ×Ñ¡¹¤¾ß¡£ËüµÄ°²×°Ò²±È½Ï¼òµ¥£¬Óû§¿ÉÒÔÖ±½Ó´ÓDamageControlÏîÄ¿µÄSVN´úÂë¿âÖÐcheck out³öÔ´´úÂ룬ÉÔ¼ÓÅäÖþͿÉÒÔÔËÐÐÁË¡£
¡¡¡¡DamageControl»¹ÊµÏÖÁËÒ»¸ö·Ç³£¿áµÄ¹¦ÄÜ: AppCasting¡£¸Ã¹¦ÄÜÄܹ»ÈÃÄ㽫ÄãÔËÐÐÍê³ÖÐø¼¯³ÉºóµÃµ½µÄϵͳ½»¸¶¸ø¶ÔÄãµÄϵͳ¸ÐÐËȤµÄÈË¡£µ±Ä³Ò»´Î¼¯³ÉÔËÐÐÍê±Ïºó£¬DamageControl»áʹÓÃһЩ¹¤¾ßÈçRuby Gems, Apt, Maven repositoryµÈ½«ÄãµÄϵͳ´ò°ü£¬È»ºóÔÚËü×Ô¼ºµÄRSSÀïÃæ¼ÓÉÏÒ»ÌõÏûÏ¢±íÃ÷еÄϵͳÒѾ±»³É¹¦¹¹½¨ÁË¡£ÕâÑù£¬Èκζ©ÔÄÁ˸ÃRSSµÄÈ˾ͿÉÒÔ¼°Ê±µÄÖªµÀijһ¸öÏîÄ¿µÄ½øÕ¹Çé¿ö£¬²¢ÇÒÔÚÓÐеļ¯³É³É¹¦ÔËÐÐÍê³ÉºóµÃµ½×îб»¹¹½¨µÄϵͳÒÔ¼°Ïà¹ØµÄ·¢²¼ÐÅÏ¢¡£
¡¡¡¡Ì¸ÍêÁËÕâЩ³ÖÐø¼¯³É¹¤¾ß£¬ÎÒÃÇÓбØÒªÀ´¿´¿´×Ô¶¯»¯¹¹½¨¹¤¾ß£¬ÕâЩ¹¤¾ßÔÚ³ÖÐø¼¯³ÉÖÐͬÑù°çÑÝ×ŷdz£ÖØÒªµÄ½ÇÉ«£¬¿ÉÒÔÕâô˵£¬³ÖÐø¼¯³É¹¤¾ß¾ÍÏñÒ»¸öÖ¸»Ó£¬¶øÕæÕýÍê³É¹¤×÷ÐèÒªÒÀ¿¿ÕâЩ×Ô¶¯»¯µÄ¹¹½¨¹¤¾ß¡£ÕýÊÇÕâЩ¹¤¾ßµÄ´æÔÚ£¬ÊÇÎÒÃÇ¿ÉÒÔ×Ô¶¯»¯µÄÍê³É±àÒëÔ´Âë¡¢ÔËÐвâÊÔ¡¢´ò°üϵͳ¡¢²¿ÊðÓ¦ÓõÈËùÓÐÕâЩÎÒÃÇÔÚ¼¯³ÉÖÐÐèÒªÍê³ÉµÄ¹¤×÷¡£Ä¿Ç°ÔÚÕâ·½ÃæÒѾÓкܶà·Ç³£³ÉÊìµÄ¿ªÔ´¹¤¾ß£¬±ÈÈç¹ÅÀϵÄMake£¬¶¦¶¦ÓÐÃûµÄAntºÍËüÔÚ.NetÊÀ½çÖеÄÐÖµÜNAnt£¬ÓÃrubyд¾ÍµÄRakeµÈµÈ¡£ÔÚÏÂÃæµÄÄÚÈÝÖУ¬ÎÒ½«ÌôÑ¡ÆäÖеļ¸¸ö¹¤¾ß½øÐÐһЩ½éÉÜ¡£
syncode ÓÚ 2006-11-06 10:29:59·¢±í:
¡¡¡¡ºìÂ̵ÆͼƬ
¡¡¡¡ÁíÒ»¸ötrac²å¼þ£¨https://oss.werkbold.de/trac-cc/£©¿ÉÒÔÈÃCruiseControl½«ÔËÐнá¹û×Ô¶¯µØ·Åµ½tracÉÏÈ¥£¬Ê¹CruiseControlºÍtracºÜºÃµØ½áºÏÁËÆðÀ´¡£CruiseControlͬʱ»¹ÓµÓÐFirefoxºÍThunderbird£¨http://www.md.pp.ru/mozilla/cc/£©¡¢EclipseµÈµÄ²å¼þ£¬Ê¹Äã¿ÉÒÔÔÚä¯ÀÀÆ÷µÄ״̬À¸Éϼ°Ê±µÄ¿´µ½¼¯³ÉµÄ×îнá¹û¡£
¡¡¡¡CruiseControlÊÇÓÃjavaÓïÑÔ±àдµÄ£¬²¢ÇÒ¿ÉÒÔÔËÐÐÔÚ¸÷ÖÖƽ̨ÉÏ£¬È»¶ø£¬²¢²»ÊÇÖ»ÓÐjava³ÌÐò²ÅÄÜÓÃËüÀ´½øÐгÖÐø¼¯³É£¬CruiseControl¿ÉÒÔÓÃÀ´×öÈκÎÓïÑÔ±àдµÄϵͳµÄ³ÖÐø¼¯³É£¬ÀýÈçC++³ÌÐòÔ±¾Í¿ÉÒÔʹÓÃmake»òjam£¬ÅäºÏsvn»ð³µcvsÀ´½øÐгÖÐø¼¯³É£¬Ê¹ÓÃCppUnit¡¢mockppµÈ¹¤¾ß±àд²âÊÔ¡£¾¡¹ÜÈç´Ë£¬»¹Êǵ®ÉúÁËһЩÔÚÌض¨Æ½Ì¨ÉÏÔËÐеijÖÐø¼¯³É¹¤¾ß£¬CruiseControl.Net¾ÍÊÇÆäÖÐÒ»¸öÀý×Ó¡£
¡¡¡¡CruiseControl.Net£¨http://ccnet.thoughtworks.com£©ÔËÐÐÔÚ.Netƽ̨ÉÏ£¬²ÉÓÃ.Net¿ò¼ÜʵÏÖ£¬ÔÚʵÏÖÁ˼¸ºõËùÓеÄCruiseControlµÄ¹¦ÄܵĻù´¡ÉÏ£¬ÌṩÁ˶ÔÓÚWindowsƽ̨ºÍ.Net±à³Ì¸ü¶à¸üÓѺõÄÖ§³Ö¡£
¡¡¡¡CruiseControl.NetµÄÒ»¸öÌصãÊÇËü¼¯³ÉÁ˶ÔVisual Studio .NETºÍMSBuildµÄÖ§³Ö¡£Óû§¿ÉÒÔ½«Visual Studio .NET¹¤³ÌµÄslnÎļþÖ¸¶¨¸øËü£¬ÈÃËüÔËÐÐÆäÖеÄbuild¡¢rebuildºÍcleanµÈ¹¦ÄÜ¡£ÔÚNAnt³öÏÖ֮ǰ£¬¼¸ºõËùÓпª·¢ÈËÔ±ÔÚ¶¼ÊÇʹÓÃVisual Studio .NETÀ´¹ÜÀíËûÃǵÄ.NetÏîÄ¿µÄ¡£ÕâÑù£¬CruiseControl.Net¿ÉÒÔÖ§³Ö¶ÔÔÓÐVisual Studio .NET¹¤³ÌµÄ³ÖÐø¼¯³É£¬¶øÓû§Ò²¼È¿ÉÒÔʹÓÃNAnt»òÕßVisual Studio .NETÀ´¹ÜÀíÕû¸öÏîÄ¿µÄ¹¹½¨¡£MSBuildÊÇVisual Studio 2005ÏîÄ¿µÄ±ê×¼¸ñʽ£¬CruiseControl.Net¶ÔÆäµÄÄÚ½¨Ö§³Ö¿ÉÒÔʹ´ó¼ÒºÜÈÝÒ׵ؽ«Visual Studio 2005µÄÏîÄ¿·Åµ½CruiseControl.NetÖÐÈ¥¡£
¡¡¡¡CruiseControl.NetʹÓÃWeb DashboardÀ´·¢²¼ÔËÐнá¹û£¬ËüÓеãÀàËÆÓÚCruiseControlÖÐÓÃÀ´·¢²¼½á¹ûµÄwebÓ¦Ó㬲»¹ýÊÇÓÃ.Netд³ÉµÄ¡£ÁíÍâËü»¹°üº¬Ò»¸öWindowsÍÐÅ̳ÌÐòCCTrayÀ´·½±ãÓû§Ëæʱ²é¿´build½á¹û¡£
syncode ÓÚ 2006-11-06 10:29:26·¢±í:
¡¡¡¡¿ªÔ´ÉçÇøÒѾΪÎÒÃÇÌṩÁ˷dz£ÓÅÐãµÄ³ÖÐø¼¯³É¹¤¾ß£¬CruiseControl¡¢CruiseControl .NetÒѳÉΪ¹ã·ºÊ¹ÓöøÇҷdz£³ÉÊìµÄ³ÖÐø¼¯³É¹¤¾ß£¬¶ø³ÖÐø¼¯³ÉËùÐèÒªµÄ×Ô¶¯»¯¹¹½¨¹¤¾ßºÍ°æ±¾¹ÜÀí¹¤¾ßÈçAnt¡¢NAnt¡¢SVNÒ²ÒѾÊǷdz£³ÉÊì¡£ÔÚÏÂÃ棬ÎÒ³¢ÊÔÔÚÎÒµÄʹÓþÑéµÄ¸ÐÊܵĻù´¡ÉÏ£¬ÌôѡһЩ±È½Ï³ÉÊì»òÕߺÜÓÐDZÁ¦µÄ¹¤¾ß£¬½áºÏ×Ô¼ºµÄʹÓþÑ飬¸ø´ó¼Ò×öһЩ½éÉÜ¡£
¡¡¡¡ÎÒÃÇÏÈ´Ó³ÖÐø¼¯³ÉµÄºËÐŤ¾ßÈëÊÖ£¬ÕâЩ¹¤¾ßÔÚ³ÖÐø¼¯³ÉµÄÕû¸ö¹ý³Ì°çÑÝÁËÀàËÆÓÚÖÐÑë´¦ÀíÆ÷µÄ½ÇÉ«£¬ËüÃǸºÔð¸üÐÂÿ¸ö¿ª·¢ÈËÔ±Ìá½»µÄ´úÂ룬ʹÓù¹½¨¹¤¾ß×Ô¶¯ÔËÐÐËùÓеIJâÊÔ£¬È»ºóµ÷ÓÃÆäËû¹¤¾ß½«½á¹û±¨¸æ¸ø¿ª·¢ÈËÔ±¡£ÕâÒ»ÀàµÄ¹¤¾ß°üÀ¨CruiseControl¡¢CruiseControl .NetÒÔ¼°ÐÂÐ˵ÄDamageControlµÈ¡£
¡¡¡¡CruiseControl & CruiseControl .Net̸µ½³ÖÐø¼¯³É¹¤¾ß¾Í²»Äܲ»Ì¸Ì¸CruiseControl£¨cruisecontrol.sourceforge.net£©£¬CruiseControl¿Éν³ÖÐø¼¯³É¹¤¾ßÖеÄÁúÍ·ÀÏ´ó£¬Ò²¿ÉÒÔ˵ÊǵÚÒ»¸ö³ÉÊìµÄ¿ªÔ´³ÖÐø¼¯³É¹¤¾ß¡£¸Ã¹¤¾ßÓÉThoughtWorks¹«Ë¾¿ª·¢£¬²¢½«Æ俪Դ£¬Í¬Ê±ÌṩÁ˷ḻµÄÎĵµÖ§³Ö£¨http://confluence.public.thoughtworks.org/display/CC/Home£©¡£
¡¡¡¡CruiseControl·Ç³£ÍêÃÀµÄʵÏÖÁËÒ»¸ö³ÖÐø¼¯³É¹¤¾ßËùÐèÒª¾ß±¸µÄËùÓй¦ÄÜ£¬Ëü¼¯³ÉÁË°üÀ¨SVN£¬CVS£¬VSS£¬StarTeam£¬ClearCaseµÈÔÚÄÚµÄÊ®¼¸ÖÖ°æ±¾¹ÜÀí¹¤¾ß£¬ÄÚ½¨µØÖ§³ÖÁËAnt£¬NAnt£¬Maven£¬Maven2µÈ×Ô¶¯»¯¹¹½¨¹¤¾ß£¬²¢ÇÒͨ¹ýÖ´ÐÐshellÃüÁîµÄ·½Ê½¼ä½ÓÖ§³Ö¼¸ºõËùÓÐÆäËû¹¹½¨¹¤¾ßÈçmake£¬jamµÈ¡£Äã¿ÉÒÔÉèÖÃCruiseControlÒÔ¶àÖÖ·½Ê½ÔËÐÐϵͳµÄ¼¯³É£¬¼È¿ÉÒÔÔÚÿ´ÎÓÐеĴúÂëÐÞ¸ÄÌύʱ×Ô¶¯ÔËÐУ¬Ò²¿ÉÒÔÈÃËü¶¨Ê±ÔËÐС£ÔÚÔËÐÐÍêºó£¬CruiseControl¿ÉÓÃÔÊÐíÄãʹÓø÷ÖÖ·½Ê½±¨¸æÔËÐеĽá¹û£¬°üÀ¨·¢Ë͵ç×ÓÓʼþ¡¢Ê¹ÓÃftp¡¢rss¡¢jabber¡¢scpµÈ¹¤¾ß±¨¸æ½á¹û£¬Ò²¿ÉÒÔÈÃÄã×Ô¶¯»¯µØÔÚÔËÐÐÍêºó½«Õû¸öϵͳ´ò°ü¡¢²¿Êð¡£ËüÉõÖÁÔÊÐíÄãÔÚÔËÐÐÍê³Éºó¸ù¾Ý½á¹û³É¹¦Óë·ñ²¥·Å²»Í¬µÄÒôÀÖ»òµçÓ°£¬¼°Ê±µØ¸æËß´ó¼Ò¡£
¡¡¡¡ÔÚʵ¼Ê¿ª·¢¹ý³ÌÖУ¬¿ª·¢ÈËÔ±¿ÉÒÔ½«CruiseControlÅäÖÃΪÿ´ÎÓÐеÄÐÞ¸ÄʱÔËÐÐËùÓм¯³É¹¤×÷£¬ÕâÑùµ±ÄãÌá½»ÄãµÄÐÞ¸ÄÒÔºó£¬CruiseControl»á×Ô¶¯µØ½«´úÂë¿âÖеÄеÄÐ޸ĸüе½Ò»¸öÊÂÏÈÖ¸¶¨µÄµØ·½£¬È»ºó°´ÕÕÄãµÄÅäÖÃ×¼±¸²âÊÔÊý¾Ý¡¢±àÒë¡¢ÔËÐÐϵͳÖеÄËùÓвâÊÔ¡£¿ª·¢ÈËÔ±¿ÉÒÔͨ¹ýweb·½Ê½Í¨¹ýCruiseControl¸½´øµÄÒ»¸öweb³ÌÐò²é¿´ÔËÐеĽá¹û£¬Õâ¸ö½á¹ûÒ³Ãæ»á¸æËß´ó¼Ò¸Ã´ÎbuildÊÇ·ñ³É¹¦»òʧ°Ü£¬Èç¹ûʧ°Ü£¬´ó¼ÒÒ²¿ÉÒÔ¿´µ½Ê§°ÜµÄ´íÎóÐÅÏ¢£¬Ò²¿ÉÒÔ¸æËßÄãÔÚijһ¶Îʱ¼äÖ®ÄÚËùÔËÐеļ¯³ÉµÄͳ¼ÆÐÅÏ¢¡£¸ù¾ÝÅäÖã¬CruiseControl¿ÉÒÔÏÔʾ¼¸ºõ¼¯³É¹ý³ÌÖÐÿ¸ö»·½Ú³öÏֵĴíÎó£¬ÀýÈç±àÒë´íÎó¡¢junit²âÊÔÔËÐдíÎó¡¢checkstyle´úÂë·ç¸ñ¼ì²é´íÎó£¬ÒÔ¼°¹¦ÄܲâÊÔ¡¢¼¯³É²âÊÔ´íÎóµÈ¡£µ±ÆäËûÈËÏëÒªÌá½»ËûÃǵÄÐÞ¸Ä֮ǰ£¬¶¼Ó¦¸ÄÊÂÏȲ鿴CruiseControlµÄ½á¹ûÒ³Ã棬Èç¹ûµ±Ç°CruiseControlûÓÐÔÚÔËÐУ¬²¢ÇÒÉÏÒ»´ÎÔËÐнá¹ûΪ³É¹¦£¬²ÅÄÜÌá½»×Ô¼ºµÄÐ޸ģ¬ÔÚÌá½»ºó£¬»¹Òª±£Ö¤ÐµÄÒ»ÂÖ¼¯³É³É¹¦Íê³É£¬²ÅËãÍê³ÉÁË×Ô¼ºµÄ¹¤×÷¡£
¡¡¡¡CruiseControl¾ß±¸ºÜºÃµÄÀ©Õ¹ÄÜÁ¦£¬Ä¿Ç°ÒѾÓкܶàΪCruiseControl±àдµÄ²å¼þ¡£eXtreme Feedback Devices (XFDs)£¨http://www.artima.com/weblogs/viewpost.jsp?thread=67492£©¾ÍÊÇÒ»¸öºÜÓÐÒâ˼µÄ²å¼þ£¬¸Ã²å¼þµÄÒ»¸ö¹¦ÄܾͿÉÒÔ½«CruiseControlµÄÔËÐнá¹ûÓÃÒ»¸öÍâ½ÓµÄºìÂ̵ÆÏÔʾ³öÀ´£¬Èç¹ûbuild³É¹¦¾ÍÁÁÂ̵ƣ¬Èç¹ûʧ°Ü¾ÍÁÁºìµÆ£¬ÒÔ´ÎÀ´Èÿª·¢ÈËÔ±ÃǶÔCruiseControlµÄbuild½á¹û¡£