èæ¯
GitHub ã使ã£ãéçºã§ã¯ã
- master ãã©ã³ãããã¤ã§ãæ¬çªã«åºããç¶æ ã¨ãã¦ã
- master ããåã£ã develop ãã©ã³ããéçºã®ãã¼ã¹ã¨ãã
- åãã£ã¼ãã£ã¯ develop ããåã£ã¦ develop ã«ãã¼ã¸ãã
- ãªãªã¼ã¹ã®ã¿ã¤ãã³ã°ã§ develop ã master ã«ãã¼ã¸ããªãªã¼ã¹
â¦â¦ã¨ããæµãã pull request ãã¼ã¹ã§è¡ãã®ããããããã¿ã¼ã³ã®ã²ã¨ã¤ã ã¨æãã¾ãããªãªã¼ã¹ã®éãã¹ãã¼ã¸ã³ã°ã QA ã¨ããååã®ã¤ããæ¬çªåç°å¢ã§ããããã®æ©è½ãæ£ããåãã¦ããã確èªããã®ãããããããã¼ã§ãã
ãã®ãã§ãã¯ã pull request æ¬æã®ãã§ãã¯ããã¯ã¹ã使ã£ã¦è¡ãããã¨ããã¢ã¤ãã¢ãå®è£
ããã®ã git-pr-release ã§ããã¨ã㨠id:hitode909 ããã¼ã åãã«ããããããã®ããã¯ã£ãæ±ç¨åãããã®ã§ããããã®ä»çµã¯ã¨ã¦ã便å©ã§ããã¾ã社å
ã§ä½¿ããã¦ããã®ã§ãããGitHub ä¸ã®ãã§ãã¯ããã¯ã¹ãå©ç¨ããã®ã¯ãããå°ãã¨ãããããã¾ãã:
- ï¼æè¿ã¯ãªããã©ï¼Firefox ã§æåããããããã¨ããã£ã
- 誰ããã§ãã¯ãããããããªã
- è¤æ°äººã§ãã§ãã¯ã§ããªã
- ãã§ãã¯ãå®äºãããã©ããããªãªã¼ã¹æ å½è ã確èªããå¿ è¦ããã
ãªã©ãªã©ãGitHub ã®æ©è½è¿½å ã§ãã§ãã¯ããã¯ã¹ã¾ãããä»å¾ãªããã«ãªã£ã¦ããå¯è½æ§ã¯ååããã¾ãããããããã¤ã®ãã¨ãã¯å½ç¶ãããã¾ããããã¼ã ã®ããã»ã¹ã®é²æ©ã®ããã«ã¯ãèªåãã¡ã§æ¡å¼µå¯è½ãªä»çµã¿ã«ããå¿ è¦ãããã¾ãã
prchecklist
ããããããã§ãã®ãã§ãã¯ãªã¹ããã¦ã§ãã¢ããªã±ã¼ã·ã§ã³åããã®ã prchecklist ã§ãã
GitHub - motemen/prchecklist: Provides checklists based on release PR
git-pr-release ã¨åæ§ã«ãè¤æ°ã®ãã£ã¼ã㣠PR ãã¾ã¨ã㦠master ã«ãã¼ã¸ããããªãªã¼ã¹ PRãã«å¯¾ãã¦ãã§ãã¯ãªã¹ããçæãã¾ãï¼pull request ã®ä½æã¯ãããªãã¾ããï¼ããã§ãã¯ãªã¹ãã¯ããªãã¸ããªã¸ã®ã¢ã¯ã»ã¹æ¨©éã®ãã GitHub ã¦ã¼ã¶ã«ãã£ã¦ãã§ãã¯ãããè¨å®ã«ãã£ã¦ã¯ Slack ã¸ã®éç¥ãè¡ãã¾ãã
åä½ã大ã¥ãã¿ããã«ã¯ãHeroku ã«ãããã¤ãã¦ãããã¢ãè¦ãã®ãæ©ããã§ãããµã³ãã«ã®ãªãªã¼ã¹ PR ã§ãã https://github.com/motemen/test-repository/pull/2 ã®ãã§ãã¯ãªã¹ãã ãprchecklist ä¸ã§ã¯ https://prchecklist.herokuapp.com/motemen/test-repository/pull/2 ã«ãªãã¾ãï¼GitHub ã«ããã URL ã®ãã¹ã prchecklist ã®ãã¹ã«å¯¾å¿ãã¦ãã¾ãï¼ããã°ã¤ã³å¿ é ã§å³ä¸ãã GitHub ãã°ã¤ã³ããå¿ è¦ãããã¾ãããrepo 権éãå¿ è¦ãªã®ã§ã¡ãã£ã¨å³ããããâ¦â¦ãã¨ãã人ã¯ãã¨ã®èª¬æãã¿ã¦ãæå ã§ç«ã¦ã¦ç¢ºããã¦ã¿ã¦ãã ããã
è¨å®
å ã®ãã¢ã§ã¯ãqa 㨠production ã®2ã¹ãã¼ã¸ãé¸æã§ããããã«ãªã£ã¦ãã¾ããï¼å³ä¸ã®ãããããã¦ã³ï¼ããã®ãããªè¨å®ã¯ããªãã¸ããªç´ä¸ã® prchecklist.yml ã§ã«ã¹ã¿ãã¤ãºã§ãã¾ãã
ä¾ã¯ã¹ãã¼ã¸ã®è¨å®ã®ã¿ã§ãããéç¥ãè¨å®ãããã¨ãã§ãã¦ã以ä¸ã¯ãã§ãã¯ãªã¹ãã®ã¢ã¤ãã ããã§ãã¯ãããå ´åã¨ããã§ãã¯ãªã¹ãããã¹ã¦ãã§ãã¯ãããå ´åã«å¥ã ã® Slack ãã£ã³ãã«ã«éç¥ãããããªä¾ã§ãã
stages: - qa - production notification: events: on_check: - ch_check on_complete: - ch_complete channels: ch_complete: url: https://hooks.slack.com/services/XXXXXXXXX/XXXXXXXXX/XXXXXXXXXXXXXXXXXXXXXXXX ch_check: url: https://hooks.slack.com/services/XXXXXXXXX/XXXXXXXXX/XXXXXXXXXXXXXXXXXXXXXXXX
éç¥ã¯ããããªæãã®ãæ¥ã¾ãã
ãã«ãï¼ãããã¤
https://github.com/motemen/prchecklist/releases ã«ãã«ãæ¸ã¿ã®ãã¤ããªãã¢ãããã¼ããã¦ãã¾ããgo get github.com/motemen/prchecklist/cmd/prchecklist
ã¾ã㯠git clone
ã㦠make
ã§ãåå¾å¯è½ã§ãã
å©ç¨ããã«ã¯ GitHub ã«ã¢ããªã±ã¼ã·ã§ã³ãç»é²ããå¿
è¦ãããã¾ãï¼-github-client-id
㨠-github-client-secret
ï¼ãã¾ãããã§ãã¯æ
å ±ã®ä¿åã«å¥éã¹ãã¬ã¼ã¸ãå¿
è¦ã§ãããã©ã«ãã§ã¯ Bolt ãå©ç¨ãã¾ããã-datasource redis://u:<password>@<host>
ã®ãããªå½¢ã§ Redis ãæå®å¯è½ã§ãã
% prchecklist -h Usage of prchecklist: -behind-proxy prchecklist is behind a reverse proxy (PRCHECKLIST_BEHIND_PROXY) -datasource string database source name (default "bolt:./prchecklist.db") -github-client-id string GitHub client ID (GITHUB_CLIENT_ID) -github-client-secret string GitHub client secret (GITHUB_CLIENT_SECRET) -github-domain string GitHub domain (GITHUB_DOMAIN) (default "github.com") -licenses show license notifications -listen address address to listen (default "localhost:8080") -session-secret string session secret (PRCHECKLIST_SESSION_SECRET) -version show version information
ããã
便å©ãªã¦ã§ãã¢ããªãprchecklist ã®ç´¹ä»ã§ããã
ä»ã®ã¨ãã社å ã§ãé 調ã«ä½¿ããã¦ãã¾ããgit-pr-release ã¨çµã¿åãããã¨ãã便å©ã§ãããã
ãããã« Gitter ã«ã¼ã ãç¨æãã¦ã¿ã¾ãããmake develop
ã§éçºç°å¢ãç°¡åã«ç«ã¡ä¸ããã¾ãããPR ã¦ã§ã«ã«ã ã§ãï¼