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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
´òÔìjenkins+docker+nodejsÏîÄ¿µÄ×Ô¶¯²¿Êð»·¾³(webhook)
 
  2769  次浏览      30
 2019-4-29
 
±à¼­ÍƼö:
±¾ÎÄÀ´×ÔÓÚcsdn£¬±¾ÎÄÏêϸ½éÉÜÁËÈçºÎʵÏÖ£¬git pushºó£¬jenkins¿ªÊ¼×Ô¶¯¹¹½¨µÄ²½ÖèµÄÏà¹ØÄÚÈÝ¡£

Ò»²½Ò»²½´òÔìjenkins+docker+nodejsÏîÄ¿µÄ×Ô¶¯²¿Êð»·¾³

½éÉÜ

jenkins+docker+nodejs ×Ô¶¯²¿Êð

ÁÁµã

²ÉÓÃshell×Ô¶¨Òå½Å±¾£¬¿ØÖƼ¯³É²¿Êð»·¾³¸ü¼Ó·½±ãÁé»î

Èç¹û·þÎñÆ÷¸ü»»£¬ÖØÐ²¿ÊðµÄ¹¤×÷Á¿»á±È½ÏС

Éæ¼°µÄdockerÃüÁ»áÓн²½â£¨²»ÖªµÀËã²»ËãÁÁµã£©

ǰÌá

´úÂëͨ¹ýgit¹ÜÀí£¬·ÅÔÚÁËÂëÔÆÉÏ£¨·ÅÔÚgithub»òÕ߯äËûƽ̨Ҳ¶¼¿ÉÒÔ£©

·þÎñÆ÷ÓõÄÑÇÂíÑ·aws£¨°¢ÀïÔÆ£¬ÇàÔÆÒ²Ò»Ñù£©

·þÎñÆ÷ÓõÄubuntu 16.04 (·þÎñÆ÷ϵͳ²»Í¬£¬Ö»ÊÇijЩshellÃüÁͬ¶øÒÑ£¬windows·þÎñÆ÷Óû§£¬ßÀ£¬ÎÒ¾´ÄãÊÇÌõºº×Ó)

¿Í»§¶ËÓõÄmac

docker¾µÏñƽ̨Ϊdockerhub

×¼±¸

·þÎñÆ÷¿ªÍ¨SSH

·þÎñÆ÷°²×°Docker

ÕÆÎÕ»ù±¾µÄshellÃüÁ±¾ÎijöÏÖµÄshellÃüÁî¶¼»á½øÐÐ˵Ã÷£¬cdɶµÄ¾Í²»ËµÁË...£©

¿ªÊ¼

dockerÔËÐÐjenkins

·þÎñÆ÷ °²×°docker

mac·þÎñÆ÷°²×°½Ì³Ì

linux·þÎñÆ÷°²×°½Ì³Ì

windows·þÎñÆ÷°²×°½Ì³Ì

·þÎñÆ÷À­È¡docker jenkins¾µÏñ£ºdocker pull jenkins:latest

À­È¡jenkins latest°æ±¾¾µÏñ

docker pull jenkins:2.7.4 À­È¡jenkins 2.7.4°æ±¾¾µÏñ

·þÎñÆ÷ÔËÐÐdokcer jenkinsÈÝÆ÷:sudo docker run -d --name jenkins_node -p 49002:8080 -v /var/jenkins_node:/var/jenkins_home jenkins:latest

Õâ¾äÃüÁîµÄÒâ˼ÊÇ£ºÔÚºǫ́ÔËÐÐÒ»¸ö»ùÓÚjenkins:latest¾µÏñµÄÈÝÆ÷, ÈÝÆ÷µÄÃû×Ö½Ð×ö jenkins_node ,°ÑÈÝÆ÷µÄ8080¶Ë¿ÚÓ³ÉäΪ49002¶Ë¿Ú£¬²¢ÇÒ°Ñ·þÎñÆ÷ÉϵÄ/var/jenkins_nodeĿ¼¹ÒÔÚµ½dockerÈÝÆ÷ÉϵÄ/var/jenkins_homeĿ¼

-d ºǫ́ÔËÐÐdockerÈÝÆ÷

Èç¹û²»¼Ó-dÔò£¬ÈÝÆ÷ÔËÐлáÕ¼ÓôËÖÕ¶Ë£¬Èç¹ûÖն˹رգ¬ÔòÈÝÆ÷Ò²ÏàÓ¦¹Ø±Õ£¬jenkins¾ÍÎÞ·¨·ÃÎÊÁË¡£¼ÓÉÏ-d,ÈÝÆ÷»áÔÚºǫ́ÔËÐС£

