Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
»ùÓÚ Docker¡¢Kubernetes ʵÏÖ¸ßЧ¿É¿¿µÄ¹æÄ£»¯ CI/CD Á÷Ë®ÏߵĴ
 
  3104  次浏览      33
2018-5-9  
 
±à¼­ÍƼö:
±¾ÎÄÀ´×ÔÓÚÍøÂç,½éÉÜÁ˳ÖÐø½»¸¶Á÷Ë®Ïߣ¬Êµ¼ùÓëÍ´µã£¬ÈçºÎ½â¾ö£¬¼òµ¥ÊµÏֵȹý³Ì¡£

¸ßЧ¿É¿¿µÄ CI/CD Á÷Ë®ÏßÊÇÒ»¸öIT×é֯ʵÏÖÈí¼þ·þÎñ¿ìËÙ½»¸¶µÄ»ù´¡£¬ÏÖÈç½ñ´óÁ¿ÆóÒµ²ÉÓà jenkins ¼¯ÈºÀ´´î½¨Æä½»¸¶Á÷Ë®Ïß¡£È»¶ø£¬ÈçºÎ¹ÜÀí´óÁ¿ Jenkins Slave µÄ²îÒ컯£¿

ÈçºÎ¼òµ¥¿ìËÙʵÏÖ Jenkins ÄÜÁ¦µÄºáÏòÀ©Õ¹£¿ÈçºÎʵÏÖÁ÷Ë®Ïߵĸ߿ÉÓã¿ÈçºÎÓÐЧÀûÓÃÏÐÖÃµÄ Jenkins Slave ×ÊÔ´£¿

ÉÏÊöÕâЩÎÊÌâÒ»Ö±À§Â£×ż¯Èº¹ÜÀíÔ±£¬½üÁ½ÄêËæ×ÅÐéÄ⻯¼¼ÊõÍ»·ÉÃͽøµÄ·¢Õ¹£¬Docker, Kubernetes µÈÏÖ´ú»¯¹¤¾ß³¹µ×µß¸²Á˽»¸¶ÍŶӵĽ»¸¶Á÷³Ì£¬Í¬Ê±Ò²Îª CI/CD Á÷³ÌË®ÏߵĴÓë¹ÜÀíÌṩÁËÈ«ÐÂ˼·¡£

Setup

ĿǰÁ÷ÐеÄCI¹¤¾ßºÜ¶à£¬¼øÓÚ±¾ÎÄÌÖÂÛCI/CDÁ÷Ë®ÏßÔÚÆóÒµÖеÄÓ¦Ó㬿¼Âǵ½ÆóÒµ²»»áÓÐÒâÔ¸½«Ô´´úÂëµÄ·ÃÎÊȨ¿ª·Å¸øµÚÈý·½£¬Ïñ Travis CI µÈÕâЩ»ùÓÚ SaaS µÄ CI ¹¤¾ß×ÔÈ»±» pass£¬ÓÉÓÚ Jenkins ÔÚCI ÁìÓòµÄÖ÷µ¼ÐÔµØÎ»£¬ËùÒÔ±¾ÎĵÄCI¹¤¾ßֻɿ¼° Jenkins¡£

ÁíÍ⣬±¾ÎÄĬÈÏÄú¶ÔJenkins, Docker, Kubernetes µÈ¹¤¾ßÓÐһЩ»ù´¡µÄÁ˽⡣

³ÖÐø½»¸¶Á÷Ë®Ïß¼ò½é

¼òµ¥½éÉÜһϳÖÐø½»¸¶Á÷Ë®Ïߣ¬ÈçÏÂͼËùʾ£¬¼òµ¥À´ËµÁ÷Ë®Ïß¹¤×÷Á÷³ÌÊÇÕâÑùµÄ£¬µ±´úÂë¿âÓдúÂë±ä¸üµÄʱºò³ÖÐø¼¯³É·þÎñÆ÷£¨Jenkins£©»á¼àÌýµ½´úÂë±ä¸ü²¢×Ô¶¯´¥·¢µÚÒ»¸ö½×¶Î ¡ª ³ÖÐø¼¯³É½×¶Î£¬Õâ¸ö½×¶Î×öµÄÊÂÇéÊÇ×Ô¶¯¹¹½¨£¬µ¥Ôª²âÊÔ£¬¾²Ì¬´úÂë·ÖÎöÒÔ¼°Éú³É±¨¸æ¡£

