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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
ʵս£ºÏòGitHubÌá½»´úÂëʱ´¥·¢Jenkins×Ô¶¯¹¹½¨
 
  7902  次浏览      41
 2018-8-28
 
±à¼­ÍƼö:
±¾ÎÄÀ´×Ôcsdn£¬ÔÚ±¾ÎÄÖÐÖ÷Òª½²½âʵսJenkinsµÄ×Ô¶¯¹¹½¨¹¦ÄÜ£¬Ã¿´ÎÌá½»´úÂëµ½GitHubºó£¬Jenkins»á½øÐÐ×Ô¶¯¹¹½¨¡£

ǰÆÚ×¼±¸¹¤×÷

½øÐб¾ÕµÄʵսǰ£¬ÍƼöÄú²ÎÕÕ¡¶dockerϵÄJenkins°²×°ºÍÌåÑé¡·×ö°²×°ºÍÌåÑéµÄʵս£¬ÒÔ±ã¶ÔJenkins·þÎñÓгõ²½Á˽⣻

ÖØÒªÇ°Ìá

GitHubÊÕµ½Ìá½»µÄ´úÂëºóÒªÖ÷¶¯Í¨ÖªJenkins£¬ËùÒÔJenkinsËùÔÚ·þÎñÆ÷Ò»¶¨ÒªÓÐÍâÍøIP£¬·ñÔòGitHubÎÞ·¨·ÃÎÊ£¬ÎÒµÄJenkins·þÎñÆ÷ÊDz¿ÊðÔÚÌÚÑ¶ÔÆµÄÔÆÖ÷»úÉÏ£¬´øÓÐÍâÍøIP£»

±¾´ÎʵսҪÌá½»Ô´Âëµ½GitHub£¬ËùÒÔÄúÐèÒªÓÐÒ»¸öGitHubºÅ£¬²¢ÔÚÉÏÃæ´´½¨¹¤³Ì£»

demo¹¤³ÌÔ´Âë

±¾´ÎÓÃÀ´ÔÚJenkinsÉϹ¹½¨µÄ¹¤³ÌÊǸöspringbootµÄweb¹¤³Ì£¬µØÖ·ÊÇ£ºgit@github.com:zq2599/jenkinsdemo.git£¬ÓÃä¯ÀÀÆ÷·ÃÎʵĵØÖ·ÊÇ£ºhttps://github.com/zq2599/jenkinsdemo.git£»

´úÂëºÜ¼òµ¥£¬Ö»ÓÐÒ»¸öcontroller£¬½ÓÊÕhttpÇëÇó·µ»ØÒ»¸ö×Ö·û´®£¬ÈçÏÂËùʾ£º

@RestController
public class Hello {
@RequestMapping("/")
public String sayHello(){
return "3. Hello jenkins, " + new Date();
}
}

ÄúÐèÒªÔÚ×Ô¼ºµÄGitHub´´½¨Ò»¸öÏîÄ¿£¬Ô´Âë¿ÉÒÔ²ÎÕÕÉÏÊödemo¹¤³ÌµÄÔ´Â룻

ʵս²½ÖèÊáÀí

±¾´ÎÕû¸öʵս¹ý³ÌÒÀ´ÎΪÈçϲ½Ö裺

1. GitHubÉÏ×¼±¸Ò»¸öspring bootµÄweb¹¤³Ì£»

2. GitHubÉÏÅäÖÃJenkinsµÄwebhookµØÖ·£»

3. ÔÚGitHubÉÏ´´½¨Ò»¸öaccess token£¬Jenkins×öһЩÐèҪȨÏ޵IJÙ×÷µÄʱºò¾ÍÓÃÕâ¸öaccess tokenÈ¥¼øÈ¨£»

4. Jenkins°²×°GitHub Plugin²å¼þ£»

5. JenkinsÅäÖÃGitHub·ÃÎÊȨÏÞ£»

6. JenkinsÉÏ´´½¨Ò»¸ö¹¹½¨ÏîÄ¿£¬¶ÔÓ¦µÄÔ´ÂëÊDz½Öè1ÖеÄweb¹¤³Ì£»

7. ÐÞ¸Äweb¹¤³ÌµÄÔ´Â룬²¢Ìá½»µ½GitHubÉÏ£»