--name ΪÈÝÆ÷Æð¸ö±ðÃû

Èç¹û²»Æð±ðÃû£¬Ôòϵͳ»áĬÈÏ·ÖÅäÒ»¸öËæ»ú±ðÃû£¬ÀàËÆgklasd_sdfwe¡£ÆðÁ˱ðÃûºó£¬ºóÐø»áͨ¹ý¸Ã±ðÃû¹ÜÀí¸ÃdockerÈÝÆ÷£¬Ò²¾ÍÊǹÜÀíjenkins¡£

-p dockerÈÝÆ÷¶Ë¿ÚÓ³Éä

jenkins·þÎñÊÇÔËÐÐÔÚdockerÀïµÄ£¬dockerĬÈϲ»¶ÔÍⱩ¶¶Ë¿ÚµÄ

-v Îļþ¹ÒÔØ

Èç¹û²»¹ÒÔØ£¬ÔòjenkinsËùÓÐlog¡¢Óû§ÅäÖÃÎļþ¶¼»áÔÚdockerÈÝÆ÷ÄÚ£¬Èç¹ûÈÝÆ÷Ïú»Ù£¬ÔòjenkinsµÃÖØÐÂÅäÖÃÒ»±é¡£¹ÒÔØ³öÀ´·½±ãjenkinsÇ¨ÒÆÒÔ¼°¹ÜÀí

ÔËÐгɹ¦½ØÍ¼

jenkins run

²é¿´Äã·þÎñÆ÷ÉϵĵÄ/var/jenkins_nodeÎļþ¼Ð,µ±³öÏÖÏÂͼËùÓÐÎļþʱ£¬Ôò˵Ã÷jenkinsÆô¶¯³É¹¦£¬·ñÔòÔٵȵÈ...30Ãë×óÓÒ¼´¿É

²»³öÒâÍ⣬ä¯ÀÀÆ÷·ÃÎÊhttp://host:49002 £¬»á³öÏÖÈçϽçÃæ

´ò¿ªinitialAdminPasswordÎļþ£¬¸´ÖÆÎļþÄÚÈÝ initialAdminPasswordÎļþλÖÃΪ£º

ΪÁË·½±ã£¬ÓÃmacÑÝʾһÏÂ

initialAdminPasswordÎļþÄÚÈÝÕ³Ìùµ½Administrator passwordÀï

Èç¹û¶ÔÓÚjenkins±È½ÏÊìϤ£¬ÏÂÃæ7,8×Ô¼ºËæÒâ

µÈ...

ÉèÖÃadmin user

nodeÏîÄ¿ÅäÖÃ

ʾÀýÏîÄ¿£ºhttps://git.oschina.net/ryzecode/HelloWorld_Node.git

±ÈÕý³£µÄnodeÏîÄ¿ÔÚ¸ùĿ¼¶àÒ»¸öDockerfileÎļþ

jenkinsÅäÖÃ

²å¼þ°²×°

Ê×Ò³£¬µã»÷ϵͳ¹ÜÀí --> ¹ÜÀí²å¼þ

Ñ¡Ôñ¡°¿ÉÑ¡²å¼þ¡±

ÓÒÉϽǹýÂËSSH£¬--> Ñ¡ÔñPublish Over SSH -->µã»÷ Ö±½Ó°²×°

µÈ´ý°²×°Íê³É

ϵͳÉèÖÃ

Ê×Ò³£¬µã»÷ϵͳ¹ÜÀí --> ϵͳÉèÖÃ

À­µ½×îÏÂÃæÕÒµ½ "Publish over SSH" , ÉèÖ÷þÎñÆ÷µÄSSHÐÅÏ¢

ÏîÄ¿ÅäÖÃ

Ê×Ò³£¬µã»÷×óÉϽǡ±Ð½¨¡±

General£º Ö»Ìî ÏîÄ¿Ãû³Æ¼´¿É

Ô´Âë¹ÜÀí£º ÌîдGitÐÅÏ¢

Èç¹ûGitÏîĿΪ˽ÓÐÏîÄ¿£¬ÔòÐèÒªµã»÷AddÌí¼ÓÄãµÄGitÕ˺ţ¬Íê³ÉÖ®ºóÔÚÕâÀïÑ¡ÔñÄãµÄGitÕ˺Å