Èç¹ûËùÓв½Öè¶¼ÈçÔ¤ÆÚ³É¹¦Í¨¹ýµÄ»°»á×Ô¶¯½øÈëÏÂÒ»¸ö½×¶Î ¡ª ×Ô¶¯»¯²âÊԽ׶Σ¬ÔÚÅÜ×Ô¶¯»¯²âÊÔÌ×¼þ֮ǰ£¬Ê×ÏÈÒª°Ñ³É¹¦Í¨¹ýµÚÒ»½×¶ÎµÄ²ú³öÎartifact)¡£

Èç¹ûÑ¡Ôñ java ×öΪ¿ª·¢ÓïÑԵϰ¾ÍÊÇÉú³ÉµÄ war °ü£¬ruby µÄ»°¾ÍÊÇ gem Îļþ£¬²¿Êðµ½²âÊÔ·þÎñÆ÷ÉÏ£¬²¿ÊðÍê³ÉÖ®ºó´¥·¢×Ô¶¯»¯²âÊÔÌ×¼þ£¬°üÀ¨ÑéÊÕ²âÊÔ£¬ÈÝÁ¿²âÊÔ£¬ÐÔÄܲâÊԵȻá×Ô¶¯Ö´ÐС£

Èç¹ûËùÓвâÊÔÓÃÀý¶¼Ë³Àûͨ¹ý£¨ÓÐЩ¹«Ë¾»¹ÐèÒª×öһЩÊÖ¹¤²âÊÔÈç̽Ë÷ÐÔ²âÊԵȣ©µÄ»°£¬ÄÇôÕâ¸ö°æ±¾¾Í»á±»±ê¼Ç³ÉÒ»¸ö¿É·¢²¼µÄºîÑ¡°æ±¾¡£Ò»µ©ÒµÎñÐèÒª£¬¾Í»áͨ¹ýÒ»¼ü²¿ÊðµÄ·½Ê½½«ÏàÓ¦µÄºîÑ¡°æ±¾·¢²¼µ½Éú²ú»·¾³ÉÏÈ¥¡£

Èç¹ûÄãÏë¸ü¶àµÄÁ˽â³ÖÐø½»¸¶Ïà¹ØµÄ֪ʶÇëÔĶÁ David Farley and Jez Humble µÄÃûÖø¡¶Continues Delivery¡·¡£

ʵ¼ùÓëÍ´µã

ÉÏÊöÕâ¸ö¹ý³ÌʵÏÖÆðÀ´ÐèÒªÕâÑù×ö£¬Ê×ÏÈÐèÒª°ÑÉÏͼÖи÷¸ö½×¶ÎµÄ¹¤×÷½Å±¾»¯£¬Ëµ¾ßÌåÒ»µã¾ÍÊÇÐèҪдһ¸ö¹¹½¨½Å±¾À´Íê³É±àÒ룬µ¥Ôª²âÊÔ£¬¾²Ì¬´úÂë·ÖÎö£¬Éú³É±¨¸æµÈ²½Ö裬´Ó¶øÍê³É³ÖÐø¼¯³É½×¶ÎµÄ¹¤×÷¡£

È»ºóÊÇ×Ô¶¯»¯²âÊԽű¾£¬Õâ¸ö½Å±¾¿ÉÒÔ´¥·¢×Ô¶¯»¯²âÊÔÌ×¼þ²¢Éú³ÉÏà¹Ø±¨¸æ£¬×îºóÐèҪдһ¸ö²¿Êð½Å±¾£¬ÓÃÓÚ½«³ÖÐø¼¯³É½×¶ÎµÄ²ú³öÎﲿÊðµ½²âÊÔ»·¾³ÉÏ£¨µ±È»×îºóµÄ·¢²¼½×¶ÎÒ²»áÖØÓÃÕâ¸ö½Å±¾£©¡£

ÕâÀïÐèҪעÒâµÄÊÇҪȷ±£²¿Êð¶¼ÊÇ¿ÉÖØ¸´µÄ£¬Öظ´²¿Êðͬһ¸ö²ú³öÎïN´ÎµÄЧ¹ûÓëÖ»²¿ÊðÒ»´ÎµÄЧ¹ûÏàͬ£¬Ò²¾ÍÊÇ´ó¼Ò³£ËµµÄÃݵȡ£

½ÓÏÂÀ´¾ÍÂÖµ½ Jenkins ³ö³¡ÁË£¬Ê×ÏÈÎÒÃÇÐèÒªÅäÖÃһϠJenkins À´¼àÌý´úÂë¿âµÄ±ä¸ü£¬Õâ¾ÍÒâζ×ÅÖ»ÒªÓдúÂëǨÈë¾Í»á´¥·¢Ïà¶ÔÓ¦µÄÁ÷Ë®Ïß¡£

