éçºãå§ãããªãããŸãã¯ãœãŒã¹ã³ãŒãã管çãããªããžããªãäœããªããã°ãããŸããããð€
ãªããžããªãäœæããããã®ããŒã«ãšããã°ãçã£å ã«æãæµ®ãã¶ã®ãGitHubã ãšæããŸãããåã¯GitLabãæçšããŠããŸãã
GitLabã®markdownãšãã£ã¿ã¯GitHubããã䜿ãããããèªã¿ãããã®ã§åã«ãšã£ãŠã¯GitLabã®æ¹ããã£ããããŸãã
ãããªGitLabã§ãªããžããªãäœãæ¹æ³ãšåæèšå®ã«ã€ããŠã玹ä»ããŸãð
â ïž æ³šæäºé
以äžãå®äºããŠããããšãåæã«è§£èª¬ããŠããã®ã§ããŸã ã®æ¹ã¯ãå ¬åŒã®ã¬ã€ãããã¥ãŒããªã¢ã«ãåèã«æºåãé²ããŠãã ããð
⢠GitHubã¢ã«ãŠã³ãã®äœæ
⢠Gitã®ã€ã³ã¹ããŒã«
⢠SSHããŒã®èšå®
ð ïž ãªããžããªã®äœæ
æºåãæŽã£ãããŸãã¯ãã¡ãã®ããŒãžã«ã¢ã¯ã»ã¹ããŠãã ããð
ããŒãžãéããšãããªéžæè¢ã䞊ãã§ããŸã
çªå· | éžæè¢ | 説æ |
---|---|---|
1 | Create Blank Project | å®å šã«ç©ºã®ç¶æ ãããããžã§ã¯ããå§ãã |
2 | Create From Template | æ¢åã®ãã³ãã¬ãŒããå©çšããŠããããžã§ã¯ããäœæ |
3 | Import Project | ä»ã®å Žæã«ãããããžã§ã¯ããã€ã³ããŒããã |
4 | Run CI/CD for External Repository | å€éšã®ãªããžããªã«å¯ŸããŠCI/CDãå®è¡ |
å·Šäžã®ãCreate Blank Projectããã¯ãªãã¯ãããšãã®ç»é¢ã«é·ç§»ããŸãã
äžèšã®ãã©ãŒã ã衚瀺ãããã®ã§ããã¡ãã®è¡šãåèã«å ¥åããŸãã
é ç® | æ¥æ¬èªèš³ | èšå®å€ | 説æ |
---|---|---|---|
Project name | ãããžã§ã¯ãå | 奜ããªååãå ¥å | |
Project slug | ãããžã§ã¯ãã®ã¹ã©ãã° | ãããžã§ã¯ãåãçããããã® | èªåçæãããã®ã§ç¹ã«æ©ãå¿ èŠã¯ãããŸããã |
Project deployment target (optional) | ãããã€å ã®ã¿ãŒã²ãã | Virtual machine (for example, EC2) | ãã®ãŸãŸã¹ãããã§ãåé¡ãããŸããã |
Visibility Level | å¯èŠæ§ã¬ãã«ïŒPrivate ãŸã㯠Public ãéžæïŒ | PrivateïŒéå ¬éïŒãç¡é£ | ããšããã§ãå ¬éã§ããã®ã§è¿·ã£ããPrivate |
Project Configuration - Initialize repository with a README | ãªããžããªãREADMEä»ãã§åæåãã | YesïŒããããïŒ | |
Project Configuration - Enable Static Application Security | éçã¢ããªã±ãŒã·ã§ã³ã»ãã¥ãªãã£ãæå¹åãã | YesïŒããããïŒ | Yesã«ãããšãªããžããªäœææã«.gitlab-ci.ymlãäœæãããã³ãŒãã«ã»ãã¥ãªãã£äžã®åé¡ããªãããããã€æã«èªåãã§ãã¯ãã |
ãã©ãŒã ã®å ¥åãå®äºããããå·Šäžã«ãããCreate Projectããã¿ã³ãæŒããšãããžã§ã¯ããäœæããããã®ãããããŒãžã«é·ç§»ããŸãð
ð ïž ãªããžããªã®clone
äœæãããªã¢ãŒããªããžããªãããŒã«ã«ã®PCã«äžžããšã³ããŒïŒcloneïŒããŸãð
1. cloneå ã®èŠªãã£ã¬ã¯ããªã«ç§»åãã
ãœãŒã¹ã³ãŒããcloneãã芪ãã£ã¬ã¯ããªã«ç§»åãã以äžã®ã³ãã³ããã¿ãŒããã«ã«å ¥åããŠãã ããã
cd 察象ãã£ã¬ã¯ããª
2. ãªããžããªãCloneãã
ãããžã§ã¯ãã®ãããããŒãžã®å³äžã®éè²ã®ãCodeãã®ããããããŠã³ãã¿ã³ãæŒãããClone with SSHããã³ããŒãã以äžã®ãããªåœ¢åŒã§ã³ãã³ããã¿ãŒããã«ã«å ¥åããŸãð
git clone ã³ããŒããããã¹ãïŒgit@gitlab.com:ãŠãŒã¶ãŒå/ãããžã§ã¯ãå.giïŒ ãã£ã¬ã¯ããªåïŒâ»1ïŒ
ls
ãªã©ã§ç¢ºèªãããšæå®ãããã£ã¬ã¯ããªãäœæããããœãŒã¹ã³ãŒããäžžããšããŠã³ããŒããããŠããã®ã確èªã§ãããšæããŸãð
ð ïž ãã©ã³ãã®äœæ
Gitãããžã§ã¯ããéçšããéã«ã¯ãç°å¢ããšã«ãã©ã³ããäœæããŠç®¡çããã®ãäžè¬çã§ãã
ããã§ã¯åèãšããŠãmasterããreleaseããtestãã®3ã€ã®ãã©ã³ããäœæããŸãð
1. ã¯ããŒã³ãããã£ã¬ã¯ããªã«ç§»å
ãŸãããªããžããªãã¯ããŒã³ãããã£ã¬ã¯ããªã«ç§»åããŸãã以äžã®ã³ãã³ããå®è¡ããŠãã ããð
cd 察象ãã£ã¬ã¯ããª
ð¡ 察象ãã£ã¬ã¯ããªã«ã¯ããªããžããªãã¯ããŒã³ããæã®ã³ãã³ãã® git clone ã³ããŒããããã¹ãïŒgit@gitlab.com:ãŠãŒã¶ãŒå/ãããžã§ã¯ãå.giïŒ ãã£ã¬ã¯ããªåïŒâ»1ïŒ
ã® â»1 ã®ãã©ã«ãã®pathãæå®ããŸãã
2. å¿ èŠãªãã©ã³ããäœæ
ïŒïŒmasterãã©ã³ããäœæ
git checkout -b master
ïŒïŒreleaseãã©ã³ããäœæ
git checkout -b release
ïŒïŒtestãã©ã³ããäœæ
git checkout -b test
ãã¹ãŠã®ãã©ã³ããäœæãããã以äžã®ã³ãã³ãã§ãªã¢ãŒããªããžããªã«äžæ¬ããŠããã·ã¥ããŸãð
git push -u origin master release test
â» -u
ãä»ãããšãããŒã«ã«ãã©ã³ããããã©ã«ãã§ãªã¢ãŒããã©ã³ãã远跡ããããã«ãªããŸããããã«ãããæ¬¡åãã以äžã®ããã«ãã©ã³ãåãçç¥ã㊠git pull
ã git push
ãªã©ã®æäœã§ããããã«ãªããŸã
ð ïž ãªããžããªãŒã®èšå®
ãªããžããªã®ãã©ã³ããäœæã§ããããæ¬¡ã¯åºæ¬çãªèšå®ãæŽããŠãããŸãããâš
ããã§ã¯ä»¥äžã®2ã€ã®èšå®ãè¡ããŸãð
-
Branch defaultsã®èšå® ð¯
ãªããžããªã®ããã©ã«ããã©ã³ããé©åã«èšå®ããŸãã
æ°ããããŒãžãªã¯ãšã¹ããåæã®æäœæã«éžã°ããåºæºãšãªããã©ã³ãã§ãã -
Protected branchã®èšå® ð
éèŠãªãã©ã³ããä¿è·ããããšã§ã誀æäœãé²ããå®å šãªéçºç°å¢ãäœããŸãã
ãããããã£ããèšå®ããŠããããžã§ã¯ããå®å šãã€å¹ççã«é²ããŠãããŸãããð
ãŸãã¯ãªããžããªã®ãµã€ãã¡ãã¥ãŒã«ãããSettingsïŒã»ããã£ã³ã°ã¹ïŒããã¯ãªãã¯ãããã®äžã«ãããRepositoryïŒãªããžããªèšå®ïŒããéžæããŸããããã§ãªããžããªã®è©³çްèšå®ç»é¢ã«ç§»åããŸãâš
Branch defaultsã®èšå® ð¯
ãªããžããªã®ããã©ã«ããã©ã³ããèšå®ããæ¹æ³ã«ã€ããŠè§£èª¬ããŸãâš
ããã©ã«ããã©ã³ããšã¯ãæ°ããããŒãžãªã¯ãšã¹ããåæã®ã³ãããæã«ãGitãèªåã§éžæãããã©ã³ãã®ããšã§ãã
ç»é¢ã®äžçªäžã«ãããDefault branchããšããã¢ã³ãŒãã£ãªã³ïŒæãããã¿ã¡ãã¥ãŒïŒãæ¢ããã¯ãªãã¯ããŠéããŸãð
ã¢ã³ãŒãã£ãªã³ãéããšãçŸåšã®ããã©ã«ããã©ã³ãããmainãã«èšå®ãããŠããã®ãåãããŸãã
ããã§ãããããããŠã³ã¡ãã¥ãŒãããtestããéžæããŸãã
ïŒå¥œã¿ã§ããïŒããã©ã«ããã©ã³ãã®ãAuto-Close Referenceãã®ãã§ãã¯ã¯å€ããŠããã®ãããããã§ãð§
â» ãã®ãã§ãã¯ãå ¥ãããŸãŸã«ããŠãããšããã®ãã©ã³ãã«ããŒãžãããæã«ããŒãžå ã®ãã©ã³ããèªåã§åé€ãããããã«ãªããŸãã
èšå®ãSave changesããã¿ã³ãã¯ãªãã¯ããŸãðŸâš
Protected branchã®èšå®ð
Protected Branches ãèšå®ããããšã§ãéèŠãªãã©ã³ããæå³ããªã倿Žããå®ãããšãã§ããŸãã
æåã«ãããžã§ã¯ããå§ãããšãã¯ãã¡ã³ããŒãèªåã ããšããããšãå€ããšæãã®ã§ãåææ®µéã§ã¯ããŸãæ°ã«ããªããŠã倧äžå€«ã§ããã仲éãåå å°æ¥ã®ããã«äžå¿èšå®ããŠãããŸãããð
ä»åã¯masterãã©ã³ããä¿è·ããŸãð
ãprotected branchesããšããã¢ã³ãŒãã£ãªã³ïŒæãããã¿ã¡ãã¥ãŒïŒãæ¢ããã¯ãªãã¯ããŠéããšãçŸåšä¿è·ãããŠãããã©ã³ããäžèЧã§è¡šç€ºãããŸãã
ãã®äžã«ãã¡ã€ã³ãã©ã³ããã衚瀺ãããŸããããã®ãã©ã³ãã¯éçºã§ã¯äœ¿çšããªããããå³ç«¯ã«ãããUnprotectããã¿ã³ãã¯ãªãã¯ããŠèšå®ãåé€ããŸãã
ãã®åŸããAdd Protected Branchã ãã¿ã³ãæŒããŠããã©ãŒã ãéããŸãã
以äžã®è¡šãåèã«å ¥åããŸãð
é ç® | èšå®å€ |
---|---|
Branch | master |
Allow to MergeïŒããŒãžæš©éïŒ | ç¹ã«çç±ããªããã°Maintainers ãšèšå® |
Allow to Push and MergeïŒããã·ã¥ãšããŒãžæš©éïŒ | ç¹ã«çç±ããªããã°Maintainers ãšèšå®ã |
â» GitLabã®ãŠãŒã¶ãŒã®ããŒã«ã¯ä»¥äžã®ããã«ãªã£ãŠããŸãã
ããŒã« | 説æ |
---|---|
Guest | éãããæ å ±ã®é²èЧã®ã¿å¯èœãäž»ã«ãã¥ãŒã¯ãŒåãã |
Reporter | ãªããžããªã®å 容ãèªãããšãå¯èœãIssueã®äœæã§ããŸãã |
Developer | ã³ãŒãã®ç·šéãããã·ã¥ãããŒãžãªã¯ãšã¹ãã®äœæãå¯èœãéçºæ åœè ã«å²ãåœãŠãããšãå€ãã |
Maintainer | ãã©ã³ãä¿è·ãCI/CDã®èšå®ããªããžããªã®ç®¡çãªã©ãå¯èœããªãŒããŒã管çè åãã |
Owner | ã°ã«ãŒãå šäœã管çããããžã§ã¯ãåäœã§ã¯ãªãã°ã«ãŒãåäœã§äœ¿çšããŸãã |
äœæãããšä»¥äžã®ããã«è¡šç€ºãããŸãã
ðïž äœ¿ããªããã©ã³ããåé€ããŠã¹ãããªããã
æåã«ãªããžããªãäœã£ããšãã«ãmainããšãããã©ã³ããäœæãããŠããŸãããããã䜿ããªãã®ã§åé€ããŠã¹ãããªããã¡ãããŸãããð§¹âš
ãŸãã¯ããŒã«ã«ç°å¢ïŒèªåã®PCïŒã«ããmainãã©ã³ããåé€ããŸãã以äžã®ã³ãã³ããå®è¡ããŠãã ããð
git branch -d main
次ã«ããªã¢ãŒããªããžããªïŒGitLabäžïŒã«ããmainãã©ã³ããåé€ããŸãã以äžã®ã³ãã³ããå®è¡ããŠãã ããð
git push origin --delete main
ð ãŸãšã
ä»åã¯ãGitLabã§ãªããžããªãäœæããæ¹æ³ã解説ããŸããâš
ãã©ã³ãããªããžããªã®èšå®ã¯ãçããããããã®ãããžã§ã¯ãã奜ã¿ã«åãããŠèªç±ã«ã«ã¹ã¿ãã€ãºããŠããã ããã°ãšæããŸãããä»å玹ä»ããæé ãåèã«ããŠããã ããã°ãåºæ¬çãªãªããžããªã®äœæã¯ããããªé²ããããã¯ãã§ãðª
ãªããžããªã®äœæã¯ããããžã§ã¯ãã®æåã®äžæ©ã§ãã
ãããã¹ã ãŒãºã«é²ããããšã§ãæ°æã¡ãããããžã§ã¯ããã¹ã¿ãŒãã§ããã¯ãð
ãã²æ¥œãããããžã§ã¯ããé²ããŠãã ãããð