ÁÄÁÄgitlab´úÂëÖÎÀíÒªÁì
gitlab´úÂëÖÎÀíÒªÁì
Ëæ×ÅÈí¼þ¿ª·¢µÄ¿ìËÙÉú³¤£¬´úÂëÖÎÀíÔ½À´Ô½³ÉΪÈí¼þ¿ª·¢µÄÒ»ÏîÒªº¦ÊÂÇé¡£´úÂëÖÎÀíÈí¼þʹÍŶÓÄܹ»¸üºÃµØÐ×÷£¬¸ú×ÙÏîÄ¿£¬ÖÎÀí°æ±¾£¬²¢È·±£´úÂëµÄ¿É¿¿ÐÔºÍÇå¾²ÐÔ¡£GitlabÊÇ×îÊܽӴýµÄ´úÂëÖÎÀíÈí¼þÖ®Ò»£¬ÌṩÁËһϵÁÐÇ¿Ê¢µÄ¹¦Ð§ºÍ¹¤¾ß£¬ÓÐÖúÓÚÍŶӿª·¢¸ßÖÊÁ¿µÄÈí¼þ¡£
ÕâƪÎÄÕ½«ÏÈÈÝGitlab´úÂëÖÎÀíµÄ»ù±¾¿´·¨ºÍʹÓÃÒªÁ죬ÒÔ×ÊÖú¿ª·¢Ö°Ô±¿ìËÙÕÆÎÕGitlabµÄ¹¦Ð§ºÍ¼¼ÇÉ¡£
GitlabµÄ»ù±¾¿´·¨
GitlabÊÇÒ»¸ö»ùÓÚGitµÄ¿ªÔ´´úÂëÖÎÀíÈí¼þ£¬Ö÷ÒªÓÃÓÚ°æ±¾¿ØÖƺÍÍŶÓÐ×÷¡£GitlabʵÏÖÁËÒ»¸öÍêÕûµÄÊÂÇéÁ÷³Ì£¬°üÀ¨´úÂëÍйܣ¬ÌÖÂÛÇø£¬ÎÊÌâ¸ú×Ù£¬Ò»Á¬¼¯³ÉµÈ¡£ÒÔÏÂÊÇһЩGitlabµÄ»ù±¾¿´·¨ºÍÊõÓ
¿ÍÕ»£¨Repository£©£º´æ´¢GitÔ´´úÂëµÄµØ·½£¬¿ÉÒÔ°üÀ¨¶à¸ö·ÖÖ§¡¢±êÇ©ºÍÌá½»¼Í¼¡£
·ÖÖ§£¨Branch£©£ºÃ¿¸ö·ÖÖ§¶¼ÊÇÒ»¸öµ¥¶ÀµÄ´úÂë°æ±¾£¬Í¨³£ÓÃÓÚ¿ª·¢Ð¹¦Ð§»òÐÞ¸´¹ýʧ¡£
±êÇ©£¨Tag£©£ºÔÚ´úÂë°æ±¾Öн¨ÉèµÄÒ»¸ö¾ßÓÐΨһ±êʶ·ûµÄ±ê¼Ç£¬Àû±ãÒÔºó¸ú×ٺͰ²ÅÅÌض¨°æ±¾µÄ´úÂë¡£
Ìá½»£¨Commit£©£ºÌí¼Ó¡¢Ð޸Ļòɾ³ýÎļþºóÉúÑĵÄÒ»¸ö°æ±¾¼Í¼£¬¿ÉÒÔ¸ú×Ù´úÂëµÄÐÞ¸ÄÀúÊ·¡£
ºÏ²¢£¨Merge£©£º½«Ò»¸ö·ÖÖ§µÄ´úÂëºÏ²¢µ½ÁíÒ»¸ö·ÖÖ§ÖС£
ÇëÇó£¨Request£©£ºÇëÇ󽫴úÂë´ÓÒ»¸ö·ÖÖ§ºÏ²¢µ½ÁíÒ»¸ö·ÖÖ§£¬ÀàËÆÓÚGitHubÉϵÄPull Request¡£
Pipeline£ºPipelineÊÇÒ»¸ö×Ô¶¯»¯Àú³Ì£¬°üÀ¨±àÒë¡¢²âÊԺͰ²ÅŵȰ취£¬¿ÉÓÃÓÚÒ»Á¬¼¯³ÉºÍÒ»Á¬°²ÅÅ£¨CI/CD£©¡£
GitlabµÄ»ù±¾Ê¹ÓÃÒªÁì
ÔÚÏàʶÁËGitlabµÄ»ù±¾¿´·¨Ö®ºó£¬ÏÂÃæÏÈÈÝÔõÑùÔÚGitlabÉϾÙÐдúÂëÖÎÀí£º
½¨Éè¿ÍÕ»
ÔÚGitlabÖн¨Éè¿ÍÕ»ºÜÊǼòÆÓ¡£Ê×ÏÈ£¬½øÈëÄúµÄGitlabÕË»§²¢Ñ¡ÕªÒª°²ÅÅ¿ÍÕ»µÄÏîÄ¿¡£È»ºóµ¥»÷¡°New project¡±°´Å¥£¬ÌîдËùÐèÐÅÏ¢¡£½¨ÉèÀֳɺó£¬Äú¿ÉÒÔʹÓÃGit cloneÏÂÁ¿ÍÕ»¿Ë¡µ½ÍâµØ¡£
½¨Éè·ÖÖ§
ÔÚGitlabÖн¨ÉèзÖÖ§ºÜÊǼòÆÓ¡£Ê×ÏÈ£¬´ÓÖ÷·ÖÖ§£¨Í¨³£ÊÇmaster£©½¨ÉèÒ»¸öеķÖÖ§£¬ÀýÈçdev£º
git checkout master git checkout -b dev
µÇ¼ºó¸´ÖÆ
È»ºó£¬Äú¿ÉÒÔÔÚеķÖÖ§ÉϾÙÐпª·¢£¬¾ÙÐÐÌá½»ºÍÐ޸ġ£
Ìá½»¸ü¸Ä
ÔÚGitlabÖÐÌá½»¸ü¸ÄÓëÔÚGitÖÐÌá½»¸ü¸ÄÀàËÆ¡£Ê×ÏȽ«¸ü¸ÄÌí¼Óµ½GitÔÝ´æÇø£¬È»ºóÌá½»¸ü¸Äµ½Git¿ÍÕ»£º
git add . git commit -m "commit message" git push
µÇ¼ºó¸´ÖÆ
Ðû²¼°æ±¾
ÔÚGitlabÖн¨Éè±êÇ©ºÜÊǼòÆÓ¡£Ê×ÏÈ£¬Çл»µ½ÏëÒª´ò±êÇ©µÄ·ÖÖ§£¬È»ºóʹÓñêÇ©ÏÂÁ
git checkout dev git tag v1.0
µÇ¼ºó¸´ÖÆ
½ÓÏÂÀ´½«±êÇ©ÍÆË͵½Gitlab¿ÍÕ»£º
git push --tags
µÇ¼ºó¸´ÖÆ
Äú»¹¿ÉÒÔΪ±êÇ©Ìí¼Ó×¢ÊÍ£º
git tag -a v1.0 -m "version 1.0"
µÇ¼ºó¸´ÖÆ
ºÏ²¢ÇëÇó
ÔÚGitlabÖУ¬Äú¿ÉÒÔʹÓúϲ¢ÇëÇ󽫴úÂë´ÓÒ»¸ö·ÖÖ§ºÏ²¢µ½ÁíÒ»¸ö·ÖÖ§ÖС£Ê×ÏÈ£¬Çл»µ½ÒªºÏ²¢µÄ·ÖÖ§£¬È»ºóµ¥»÷¡°Merge request¡±°´Å¥¡£
Ìîд±íµ¥ºó£¬µ¥»÷¡°Ìá½»ºÏ²¢ÇëÇó¡±°´Å¥¡£ÍŶӳÉÔ±¿ÉÒÔÉó²é´úÂëºÍ̸ÂÛ£¬²¢¿ÉÒÔÅú×¼»ò¾Ü¾øÇëÇó¡£
ʹÓÃPipeline¾ÙÐÐCI/CD
ÔÚGitlabÖÐʹÓÃPipeline¾ÙÐÐCI/CDͨ³£°üÀ¨ÒÔÏ°취£º
½¨ÉèÒ»¸öеÄPipeline
±àдһ¸öCI½ÅÔÀ´½ç˵¹¹½¨Àú³Ì£¬ÀýÈç±àÒë´úÂ룬ÔËÐвâÊÔµÈ
Ö´ÐÐCI¾ç±¾²¢ÌìÉú¹¹½¨±¨¸æ
×Ô¶¯»¯²âÊÔͨʺó£¬Ê¹ÓÃCD¾ç±¾½«Ó¦Óð²Åŵ½Éú²úÇéÐΡ£
Gitlab»¹ÌṩÁËÐí¶àÆäËû¸ß¼¶¹¦Ð§£¬ÀýÈ磺
´úÂëÉÍÎö£º¿ÉÒÔ¿ÉÊÓ»¯Éó²é´úÂë±ä»»¡£
ÎÊÌâ¸ú×Ù£º¿ÉÒÔÓÃÓÚ±¨¸æºÍ¸ú×ÙÎÊÌ⣬²¢ÔÚÎÊÌâ½â¾öʱ¾ÙÐйØÁª¡£
Wiki£º¿ÉÒÔÓÃÓÚÎĵµÖÎÀíºÍÍŶÓ֪ʶ¹²Ïí¡£
×ܽá
GitlabÊÇÒ»¸ö¹¦Ð§Ç¿Ê¢µÄ¿ªÔ´´úÂëÖÎÀíÈí¼þ£¬ÊÊÓÃÓÚÍŶÓÐ×÷¿ª·¢¡¢°æ±¾¿ØÖƺÍÒ»Á¬¼¯³É/°²ÅÅ£¨CI/CD£©¡£±¾ÎÄÏÈÈÝÁËGitlabµÄ»ù±¾¿´·¨ºÍʹÓÃÒªÁ죬°üÀ¨½¨Éè¿ÍÕ»¡¢½¨Éè·ÖÖ§¡¢Ìá½»¸ü¸Ä¡¢Ðû²¼°æ±¾¡¢Ê¹Óúϲ¢ÇëÇóºÍPipeline¾ÙÐÐCI/CDµÈ¡£Í¨¹ýÕÆÎÕÕâЩ»ù±¾¹¦Ð§ºÍ¼¼ÇÉ£¬¿ª·¢Ö°Ô±¿ÉÒÔ¸üºÃµØʹÓÃGitlab¾ÙÐиßЧµÄ´úÂëÖÎÀí¡£
ÒÔÉϾÍÊÇÁÄÁÄgitlab´úÂëÖÎÀíÒªÁìµÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