È»ºóÎÒÃÇÓà Jenkins job »ò pipeline ½«Õ⼸¸ö½×¶ÎµÄ½Å±¾´®ÁªÆðÀ´£¨ÏÂͼÊÇÒÔjobΪÀý£©£¬ÕâÑùÒ»¸ö¼òµ¥µÄ CI/CD Á÷Ë®Ï߾ʹÍê³ÉÁË¡£

ÈçÉÏͼËùʾ£¬Ã¿Ò»¸ö Job ¸ºÔðÔËÐÐijһ½×¶ÎµÄ½Å±¾£¬¿ÉÒÔ¼òµ¥Àà±ÈΪ Job1 ÔËÐгÖÐø¼¯³É½×¶ÎµÄ½Å±¾½«Ô´´úÂë´Ó´úÂë¿âÖÐǨ³ö£¬±àÒ룬µ¥Ôª²âÊÔ£¬¾²Ì¬´úÂë·ÖÎöÒÔ¼°Éú³É±¨¸æ¡£

Job2 Ê×ÏȽ«³ÖÐø¼¯³É½×¶ÎµÄ²ú³öÎﲿÊðµ½²âÊÔ»·¾³²¢ÔËÐÐ×Ô¶¯»¯²âÊÔÌ×¼þ£¬Éú³É±¨¸æ²¢±ê¼Ç²ú³öÎJob3 ÓÃÓÚ°´Ðè·¢²¼¡£

ÿ¸ö Job ËùÔËÐеĽű¾ÒÀÀµµÄÓïÑÔ»òÔËÐл·¾³»áÓÐËù²»Í¬£¬¿ÉÒÔͨ¹ýlabel·½Ê½Ñ¡Ôñµ½ÏàÓ¦µÄSlaveÉÏÔËÐС£

µ«ÔÚÆóÒµ¼¶´ó¹æÄ£µÄÓ¦Óà CI/CD Á÷Ë®Ïßʱ£¬ÓÉÓÚÆóÒµÖжàÍŶӶà²úÆ·µÄ´æÔÚ£¬²»Í¬µÄÍŶӻá¸ù¾Ý²úÆ·×ÔÉíµÄÌØµãÀ´Ñ¡Ôñ²»Í¬µÄ¼¼ÊõʵÏÖ·½Ê½£¬Õâ¾ÍÒâζ×ŲúƷʵÏÖÓïÑÔ»áÓкܶàÖÖ¡£

±ÈÈç java, C#, ruby, python, nodejs ¡­ ÄÇôÏà¶ÔÓ¦µÄ CI/CD Á÷Ë®Ïß¾ÍÐèÒªÌṩËùÓÐÓïÑԵıàÒë»·¾³²¢°²×°Ïà¹ØµÄÒÀÀµ°ü£¬µ±È»ÎªÁ˼õÉÙÒÀÀµ£¬±ÜÃâ³åÍ»ÒÔ¼°¸üºÃµÄ¹ÜÀíÕâЩ±àÒë»·¾³´ÏÃ÷µÄ¹ÜÀíÔ±»áÑ¡ÔñÈÃÿһ¸öslaveÖ»ÄÜÔËÐÐÌØ¶¨±à³ÌÓïÑ﵀ Job, ÈçÏÂͼËùʾ£º

ÉÏͼÕâ¸ö Jenkins ¼¯Èº Maser Ö»ÓÃÀ´µ÷¶ÈºÍÊÕ¼¯ log£¬ËùÓÐµÄ Job ¶¼»áÓÉ Master ¸ù¾Ý²»Í¬µÄ label µ¼Á÷µ½¶ÔÓ¦µÄ Slave ÉÏÔËÐС£

ÕâÖÖ¼¯ÈºµÄʵÏÖ·½Ê½ÊÇÎÒÃÇÔÚVMʱ´ú²»µÃÒѵÄÑ¡Ôñ£¬ËäÈ»Äܽâ¾ö´ó²¿·ÖÎÊÌ⣬µ«Ò²´øÀ´Á˺ܶàÀ§ÈÅ¡£

µ¥µãÒÀÀµ

Jenkins Master ³ÉΪµ¥µã£¬Ò»µ© Jenkins Master down »ú£¬Äǽ«ÊÇÔÖÄÑÐԵģ¬Õû¸ö CI/CD Á÷Ë®Ïß¶¼½«´¦ÓÚ²»¿ÉÓõÄ״̬¡£