8. ¼ì²éJenkinsµÄ¹¹½¨ÏîÄ¿ÊÇ·ñ±»´¥·¢×Ô¶¯¹¹½¨£¬¹¹½¨³É¹¦ºó£¬ÏÂÔØ¹¤³ÌÔËÐУ¬¿´ÊDz»ÊÇ»ùÓÚ×îеĴúÂë¹¹½¨µÄ£»

webhookµØÖ·

webhookÊÇ֪ͨJenkinsʱµÄÇëÇóµØÖ·£¬ÓÃÀ´Ìîдµ½GitHubÉÏ£¬ÕâÑùGitHub¾ÍÄÜͨ¹ý¸ÃµØÖ·Í¨Öªµ½Jenkins£»

¼ÙÉèJenkinsËùÔÚ·þÎñÆ÷µÄµØÖ·ÊÇ£º192.168.0.1£¬¶Ë¿ÚΪ8080£¬ÄÇôwebhookµØÖ·¾ÍÊÇhttp://192.168.0.1:8080/github-webhook

ÔÙ´ÎÌáÐÑ£¬ÉÏÊöµØÖ·±ØÐëÊÇÍâÍøÒ²ÄÜ·ÃÎʵ쬷ñÔòGitHubÎÞ·¨·ÃÎʵ½Jenkins£»

ÅäÖÃGitHub

1.µÇ¼GitHub£¬½øÈëÒª±¾´Î¹¹½¨Óõ½µÄ¹¤³Ì£»

2.ÔÚ¹¤³ÌÖ÷Ò³Ãæµã»÷ÓÒÉϽǵġ±Settings¡±£¬ÔÙµã»÷×ó²à¡±Webhooks¡±£¬È»ºóµã»÷¡°Add webhook¡±£¬ÈçÏÂͼ£º

ÈçÏÂͼ£¬ÔÚ¡±Payload URL¡±Î»ÖÃÌîÈëwebhookµØÖ·£¬ÔÙµã»÷µ×²¿µÄ¡±Add webhook°´Å¥¡±£¬ÕâÑù¾ÍÍê³ÉwebhookÅäÖÃÁË£¬½ñºóµ±Ç°¹¤³ÌÓдúÂëÌá½»£¬GitHub¾Í»áÏò´ËwebhookµØÖ··¢ÇëÇó£¬Í¨ÖªJenkins¹¹½¨£º

Éú³ÉPersonal access tokens

Jenkins·ÃÎÊGitHub¹¤³ÌµÄʱºò£¬ÓеIJÙ×÷ÊÇÐèÒªÊÚȨµÄ£¬ËùÒÔÎÒÃÇÒªÔÚGitHubÉÏÉú³ÉÊÚȨµÄtoken¸øJenkinsʹÓã¬Õâ¾ÍÊÇPersonal access tokens£¬Éú³É²½ÖèÈçÏ£º

1. µÇ¼GitHub£¬½øÈ롱Settings¡±Ò³Ã棬µã»÷×óϽǵġ±Developer settings¡±£¬ÈçÏÂͼ£º

2. Ìø×ªµ½¡±Developer settings¡±Ò³Ãæºó£¬µã»÷×óϽǵġ°Personal access tokens¡±£¬ÈçÏÂͼ£º

3. Ìø×ªµ½¡±Personal access tokens¡±Ò³Ãæºó£¬µã»÷ÓÒÉϽǵġ±Generate new token¡±°´Å¥£¬ÈçÏÂͼ£º

4. ¿ÉÄÜ»áÌáʾÊäÈëGitHubÃÜÂ룬ÊäÈëºóÌø×ªµ½´´½¨tokenµÄÒ³Ãæ£¬ÈçÏÂͼËùʾ£¬ÊäÈëtitle£¬ÔÙ¹´Ñ¡¡±repo¡±ºÍ¡±admin:repo_hook¡±£¬ÔÙµã»÷µ×²¿µÄ¡±Generate token¡±°´Å¥£¬¾ÍÄܲúÉúÒ»¸öеÄaccess token£¬½«´Ë×Ö·û´®¸´ÖÆÏÂÀ´£¬ºóÃæjenkinsÈÎÎñÖлáÓõ½£º

JenkinsÅäÖÃ

