1¡¢´«Í³ÎÒÃǵÄÏîÄ¿¿ª·¢Ä£Ê½ÊDzúÆ·µ÷ÑÐÌá³öÐèÇ󣬿ª·¢ÍŶÓÑо¿¾ö¶¨¿ª·¢·½°¸Ñ¡ÐÍ¡£È»ºó¿ªÊ¼Ò»¸öÖÜÆÚµÄ¿ª·¢£¬Ä£¿é¿ª·¢Íê³ÉÖ®ºó¿ªÊ¼Ä£¿é¼äµÄÁªµ÷¡£Áªµ÷½áÊøÖ®ºó´ò°ü½»¸¶¸ø²âÊÔÍŶӡ£²âÊÔÍŶӣ¬ÏµÍ³²âÊÔ»ò×Ô¶¯»¯²âÊÔ£¬È»ºóÌá½»bug£¬¿ª·¢ÍŶÓÐÞ¸´bug£¬Öܶø¸´Ê¼¡£
2¡¢´«Í³µÄģʽÖУ¬´æÔÚ׎϶àµÄ²»È·¶¨ÒòËØ¡£ÀýÈ磬¿ª·¢»·¾³¡¢±àÒë»·¾³¡¢²âÊÔ»·¾³¡¢Éú²ú»·¾³£¬µÈ²»È·¶¨ÒòËØ¡£ÈËΪ½éÈë´ò°üÖеIJ»È·¶¨ÒòËØ£¬È±·¦µ¥Ôª²âÊÔºÍ×Ô¶¯»¯²âÊÔµÄÕûºÏ¡£´Ó¶øµ¼ÖµĽá¹ûÊÇ£¬¿ª·¢-²âÊÔ-ÐÞ¸´µÄÖÜÆÚ½Ï³¤£¬¶øÇҺܶàСµÄÎÊÌâÍêÈ«¿ÉÒÔÓɵ¥Ôª²âÊÔ½øÐи²¸Ç¡£
³ÖÐø½»¸¶²¢²»ÊÇij¸öÌØ¶¨µÄÈí¼þ£¬¶øÊÇÒ»¸ö½á¹û¡£Õâ¸ö½á¹ûÒªÇóÍŶӿÉÒÔËæÊ±µÄ·¢²¼Ò»¸öеÄ׼ȷ°æ±¾£¬¶øÇÒÒªÇóÔÚ±àÒë·¢²¼µÄ¹ý³ÌÖнøÐÐ×Ô¶¯»¯²âÊÔ£¬Í¨¹ý×Ô¶¯»¯²âÊÔ¿ÉÒÔ¼°Ê±µÄ·¢ÏÖ²¢¶¨Î»´æÔÚµÄbug£¬ÐÞ¸´bugÖ®ºóÔÙ½øÐпìËٵķ¢²¼µ½²âÊÔ»·¾³£¬²âÊÔÍŶÓÖ±½Ó½øÐвâÊÔ¡£Ó봫ͳģʽµÄÇø±ðÔÚÓÚ³ÖÐø½»¸¶¿ÉÒÔÌáǰ·¢ÏÖbugµÄ´æÔںͿìËÙÐÞ¸´¶ø²»±ØµÈµ½²âÊÔÈËÔ±µÄ½éÈëÖ®ºó²Å·¢ÏÖ¡£³ÖÐø½»¸¶·Ö½â³öÀ´¾ÍÊÇ¡°³ÖÐø¡±ºÍ¡°½»¸¶¡±¡£ ³ÖÐø :³ÖÐøÒªÇóÈκÎʱ£¬ºòÈκÎÇé¿ö¶¼ÄܽøÐÐ׼ȷµÄ·¢²¼£¬×öµ½×¼È·µÄ·¢²¼ÐèҪעÒâÒÔϼ¸¸ö¹Ø¼üµã¡£
³ÖÐøÓ¦¸ÃÊÇÒ»¸öÖÜÆÚÐԵģ¬¿ÉÒÔÊÇÿÌìµÄij¸öʱ¼äµã£¬Ò²¿ÉÒÔÊÇij´Î´úÂëµÄÌá½»£¬»òÕßij´ÎÈËΪ´¥·¢¡£ËùÒÔÈ˹¤½øÐй¹½¨ÊDz»¿ÉÄܵģ¬ÐèÒª×Ô¶¯»¯µÄ¹¹½¨£¬×Ô¶¯»¯ÒªÇó¹¹½¨µÄÈκÎÒ»¸öÁ÷³Ì¶¼±ØÐëÒԽű¾µÄÐÎʽÔËÐУ¬´úÂë¼ì³ö¡¢´úÂë¹¹½¨¡¢¸÷Ä£¿é´úÂëµ¥Ôª²âÊÔ¡¢¼¯³É²âÊÔ¡¢UI×Ô¶¯»¯²âÊԵȡ£
·¢²¼µÄ³ÌÐò°æ±¾²»ÔÊÐíÊǸ÷¸öÄ£¿éÔÚ¿ª·¢»·¾³±àÒë³öÒ»¸ö°æ±¾×÷Ϊ½»¸¶£¬¶øÒªÇóÔÚÒ»¸ö´¿¾»µÄ±àÒë»·¾³ÖнøÐй¹½¨¡£
¹¹½¨µÄ¹ý³ÌÓ¦¸ÃÒªÇó×î´ó¿ÉÄܵĹ̻¯£¬ÀýÈç²Ù×÷ϵͳµÄ°æ±¾£¬¹¹½¨»·¾³µÄ°æ±¾£¬Ïà¹ØµÄÒÀÀµµÈ¡£
±ÜÃâ´ÓÍøÂç»ñÈ¡Ïà¹ØµÄÎļþ£¬ÕâµãÒÔnodejsΪ¿ª·¢»ò±àÒëµÄÏîÄ¿ÓÈÆäÖØÒª£¬°²×°nodeµÄÒÀÀµ°ü×ÜÊÇÒ»¸öÂþ³¤µÄ¹ý³Ì£¬¾ÍËãÓйúÄÚµÄÔ´£¬Ò»°ãµÄÏîĿҲÐèÒªÒ»Á½·ÖÖÓµÄnodeÒÀÀµ°ü£¬Õâ²»·ûºÏ¿ìËÙ¹¹½¨¡£
½»¸¶ : ÔÚ³ÖÐø±àÒëµÄ¹ý³Ì£¬Ê¹ÓÃ×Ô¶¯»¯ÒѾ¿ÉÒÔ±ÜÃâ´ó¶àÊýµÄ´íÎóÁË¡£µ«ÊÇ»¹ÊÇÐèÒªÈËΪ½éÈëµÄϵͳ²âÊÔ£¬±Ï¾¹×Ô¶¯»¯µÄ²âÊÔÒ»°ãÖ»Äܸ²¸Çµ½70%×óÓÒ¡£
¸ù¾ÝÎÒÃÇÍŶÓÄÚ²¿ÍƹãÕâÖÖ¹¤×÷·½Ê½µÄЧ¹ûÀ´¿´£¬³ÖÐø¼¯³ÉȷʵÈÃÎÒÃǹ¤×÷±ãÀûÁËÐí¶à£¬ ÿ´Î´úÂëµÄ¹¹½¨ºÍ×Ô¶¯»¯²âÊÔÈÃÎÒÃǼ°Ê±·¢ÏÖ´æÔÚµÄbug¡£ºÃµÄ¹¤×÷ģʽҲÐèÒªÍŶӳÉÔ±µÄ×ñÊØ£¬ÍŶӳÉÔ±Ó¦¸Ã»ý¼«µÄÓµ±§ÕâÖÖ¹¤×÷·½Ê½£¬ÍŶӳÉÔ±ÐèÒª×öºÃÒÔϼ¸µã¡£
ʹÓð汾¹¤¾ßÀýÈçgit¡£gitÓÐÇ¿´óµÄ°æ±¾»ØËÝ£¬³ÉԱÿ´ÎÍê³ÉÒ»¸öСµÄ¹¦ÄÜµã½øÐдúÂëÌá½»¡£ºÏ²¢µ½master·ÖÖ§£¬³ÖÐø½»¸¶¹¤¾ßÓ¦¸ÃÅäÖÃΪ´úÂë¸üд¥·¢¡£ÍŶÓÄÚ²¿Ó¦¸ÃµÈµ½³ÖÐø½»¸¶Á÷³Ì½áÊøÖ®ºó£¬È·ÈϱàÒë¡¢×Ô¶¯»¯²âÊÔͨ¹ýÖ®ºó·½¿É½øÐÐÏÂÒ»¸ö°æ±¾µÄÌá½»£¬ÕâÑùÈÝÒ×¶¨Î»bug¡£¶ø²»»áµ¼ÖÂÕâ´ÎbugÓ°ÏìÍŶÓÄÚÆäËû³ÉÔ±µÄ¹¤×÷¡£
Ö÷·ÖÖ§µÄ´úÂëbug²»Ó¦¸Ã´æÁôʱ¼ä¹ý³¤£¬±ÜÃâÍŶÓÄÚÆäËû³ÉÔ±ºÏ²¢´úÂëµÄʱºòÒýÈëÆäËûÎÊÌâ¡£
²âÊÔÇý¶¯¿ª·¢£¬ÈκÎÒ»¸öÐµĹ¦ÄÜ¿ª·¢¶¼Ó¦¸ÃÏÈдºÃµ¥Ôª²âÊԽű¾£¬²¢»ý¼«¸üÐÂ×Ô¶¯»¯²âÊԽű¾¡£²¢ÇÒ»ý¼«µØÓµ±§²âÊÔ£¬ËäÈ»ÄãÃ÷°×Õâ¸ö²âÊÔ²»Í¨¹ýµÄÎÊÌâ²¢²»»áÒýÆðºÜ´óµÄϵͳÐÔÎÊÌâ £¬µ«ÊÇ»¹ÊÇÓ¦¸Ã½øÐÐÐÞ¸´¶ø²»ÊÇÏë·½Éè·¨µÄÌø¹ýÕâ¸ö×Ô¶¯»¯²âÊÔ¡£
ÁÙ½üϰàµÄʱºò²»ÒªÌá½»´úÂ룬ÕâÖ÷ÒªÊÇÒòΪ×ñÊØµÚ2µã¡£
DockerÒѾԽÀ´Ô½»ð£¬CICDºÍDevopsÒ²ÊÇDockerÒ»¸öÖØÒªµÄ³¡¾°¡£ÔÚ³ÖÐø½»¸¶ÖÐʹÓÃDockerÓÐÒ»ÏÂÓŵ㡣
DockerÇ¿´óµÄ»·¾³¸ôÀëÐÔ¿ÉÒÔ½«»·¾³ºÍ³ÌÐò´ò°üÔÚÒ»Æð£¬²âÊÔ¡¢ÔËά£¬ÈËÔ±ÎÞÐèÖªµÀÎÒÃǵijÌÐòÊÇÈçºÎÅäÖõģ¬Ö»ÐèÒªÒ»Ìõdocker µÄÃüÁî¾Í¿ÉÒÔ½«ÎÒÃǵijÌÐòÔËÐÐÆðÀ´£¬ÕâÒ²¸ü¼ÓÈÝÒ×ʵÏÖ³ÖÐø²¿Êð¡£
¼õÉÙ±àÒë»·¾³µÄÎÛȾ£¬ÒòΪDockerÌìÈ»µÄ¸ôÀëÐÔ£¬Ò²±ÜÃâÁË´«Í³±àÒë»·¾³ÄÑÒÔÅäÖöàÌ×±àÒë»·¾³µÄÎÊÌâ¡£ÔÚ»ùÓÚDockerµÄ³ÖÐø·¢²¼ÖУ¬ÎÒÃÇ¿ÉÒÔÔÚͬһ̨ËÞÖ÷»úÉÏͬʱ±àÒ벻ͬ°æ±¾µÄJavaÏîÄ¿£¬²»Í¬°æ±¾µÄPythonÏîÄ¿£¬¶øÎÞÐèÈκÎÅäÖ㬾µÏñÒ²Ö»ÊÇ´Ódocker hubÖлñÈ¡¡£
³ÖÐø¼¯³É
ÔÚ³ÖÐø¼¯³É·½Ã棬ÎÒÃÇÑ¡ÔñJenkins¡£JenkinsÊÇÒ»¿î¿ªÔ´Èí¼þ£¬ÓµÓÐÖÚ¶àÓÅÐãµÄ²å¼þ£¬ÒÀ¿¿ÕâЩ²å¼þ£¬ÎÒÃÇ¿ÉÒÔÍê³ÉһЩÖÜÆÚ¡¢·±Ëö¡¢¸´ÔÓµÄÈÎÎñ¡£ÀýÈçÎÒÃǽñÌì·ÖÏíµÄ³ÖÐø·¢²¼£¬ËäÈ»Jenkins½â¾öÁËÎÒÃÇ·±Ëö¸´ÔÓÖÜÆÚÐԵIJÙ×÷£¬µ«ÊÇûÓнâ¾öÎÒÃÇÔÚ¶àÖÖ»·¾³Ï±àÒë¹¹½¨µÄÐèÇó¡£¶øÕâ¸ö³¡¾°ÕýÊÇDockerµÄÇ¿Ïͨ¹ýJenkinsµÄpipelineÎÒÃÇ¿ÉÒÔʵÏÖ´úÂë¼ì³ö¡¢µ¥Ôª²âÊÔ¡¢±àÒë¡¢¹¹½¨¡¢·¢²¼¡¢²âÊÔµÈÁ÷³ÌµÄ×Ô¶¯»¯£¬¶ø×îÖÕͨ¹ýJenkinsµÄDocker²å¼þ½«²ú³öÎï¹¹½¨³É¾µÏñ£¬·½±ã²¿Êðµ½Docker»·¾³¡£
³ÖÐø²¿Êð
³ÖÐø¼¯³ÉÈÃÎÒÃÇеĴúÂëÔ´Ô´²»¶ÏµÄ¹¹½¨³ÉÁ˾µÏñ£¬ÕâЩ¾µÏñ¾ÀúÁ˵¥Ôª²âÊÔ£¬×Ô¶¯»¯²âÊÔ£¬µ«»¹Ã»ÓнÓÊܹý²âÊÔÍŶӵÄÑϸñ²âÊÔ¡£JenkinsÊÇÒ»¸öÇ¿´óµÄ³ÖÐø¼¯³É¹¤¾ß£¬È»¶ø³ÖÐø²¿Êð²¢²»ÊÇJenkinsµÄÇ¿Ïµ«ÊÇJenkinsÓµÓкܶàÇ¿´óµÄ²å¼þ¡£22.¶øÇÒÎÒÃdzÖÐø¼¯³É²ú³öµÄÊǾµÏñ£¬ËùÒÔ³ÖÐøµÄ²¿Êð£¬ÎÒÃÇÖ»ÐèÒª½«¾µÏñÔËÐÐÆðÀ´£¬»òÕßÀûÓõÚÈý·½µÄÈÝÆ÷¹ÜÀíÆ½Ì¨ÌṩµÄAPI½øÐв¿Êð¡£
±¾µØ²¿ÊðÓ¦Óõ½Docker:±¾µØ²¿Êðµ½DockerÈÝÆ÷¿ÉÒÔʹÓÃJenkinsµÄdocker²å¼þ£¬ÏÂÃæ»á½éÉÜ¡£
²¿Êðµ½Ô¶³ÌÖ÷»úµÄDocker¡¢Appsoar¡£DockerºÍAppsoar¶¼Ö§³Ö¿ªÆôAPIµ÷Óá£Í¨¹ýÏÖÓеÄAPIÎÒÃÇ¿ÉÒÔÔËÐÐÎÒÃÇÉú³É¾µÏñ°æ±¾¡£´Ó¶ø´ïµ½³ÖÐøµÄ²¿Êð×îа汾¡£
²¿Êðµ½kubernetes¡£kubernetes³ýÁË¿ÉÒÔͨ¹ýAPIµ÷Óû¹¿ÉÒÔÔÚjenkinsÖÐÅäÖÃkubectlµÄ·½Ê½´´½¨»ò¸üÐÂdeployments¡£
DockerÖÐÔËÐÐJenkins:Docker²¿ÊðJenkinsµÄ·½Ê½¼òµ¥·½±ã£¬ÏÂÃæÎÒÃǽéÉÜÓÃDockerµÄ·½Ê½ÔËÐÐJenkins¡£