²»Ò×ά»¤

´óÁ¿²îÒ컯µÄJenkins Slave¹ÜÀíÆðÀ´ÄѶȺܴó£¬ÓÉÓÚ²îÒ컯µÄ´æÔÚ£¬Î¬»¤Éý¼¶¼¸ºõ¶¼ÐèÒªÊÖ¶¯Íê³É£¬ÈËÁ¦³É±¾Í¶ÈëºÜ¸ß¡£

¾Ù¸öÀý×Ó£¬ÎÒÃÇ·¢ÏÖÁ÷Ë®Ïß¶Ô Java7 Õâ¸ö Slave ·¢³öµÄÇëÇóÁ¿±È½Ï´ó£¬¾­³£³öÏÖÅŶÓÏÖÏñ¡£ÎªÁË»º½âÕâÖÖÇé¿ö£¬¹ÜÀíÔ±ÐèÒªÔö¼ÓÒ»¸ö¿ÉÒÔ±àÒëJava7Ó¦ÓõÄSlave£¬ÄÇô¹ÜÀíÔ±ÐèÒªÔõô×öÄØ£¿

Ê×ÏÈÐèҪ׼±¸Ò»Ì¨VM£¬È»ºó°²×° java7 ÒÔ¼°ËùÓÐÒÀÀµµÄÈí¼þ°ü£¬×îºóÅäÖà Slave Ïà¹ØÐÅÏ¢labelµÈ²¢½«Ð°²×°ºÃµÄ Slave ×¢²áµ½ Master£¬»ù±¾É϶¼ÐèÒªÈËΪ¸ÉÔ¤£¬À©Õ¹ÆðÀ´·Ç³£²»·½±ã¡£

×ÊÔ´ÀË·Ñ

ÿһ̨ Jenkins Slave Server ¶¼ÊÇһ̨ʵʵÔÚÔÚÔËÐÐµÄ VM£¬µ± Slave Sever ¿ÕÏÐʱҲ²»Äܽ«ËüËùÕ¼ÓõÄ×ÊÔ´ÊÍ·Å£¬ÒòÎªËæÊ±¿ÉÄÜÐèÒªÕâ¸ö SlaveÍê³ÉÏà¹ØµÄ Job¡£

½â¾öÍ´µã

ÏÂÃæÎÒÃÇÀ´¿´Ò»ÏÂÐéÄ⻯¼¼Êõ´øÀ´Á˵ĸ£Òô£¬ÏÂͼÊÇÒ»¸ö»ùÓÚ Kubernetes, Docker ´î½¨ÆðÀ´µÄ Jenkins ¼¯Èº£¬ÎªÁ˱ÜÃâ»ìÏýÎÒÂÔÈ¥ÁË Kubernetes ¼¯ÈºÖÐµÄ Master node¡£

ÎÒÃÇ¿´µ½ Jenkins Mater ÒÔ Docker container µÄÐÎʽÔËÐÐÔÚ Kubernetes Ò»¸ö Node Éϲ¢½«ËùÓÐ Jenkins Ïà¹ØÊý¾Ý´æ´¢µ½Ò»¸ö volume ÖУ¬Jenkins Slave Ò²ÒÔ Docker container µÄÐÎʽÔËÐÐÔÚ¸÷¸öNodeÖУ¬Ö®ËùÒÔÓÃÐéÏßÀ´±íÏÖ Slave ÊÇÒòΪ Slave ²»ÊÇÒ»Ö±´æÔڵģ¬Ëü»á±»¶¯Ì¬µÄ°´Ðè´´½¨²¢×Ô¶¯É¾³ý¡£

¼òµ¥½éÉÜÒ»ÏÂÕâÖÖ¶¯Ì¬´´½¨×¢²á Slave µÄ·½Ê½£¬ËüµÄ¹¤×÷Á÷³ÌÊÇ£¬µ± Jenkins Master ÊÕµ½Ò»¸ö build µÄÇëÇóʱ£¬»áÓð´ÕÕ label µÄÒªÇó¶¯Ì¬µÄ´´½¨Ò»¸öÔËÐÐÔÚ Docker container ÖÐµÄ Jenkins Slave ²¢×¢²áµ½ Master ÉÏ¡£

È»ºóÔËÐÐÏàÓ¦µÄ Job£¬µ± Job ÔËÐÐÍê³ÉºóÕâ¸ö Slave »á±»×¢Ïú£¬ËùÔÚµÄ Docker container Ò²»á±»×Ô¶¯É¾³ý¡£