GitHub Plugin²å¼þ£¬ÔÚ¡±ÏµÍ³¹ÜÀí->¹ÜÀí²å¼þ¡±Î»Öüì²é´Ë²å¼þÊÇ·ñÒѾ­°²×°£¬Ã»ÓеϰÇëÏȰ²×°£»

ÅäÖÃGitHub£¬µã»÷¡°ÏµÍ³¹ÜÀí->ϵͳÉèÖá±£¬ÈçÏÂͼ£º

ÔÚϵͳÉèÖÃÒ³ÃæÕÒµ½¡±GitHub¡±£¬ÅäÖÃÒ»¸ö¡±GitHub Server¡±£¬ÈçÏÂͼ£¬¡±API URL¡±Ìîд¡±https://api.github.com¡°£¬¡±Credentials¡±Î»ÖÃÈçÏÂͼºì¿òËùʾ£¬Ñ¡Ôñ¡±Add->Jenkins¡±£º

µ¯³öµÄÒ³ÃæÖУ¬¡±Kind¡±Ñ¡Ôñ¡±Secret text¡±£¬¡±Secret¡±ÌîÈëÇ°ÃæÔÚGitHubÉÏÉú³ÉµÄPersonal access tokens£¬DescriptionËæ±ãдһЩÃèÊöÐÅÏ¢£¬ÈçÏÂͼ£º

ÌîдÍê±Ïºó£¬µã»÷ÓÒ²àµÄ¡±Test connection¡±°´Å¥£¬Èç¹ûÐÅϢûÓÐÌî´í£¬ÏÔʾµÄÄÚÈÝÈçÏÂͼËùʾ£º

µã»÷Ò³Ãæ×îµ×²¿µÄ¡±±£´æ¡±°´Å¥£»

GitHubÏîÄ¿µÄÏîÄ¿Ö÷Ò³ºÍ²Ö¿âµØÖ·

ÏîÄ¿Ö÷Ò³ºÍ²Ö¿âµØÖ·ÊDz»Í¬µÄ£¬ÈçÏÂͼ£¬ºì¿ò1ÖÐÊÇÏîÄ¿Ö÷Ò³£¬µã»÷ºì¿ò2µÄ°´Å¥ºó£¬ºì¿ò3ÖÐÊÇ²Ö¿âµØÖ·£¨ÒªÓÃHTTPSµÄ£¬²»ÓÃSSH µÄ£©£º

ÏîÄ¿Ö÷Ò³£ºhttps://github.com/zq2599/jenkinsdemo

²Ö¿âµØÖ·£ºhttps://github.com/zq2599/jenkinsdemo.git

н¨¹¹½¨ÏîÄ¿

ÔÚJenkinsÉÏн¨Ò»¸ömaven¹¹½¨ÏîÄ¿£¬ÃûΪtest003£¬ÈçÏÂͼ£º

½ÓÏÂÀ´ÉèÖÃtest003µÄÅäÖÃÐÅÏ¢£¬·ÖΪ¡±Ô´Âë¹ÜÀíÉèÖᱺ͡±¹¹½¨»·¾³ÉèÖá±Á½²¿·Ö£»

Ô´Âë¹ÜÀíÉèÖÃ

ÉÏͼÖÐÿ¸öºì¿òµÄÉèÖÃÈçϽâÊÍ£º

1. Ñ¡Ôñ¡±Git¡±£»

2. ¡°Repository URL¡±ÊäÈë²Ö¿âµØÖ·£ºhttps://github.com/zq2599/jenkinsdemo.git£»

3. ¡°Credentials¡±´´½¨Ò»¸öCredentials£¬KindÑ¡Ôñ¡±Username with password¡±£¬UsernameÊäÈëGitHubÕ˺ţ¬PasswordÊäÈëGitHubÃÜÂ룻

4. ¡°Ô´Âë¿âä¯ÀÀÆ÷¡±Ñ¡Ôñ¡±githubweb¡±£»

5. ¡°URL¡±ÊäÈëÏîÄ¿Ö÷Ò³£ºhttps://github.com/zq2599/jenkinsdemo£»

6. ¡°¹¹½¨´¥·¢Æ÷¡±Öй´Ñ¡¡±GitHub hook trigger for GiTScm polling¡±£»

¹¹½¨»·¾³ÉèÖÃ