ÕâÀォdocker.sockºÍdockerµÄ¿ÉÖ´ÐÐÎļþ¹ÒÔØµ½jenkinsÈÝÆ÷ÖУ¬ÕâÑùÎÒÃǾͿÉÒÔÔÚÈÝÆ÷ÖÐʹÓÃdockerÁË¡£
jenkinsÈÝÆ÷£¬Ä¬ÈϵÄÓû§ÊÇjenkinsÒòΪÎÒÃÇÐèҪʹÓÃdockerËùÒÔÎÒÃÇÐèҪʹÓÃrootÓû§¡£
/var/jenkins_homeµÄ¹ÒÔÚ¾íÊÇ¿ÉÑ¡µÄ£¬jenkins_home´æ·ÅÁËËùÓÐÈÎÎñ¡¢ÈÕÖ¾¡¢ÈÏÖ¤¡¢²å¼þµÈjenkinsÔËÐкóµÄÎļþ¡£¿É×öÊý¾Ý»Ö¸´Ê¹Óá£
ÅäÖÃJenkins
1. ½âËøjenkins:½âËøµÄÃÜÂëÔÚÈÝÆ÷µÄlogÖпÉÒԲ鿴£¬»òÕßÖ±½Ó²é¿´jenkins_homeÖ¸¶¨Îļþ