ÕâÖÖ»ùÓÚ Docker£¬Kubernetes ´î½¨µÄ CI/CD Á÷Ë®Ï߸ø Jenkins ¼¯Èº´øÀ´ÁËÖî¶àÒæ´¦£º

¸ß¿ÉÓÃ

Jenkins Master ±»²¿ÊðÔÚ Kubernetes ¼¯ÈºÉÏ£¬Ò»µ© container ÔËÐÐÒì³£ÒâÍâÍ˳ö£¬ÄÇô Kubernetes »á×Ô¶¯ÓÃÏàͬµÄ Docker image °ïÎÒÃÇ´ÓÐÂÆð¶¯Ò»¸öÐ嵀 Jenkins¡£

²¢½« volume attach ¸øÐ´´½¨µÄ Docker container£¬´Ó¶ø±£Ö¤²»»á¶ªÊ§ÈκÎÊý¾Ý£¬ÊµÏÖÁË Jenkins ¼¯ÈºµÄ¸ß¿ÉÓÃÐÔ¡£

×Ô¶¯ÉìËõ

ÓÉÓÚÿһ´ÎÔËÐÐ Job ʱ£¬Jenkins Master ¶¼»á¶¯Ì¬´´½¨Ò»¸ö Jenkins slave£¬Job Íê³ÉÖ®ºó Slave »á±»×¢ÏúËùÔÚµÄ Docker container Ò²»á±»×Ô¶¯É¾³ý£¬ËùÕ¼ÓõÄ×ÊÔ´¾Í»á±»×Ô¶¯ÊÍ·Å¡£

Ò²¾ÍÊÇ˵µ±Í¬Ê±ÇëÇóµÄ Job ÊýÁ¿Ô½¶à£¬Éú³ÉµÄ Slave container ¾Í»áÔ½¶à£¬Õ¼ÓõÄ×ÊÔ´Ò²¾ÍÔ½¶à£¬·´Ö®ÒàÈ»£¬¶øÇÒÕâÖÖ¶¯Ì¬ÉìËõÊÇÍêÈ«²»ÐèÒªÈËΪ¸ÉÔ¤µÄ¡£

ÍêÈ«¸ôÀë

ÓÉÓÚÿһ´ÎÔËÐÐ Job ¶¼ÊÇÔÚÒ»¸öÈ«Ð嵀 Jenkins slave ÖÐÔËÐУ¬±ÜÃâÁËͬʱÔËÐÐµÄ Job Óë Job Ö®¼ä·¢Éú³åÍ»µÄ¿ÉÄÜÐÔ¡£

ÈÝÒ×ά»¤

¶Ô±È֮ǰÿһ¸ö Jenkins Slave ÊÇһ̨¹Ì¶¨ VM µÄ×ö·¨£¬ÒÔÕâÖÖ·½Ê½´î½¨µÄ¼¯ÈºÎ¬»¤µÄ²»ÔÙÊǹ̶¨µÄ VM ¶øÊÇ´´½¨¶¯Ì¬ Slave ËùÐèÒªµÄ Docker image¡£

ÎÒÃÇ¿ÉÒÔºÜÈÝÒ×ͨ¹ý Docker File À´ build ÊÊÓÃÓÚÎÒÃÇ×ÔÒÑµÄ Docker image ²¢½«ËüÃÇ´æ´¢ÔÚ˽ÓÐµÄ Docker registry ÖУ¬·Ç³£Ò×ÓÚά»¤¡£

ÈÝÒ×À©Õ¹

µ±ÎÒÃÇ·¢ÏÖ Jenkins µÄ Queue ÖдæÔÚ´óÁ¿µÈ´ýÖ´ÐÐµÄ Job ÊÇÒòΪ kubernetes ¼¯ÈºµÄ×ÊÔ´²»×ãʱ£¬Äܹ»ºÜÈÝÒ׵ijõʼ»¯Ò»¸ö kubernetes node ²¢½«ËüÌí¼Óµ½¼¯ÈºÖÐÀ´£¬ÊµÏÖºáÏòÀ©Õ¹·Ç³£µÄ·½±ã¡£

¼òµ¥ÊµÏÖ

ÏÂÃæÎÒÃÇÀ´Íê³ÉÒ»¸ö¼òµ¥µÄʵÏÖ£º

1.Ê×ÏÈÄãÐèÒª°²×°Ò»¸ö Kubernetes cluster£¬Çë²Î¿¼https://kubernetes.io/docs/setup/