¹¹½¨»·¾³£º²ÎÕÕÏÂͼ

ͼÖдúÂëÈçÏ£º

sudo docker stop node || true \

&& sudo docker rm node || true \

&& cd /var/jenkins_node/workspace/node \

&& sudo docker build --rm --no-cache=true -t node - < Dockerfile \

&& sudo docker run -d --name node -p 3000:3000 -v /var/jenkins_node/workspace/node:/home/project node

±£´æ£¬·µ»Øµ½Ê×Ò³

Ñ¡Ôñ¸Õ¸Õ´´½¨µÄÏîÄ¿£¬µã»÷"Á¢¼´¹¹½¨"

´Ëʱ·þÎñÆ÷±¾µØÓ²ÅÌÉÏ£¬/var/jenkins_node/workspace/ÏÂÓ¦¸ÃÓÐnode£¨Äã´´½¨µÄjenkinsÏîÄ¿Ãû£©Îļþ¼Ð

/var/jenkins_node/ Ŀ¼ÄÚÈÝÓ¦¸ÃÈçÏÂͼ

ΪÁË·½±ã²é¿´£¬¼ÌÐøÓÃmacÑÝʾĿ¼

¹¹½¨³É¹¦£¬ä¯ÀÀÆ÷ÊäÈë http://host:3000 Ó¦¸ÃÄÜ¿´µ½ÏÂͼÄÚÈÝ

×Ô¶¯²¿Êð

Èç¹ûÏëÒªgit push£¬jenkins¾Í×Ô¶¯²¿Êð£¬ÄǾͼÌÐøÍùÏ¿´...

jenkins --> Ê×Ò³ --> Óû§

ÉèÖà --> µã»÷ "show API Token"

¸´ÖÆAPI TokenÄÚÈÝ

·µ»ØÊ×Ò³ --> node£¨ÏîÄ¿Ãû³Æ£© --> ÅäÖà --> ¹¹½¨´¥·¢Æ÷ --> Ñ¡Ôñ "´¥·¢Ô¶³Ì¹¹½¨" -->Õ³Ìù"API Token"ÄÚÈݵ½"Éí·ÝÑéÖ¤ÁîÅÆ"

µÇ½gitƽ̨£¬ÕÒµ½ÄãµÄÏîÄ¿£¬Ñ¡Ôñ¹ÜÀí£¬Ñ¡Ôñwebhook

URL ÖÐ node ÇëÌæ»»ÎªÄãÔÚjenkinsÉÏ´´½¨µÄÏîÄ¿Ãû³Æ

tokenΪ¸´ÖÆµÄ API TokenÄÚÈÝ

´ËʱÄãgit push£¬»á·¢ÏÖjenkins²¢Ã»ÓÐ×Ô¶¯¹¹½¨£¬ÊÇÒòΪjenkinsµÄ°²È«²ßÂÔµ¼Öµģ¬»¹ÐèÒªÈçÏÂÉèÖÃ

jenkinsÊ×Ò³£¬Ñ¡Ôñ ϵͳ¹ÜÀí-->Configure Global Security(ϵͳÉèÖÃÏÂÃæÄǸö) ½øÐÐÈçÏÂÉèÖÃ

ÖÁ´Ë£¬ÒÑÍê³É git push ºó£¬jenkins ×Ô¶¯¹¹½¨×Ô¶¯²¿Êð¡£

   
2769 ´Îä¯ÀÀ       30
Ïà¹ØÎÄÕÂ

ÔÆ¼ÆËãµÄ¼Ü¹¹
¶ÔÔÆ¼ÆËã·þÎñÄ£ÐÍ
ÔÆ¼ÆËãºËÐļ¼ÊõÆÊÎö
Á˽âÔÆ¼ÆËãµÄ©¶´
Ïà¹ØÎĵµ

ÔÆ¼ÆËã¼ò½é
ÔÆ¼ÆËã¼ò½éÓëÔÆ°²È«
ÏÂÒ»´úÍøÂç¼ÆËã--ÔÆ¼ÆËã
ÈídzÎöÔÆ¼ÆËã
Ïà¹Ø¿Î³Ì

ÔÆ¼ÆËãÔ­ÀíÓëÓ¦ÓÃ
ÔÆ¼ÆËãÓ¦ÓÃÓ뿪·¢
CMMIÌåϵÓëʵ¼ù
»ùÓÚCMMI±ê×¼µÄÈí¼þÖÊÁ¿±£Ö¤