ÈçÏÂͼËùʾ£¬¹´Ñ¡¡±Use secret text(s) or file(s)¡±£¬ÏÂÃæµÄ¡±Credentials¡±Ñ¡ÔñÎÒÃÇ֮ǰÅäÖùýµÄ¡±Personal access tokens¡±

ÉèÖÃÍê³Éºó£¬µã»÷Ò³Ãæµ×²¿µÄ¡±±£´æ¡±°´Å¥£»

ÐÞ¸Äweb¹¤³Ì´úÂë²¢Ìá½»µ½GitHub

½«GitHub²Ö¿âµÄ´úÂëcloneµ½±¾µØ£¬×öһЩÐÞ¸ÄÈ»ºóÌá½»µ½GitHubÉÏ£¬ÀýÈçÎÒÐÞ¸ÄÁËHello.javaÖеÄÔ´Â루ÐÞ¸ÄÁËsayHello·½·¨µÄreturnµÄ×Ö·û´®µÄÄÚÈÝ£©£¬ÈçÏÂËùʾ£º

@RestController
public class Hello {

@RequestMapping("/")
public String sayHello(){
//Ð޸ķµ»ØµÄ×Ö·û´®µÄÄÚÈÝ
return "abcdefg. Hello jenkins, " + new Date();
}
}

Ìá½»µ½GitHubµÄ²Ù×÷ÈçÏÂͼËùʾ£º

Jenkins×Ô¶¯¹¹½¨

»Øµ½JenkinsµÄtest003Ò³Ãæ£¬¿ÉÒÔ¿´µ½ÒѾ­¿ªÊ¼×Ô¶¯¹¹½¨ÁË£¬ÈçÏÂͼ£º

ÑéÖ¤×Ô¶¯¹¹½¨½á¹û

ÔÚtest003µÄÒ³Ãæ£¬µã»÷¡±¹¤×÷¿Õ¼ä¡±->¡±¹¤×÷Çø¡±£¬ÈçÏÂͼ£º

µã»÷ÏÂͼºì¿òÖеġ±mavendockerplugindemo-0.0.1-SNAPSHOT.jar¡±£¬ä¯ÀÀÆ÷¾Í»áÏÂÔØÕâ¸öÎļþ£º

ÏÂÔØ³É¹¦ºó£¬ÔÚmavendockerplugindemo-0.0.1-SNAPSHOT.jarËùÔÚĿ¼ÏÂÖ´ÐÐÃüÁîjava -jar mavendockerplugindemo-0.0.1-SNAPSHOT.jar£¬webÓ¦ÓÃÆô¶¯³É¹¦£¬ÈçÏÂͼ£º

ä¯ÀÀÆ÷ÊäÈëlocalhost:8080£¬¿ÉÒÔ¿´µ½webÓ¦Ó÷µ»ØµÄÄÚÈÝÊÇÎÒÃǸոÕÌá½»µÄ×îÐÂÄÚÈÝ£¬ÈçÏÂͼ£º

ÖÁ´Ë£¬GitHubÌá½»´¥·¢Jenkins×Ô¶¯¹¹½¨µÄʵս¾ÍÍê³ÉÁË£¬Ï£ÍûÄܶÔÄú´î½¨³ÖÐø¹¹½¨»·¾³ÓÐËù°ïÖú¡£

   
7902 ´Îä¯ÀÀ       41
Ïà¹ØÎÄÕÂ

ÿÈÕ¹¹½¨½â¾ö·½°¸
ÈçºÎÖÆ¶¨ÓÐЧµÄÅäÖùÜÀíÁ÷³Ì
ÅäÖùÜÀíÖ÷Òª»î¶¯¼°ÊµÏÖ·½·¨
¹¹½¨¹ÜÀíÈëÃÅ
Ïà¹ØÎĵµ

ÅäÖùÜÀíÁ÷³Ì
ÅäÖùÜÀí°×ƤÊé
CM09_CÅäÖùÜÀí±ê×¼
ʹÓÃSVN½øÐа汾¿ØÖÆ
Ïà¹Ø¿Î³Ì

ÅäÖùÜÀíʵ¼ù
ÅäÖùÜÀí·½·¨¡¢¹¤¾ßÓëÓ¦ÓÃ
¶à²ã´Î¼¯³ÉÅäÖùÜÀí
²úÆ··¢²¼¹ÜÀí