Kubernetes °²×°Íê³ÉÖ®ºó£¬Ê×ÏÈÐèÒªÓÃÏÂÃæÁ½ÌõÃüÁîºÍÎļþ²¿ÊðÒ»¸ö Jenkins µ½ Kubernetes ¼¯Èº£º

tip: ±êºìµÄ²¿·ÖºÜÖØÒª£¬¿ª·Å 8080 ¶Ë¿ÚÊÇÓÃÀ´·ÃÎÊ Jenkins web portal Óõģ»¶ø¶¯Ì¬´´½¨µÄ Jenkins slave »áĬÈÏͨ¹ý 50000(¿ÉÐ޸ģ©¶Ë¿ÚÓë master ½¨Á¢Á¬½Ó¡£

¼ì²é jenkins °²×°ÔËÐÐÇé¿ö£º

2.²é¿´ Jenkins log£¬ÓùÜÀíÔ±ÃÜÂëµÇ¼ Jenkins ²¢°²×° Kubernetes plugin¡£

3.ÅäÖÃ Kubernetes cloud

Manage Jenkins£¯Configure System/ Add a new cloud/ Kubernetes£º

Add pod template/Kubernetes Pod Template£º

µã»÷ Save Ö®ºó´ó¹¦¸æ³É¡£

Å£µ¶Ð¡ÊÔ

ÏÂÃæÎÒÃÇÀ´²âÊÔÒ»ÏÂÕâ¸ö¶¯Ì¬×¢²á SlaveµÄJenkins ¼¯ÈºÊÇ·ñ¹¤×÷Õý³££¬Ê×ÏȵǼ Jenkins ´´½¨Ò»¸ö¼òµ¥µÄ free style job£¬Ö¸¶¨Õâ¸öJobÖ»ÄÜÔÚLabelΪ¡°jnlp¡±µÄ agent ÉÏÔËÐС£

µã»÷ build now£¬Äã»á·¢ÏÖÆæ¼£·¢ÉúÁË£¬Ô­À´Ã»ÓÐ×¢²áÈκΠSlave µÄ Jenkins ¶¯Ì¬µÄ´´½¨Ò»¸ö Slave ²¢×¢²áµ½ Master ÉÏ£¬È»ºóÔËÐÐÏàÓ¦µÄ Job£¬µ± Job ÔËÐнáÊøºóÕâ¸ö Slave ±»×Ô¶¯Çå³ýÁË¡£

PS£ºÕâÖ»ÊÇÒ»¸ö¼òµ¥µÄʵÏÖ£¬ÔÚÆóÒµµÄʵ¼ùÖУ¬ÎÒÃÇÐèÒª²»Í¬µÄbuild»·¾³£¬ÐèÒªÎÒÃÇ»ùÓÚ jenkinsci/jnlp-slave Õâ¸ö Image ¹¹½¨ÎÒÃÇ×Ô¼ºµÄ Jenkins slave Image ²¢±£´æµ½Ë½ÓÐµÄ Registry ÖУ¬Ïà¶ÔÓ¦µÄ Kubernetes ÐèÒª´Ó˽ÓÐ Registry À­È¡ Image¡£

   
3104 ´Îä¯ÀÀ       33
Ïà¹ØÎÄÕÂ

ΪʲôҪ×ö³ÖÐø²¿Êð£¿
ÆÊÎö¡°³ÖÐø½»¸¶¡±£ºÎå¸öºËÐÄʵ¼ù
¼¯³ÉÓë¹¹½¨Ö¸ÄÏ
³ÖÐø¼¯³É¹¤¾ßµÄÑ¡Ôñ-×°ÔØ
Ïà¹ØÎĵµ

³ÖÐø¼¯³É½éÉÜ
ʹÓÃHudson³ÖÐø¼¯³É
³ÖÐø¼¯³ÉÖ®-ÒÀÀµ¹ÜÀí
IPD¼¯³É²úÆ·¿ª·¢¹ÜÀí
Ïà¹Ø¿Î³Ì

ÅäÖùÜÀí¡¢ÈÕ¹¹½¨Óë³ÖÐø¼¯³É
Èí¼þ¼Ü¹¹Éè¼Æ·½·¨¡¢°¸ÀýÓëʵ¼ù
µ¥Ôª²âÊÔ¡¢Öع¹¼°³ÖÐø¼¯³É
»ùÓÚAndroidµÄµ¥Ôª¡¢ÐÔÄܲâÊÔ