Ñ¡Ôñ²å¼þ

´´½¨PipelineÏÂÃæÎÒÃÇ´´½¨Ò»¸öµÄJenkinsµÄPipelineÍê³É¼òµ¥µÄcicdÁ÷³Ì¡£
н¨pipeline£¬ÔÚ×ó²àн¨Ñ¡Ôñpipeline¡£
ÔÚ×ó²àµÄCredentialsÖÐн¨gitºÍ¾µÏñ²Ö¿âµÄcredentials
ÅäÖÃpipeline£¬ÀýÈ綨ʱ´¥·¢£¬´úÂë¸üд¥·¢£¬webhook´¥·¢µÈ¡£
ÔÚpipeline scriptÖÐÌîÈëÏÂÃæµÄdemo.
ÒÔÏÂÊÇα´úÂ룬½öÌṩ˼·


Jenkins pipelineµÄ½Å±¾Óï·¨ÊÇgroovyµÄÓï·¨£¬ÆäÖÐdocker ¡¢GitÊDzå¼þÌṩµÄÄÜÁ¦¡£´úÂëµÄÖ´ÐÐÁ÷³ÌÈçÏ£º

ͨ¹ýGit²å¼þ»ñÈ¡×îдúÂëµ½jenkinsµÄ¹¤×÷Çø,ÀýÈç`/var/jenkins_home/workspace/pipelineDemo¡£
docker.image().insideÊÇÈçºÎ±àÒëÎÒÃǵĴúÂëÄØ£¬Í¨¹ý²é¿´JenkinsµÄconsole ¿ÉÒÔ¿´µ½ÈçÏÂlog.
ͨ¹ýdocker²å¼þÌṩµÄÄÜÁ¦¹¹½¨¾µÏñ£¬Dockerfile´æ·ÅÔÚ´úÂëĿ¼ÖС£¹¹½¨¾µÏñºópushµ½¾µÏñ²Ö¿â£¬Ë½ÓвֿâÐèÒª×ÔÐÐÅäÖþµÏñ²Ö¿â¡£
¾µÏñ¹¹½¨Íê³ÉÖ®ºó¾Í¿ÉÒÔɾµô¾É°æ±¾£¬²¢ÖØÐÂÔËÐÐÒ»¸öеİ汾¡£

ÊìϤDockerÃüÁîµÄÅóÓÑÓ¦¸ÃºÜÈÝÒ×Àí½âÁË£¬ÔÀ´ÊÇdocker.image().insideÆô¶¯µÄʱºò»á½«µ±Ç°µÄĿ¼¹ÒÔÚµ½ÈÝÆ÷ÖУ¬È»ºóÔÚÈÝÆ÷ÖÐÖ´ÐÐ./script/build.sh£¬ÕâÑùÎÒÃǾÍÍê³ÉÁËÀûÓÃÈÝÆ÷ÖдæÔڵĻ·¾³×öµ¥Ôª²âÊÔ»ò¹¹½¨±àÒëÁË¡£
ͨ¹ý¼òµ¥µÄÀý×Ó£¬¿É¼ûJenkinsºÍDockerµÄ½áºÏ¸øCICD´øÀ´ÁË×ã¹»µÄ±ãÀûºÍÇ¿´ó¡£ÎÒÃÇÐèҪ׼±¸µÄÖ»ÊÇÒ»¸ö±àÒëµÄ½Å±¾£¬ÔÚ±àÒë½Å±¾ÖпÉÒÔʹÓÃÈκεĻ·¾³ºÍÈκεİ汾¡£
Pipeline ½éÉÜ
JenkinsµÄÈÎÎñÁ½¸öÖ÷Òª°æ±¾¡£
free styleÖ»ÊÇÒ»¸ö×Ô¶¯»¯µÄ½Å±¾£¬½Å±¾ÀàÐÍΪshell¡£ËùÓеĽű¾ÔÚһ̨»úÆ÷ÉÏÔËÐУ¬ÐèÒªµÄ»·¾³ÐèÒªÌáǰ׼±¸¡£ÅäÖò»¼¯ÖУ¬»ìÂÒ¡£µ«ÊÇÒ»°ãÇé¿öÏ»¹Êǹ»Óõġ£
pipeline ÊÇjenkins2µÄ°æ±¾Ê¹ÓÃÁËÒ»¸ö»ùÓÚgroovy½Å±¾µÄÈÎÎñÀàÐÍ£¬Í¨¹ýһϵÁеÄstage½«¹¹½¨µÄ²»Í¬²¿·Ö×éºÏ³ÉÒ»¸öpipline¡£¶øÇÒÅäºÏstep¿ÉÒÔÍê³ÉÒì²½²Ù×÷¡£ÒòΪ»ùÓÚgroovy¿É±à³ÌÐÔ¸ü¼Ó
Ç¿´ó£¬¶øÇҽű¾¿ÉÒÔ´æ·ÅÔÚÔ´ÂëÖУ¬½Å±¾µÄ¸ü¸Ä²»ÐèÒªÖ±½Óµ½jenkinsÖÐÐ޸ġ£
pipelineµÄһЩʹÓþÑéºÍ¼¼ÇÉ
jenkinsµÄ×ÊÁϽÏÉÙ£¬¹ÙÍø¿ÉÒԲ鿴µÄÄÚÈÝÒ²²»¶à£¬Ò»°ãµÄÐèÇóJenkinsÄÚÖõÄpipeline-syntaxÀïÃæ¾ÍÓг£ÓõÄÃüÁîÉú³ÉÆ÷¡£¿ÉÒÔÂú×ã´ó¶àÊýÐèÇó¡£
ÔÚpipeline½Å±¾µ÷ÊÔÍê³ÉÖ®ºóÓ¦¸Ã½«½Å±¾ÒÔÎļþµÄÐÎʽ·ÅÔÚÔ´ÂëĿ¼ÖУ¬ÕâÑù×Ó·½±ãÐ޸ġ£ºÍ¶à·ÖÖ§ÐèÒª±àÒëµÄÇé¿öϽøÐл¥Ïà¸ôÀë¡£
Ó¦¸Ã¶à²éÕÒÏÂÏàÓ¦µÄ²å¼þ£¬¶ø²»ÊÇʹÓÃshÓÃÖ´Ðнű¾µÄ·½Ê½À´½â¾öÎÊÌâ¡£
Ó¦¸Ã½«jenkins_homeĿ¼¹ÒÔÚ³öÀ´£¬Èç¹ûÓöÉÏÁËJenkins±ÀÀ£ÁË¿ÉÒÔ¼°Ê±µÄ»Ö¸´Êý¾Ý¡£
Ó¦¸Ãн¨Ò»¸ö¶¨Ê±µÄpipelineÓÃÀ´ÇåÀíÉú³ÉµÄ¾µÏñ£¬¼õÉÙÓ²ÅÌ×ÊÔ´µÄÕ¼Óá£
Ò³ÃæÐ½¨µÄpipeline,ÔÚÒ³ÃæÉ¾³ýÖ®ºó£¬jenkins_home/workspaceÖжÔÓ¦µÄÏîÄ¿Îļþ²¢²»»á±»É¾³ý¡£
Q&A
Q:ÇëÎÊkubernetesÔõô½áºÏjenkins×ö³ÖÐø¼¯³ÉÄØ£¿
A:²¿Êðµ½kubernetes¡£kubernetes³ýÁË¿ÉÒÔͨ¹ýAPIµ÷Óû¹¿ÉÒÔÔÚjenkinsÖÐÅäÖÃkubectlµÄ·½Ê½´´½¨»ò¸üÐÂdeployments¡£
Q: ±ØÐëͨ¹ýpipeline²ÅÄÜʵÏÖjenkins°Ñ´úÂë¹¹½¨³Édocker¾µÏñô£¿
A:²»Ò»¶¨£¬Ê¹ÓÃdockerÖ÷ÒªÊÇ·½±ã½øÐбàÒë»·¾³µÄ¸ôÀ룬Ҳ¿ÉÒÔÅäÖúÃNFS£¬¹¹½¨Íê³ÉÖ®ºó¸´ÖƵ½¹Ì¶¨µÄ·þÎñÆ÷ÉÏ£¬Õâ¸öÎÒÃÇÒ»°ã½ÐÖÆÆ·¿â
Q:dockerĿǰ¹Ù·½µÄ˽Óвֿâregistry²¢Ã»ÓÐÌṩ¾µÏñɾ³ý¹¦ÄÜ£¬ÇëÎÊÄãÃǵľµÏñÊÇÈçºÎ½øÐа汾¹ÜÀíµÄÄØ
A: Apphouse,ÊÇÎÒÃǹ«Ë¾µÄÒ»¸ö¾µÏñ²Ö¿â²úÆ·»ùÓÚDockerµÄregistry,ÎÒÃÇÀ©Õ¹ÁËɾ³ý¡¢¸´ÖÆ£¬µÈ¹¦ÄÜ¡£Èç¹ûÓÐÐËȤµÄ»°¿ÉÒÔµ½ÎÒÃǹ«Ë¾¹ÙÍø»ñÈ¡ÎÒÃǵÄApphouse¡£
Q :PipelineÈçºÎͨ¹ýdockerÈÝÆ÷²¿ÊðÓ¦Óõ½²»Í¬µÄ½ÚµãÉÏÈ¥£¿·¢²¼Óöµ½ÎÊÌâÈçºÎ»Ø¹ö°æ±¾µÄ£¿
A:¾ÍÈçÎÒÇ°ÃæµÄ¸å¼þÖÐÌáµ½µÄ£¬jenkinsµÄÄÜÁ¦¸ü¶àµÄÊÇ×ö³ÖÐø¼¯³ÉµÄ¹¦ÄÜ£¬²¿ÊðºÍ»Ø¹ö²¢²»ÊÇJenkinsµÄÇ¿Ïî£¬ÌØ±ðÊǻعöµ¥ÒÀ¿¿jenkinsºÜÄÑ×öµ½ÍêÃÀµÄ·½°¸¡£µ«ÊDz¿Êðµ½²»Í¬µÄDockerµÄ½ÚµãÉÏ£¬¿ÉÒÔʹÓõÚÈý·½µÄ¹ÜÀíÆ½Ì¨£¬ÀýÈçAppsoarºÍ¿¨k8sÌṩµÄAPIÄÜÁ¦£¬¿ÉÒÔ½øÐв¿Êð¡£jenkinsÖ±½Óµ÷ÓÃcurlÃüÁîÖ´ÐÐÈÝÆ÷¹ÜÀíÆ½Ì¨ÌṩµÄAPI¡£
Q: pipelineµÄÿ¸ö»·½ÚµÄ±¨¸æÈçºÎ¿ìËÙ»ñÈ¡£¿±ÈÈç´úÂ뾲̬¼ì²é£¬¹¤³Ì¹¹½¨£¬²âÊÔ±¨¸æµÈµÈ£¿
A:http://jenkins:8080/job/clearImages/86/wfapi/
ͨ¹ýjenkinsÕâ¸öAPI£¬¿ÉÒÔ»ñȡһЩ״̬ºÍʱ¼äÐÅÏ¢£¬ÖÁÓÚÏêϸµÄ´úÂ뾲̬¼ì²é£¬Ã¿ÖÖÓïÑÔ¶¼Óв»Í¬µÄÓï·¨¼ì²é¡£ÐèÒª×ÔÐÐÅäÖᣵ±È»ÏêϸµÄÐèÒª²é¿´Êä³öÈÕÖ¾¡£
Q:Ôõô´¥·¢¹¤×÷Á÷µÄ£¿
A: jenkins pipelineÌṩÁËÈýÖÖ·½Ê½£¨Èç¹û°²×°ÁËSCMµÄ²å¼þ¿ÉÄÜÓÐÆäËûµÄ·½Ê½´¥·¢£©£¬½øÈëµ½pipelineµÄÉèÖÃÒ³ÃæÖеķֱðÓС£wbhook£¨´¥·¢Ô¶³Ì¹¹½¨ (ÀýÈç,ʹÓýű¾)£©¡¢¶¨Ê±´¥·¢£¨Build periodically£©¡¢´úÂë¸üд¥·¢£¨Poll SCM£©
Q: jenkinsµÄ±àÒë»·¾³ÊÇÔõô´¦ÀíµÄ£¬Êµ¼ÊÓû§µÄ±àÒëÐèÇóºÍ»·¾³¶¼²»Ò»Ñù¡£
A£ºÓû§ÐèÒªÇå³þÄãʹÓõıàÒë»·¾³µÄ»ù±¾Çé¿ö£¬ÀýÈçgolangµÄ±àÒë»·¾³£¬ÈÝÆ÷ÖеÄGOPATHÊÇÔÚʲôλÖã¬ÄãÐèÒª½«Äãlnµ½Ê²Ã´Ä¿Â¼µÄ´úÂë·ÅÖÃÔÚʲôλÖòÅÄܹ»±àÒ룬ÐèÒªÓû§×Ô¼ºÈ¥Ñо¿¹¹½¨»·¾³µÄʹÓã¬
Q: jenkinsÀïµÄÓÐÓû§È¨ÏÞ¹ÜÀíÂ𣬹ó¹«Ë¾µÄci cdÊÇÔõôʵÏÖÓû§¸ôÀëµÄ£¬Ã¿¸öÓû§Ö»ÄÜ¿´µ½×Ô¼ºµÄÏîÄ¿¡£
A£ºjenkinsµ±Öв¢Ã»ÓÐÓû§È¨ÏÞ¡£¹«Ë¾ÔÚÑз¢µÄ²úÆ·ÖУ¬ÓÐÒ»¸öÐéÄâµÄ¸ÅÄî½ÐÓû§×飬¶ÔÓ¦µÄÊÇk8sÖеÄÒ»¸ö»ò¶à¸önamespaces¡£¹ÜÀíÔ±½«³ÉÔ±Óû§Ìí¼Óµ½Õâ¸öÓû§×éÖУ¬×éÄÚ³ÉÔ±´´½¨µÄ×ÊÔ´£¨pipeline¡¢¼¯Èº¡¢·þÎñ£¬µÈ£©ÔÚ×éÄÚÊǿɼû¡£Óû§×éÀ´½øÐÐÂß¼¸ÅÄîÉϵĸôÀë¡£
Q:¹ó¹«Ë¾jenkinsºÍkubernetesÊÇÔõô½áºÏʹÓõģ¿ÊÇʲôµÄ²¿ÊðÐÎʽ£¿
A:ÎÒ¿´µ½ºÜ¶àÅóÓѶ¼ÌáÎÊÁË£¬jenkinsÈçºÎ¿çÖ÷»ú²¿Êð»òÕßÈçºÎ²¿Êðµ½kubernetes¼¯Èº£¬ÈçºÎ»Ø¹ö¡£jenkins¶ÔÕâ·½ÃæµÄÄÜÁ¦±È½ÏÈõ£¬½ö½öÄܹ»Ö§³Ökube-api-serverµÄµ÷ÓöøÒÑ£¬Èç¹ûÍêÈ«ÒÀ¿¿jenkinsÊǺÜÄÑÍê³ÉÐèÇó£¬ËùÒÔÎÒÃǵIJúÆ·µ±ÖÐÓÐÒ»¸öרÃŶԽÓkubernetesµÄdeployµÄÄ£¿é£¬Ò»¸öÓ¦ÓÃÉ̵êµÄÄ£¿é£¬Ò»¸ö·â×°ÁËjenkinsµÄuflowÄ£¿é£¬uflowÄ£¿éÏòÓ¦ÓÃÉ̵ê»ñȡģ°å²¢¸ù¾Ýµ±Ç°±àÒë¹¹½¨³öÀ´µÄ¾µÏñtagºÅÌæ»»Ä£°å£¬²¢½»¸¶¸ødeployÄ£¿é´´½¨¡£»Ø¹öºÍÉý¼¶¶¼ÓÉdeployÄ£¿é¸ºÔð¡£ÕâÑù¸÷×Ô·Ö¿ª£¬¸÷˾ÆäÖ°¡£
|