Dockerã®Peter McKeeã¯ã Uffizzi ã®å ±ååµèšè ã§ããGrayson Adkins(補å責任è )ãšJosh Thurman(éçºè é¢ä¿è²¬ä»»è )ãšCPã¡ãœããã«é¢ããQ&Aãè¡ããŸãã

8æ26æ¥ããã®ã©ã€ãã¹ããªãŒã ããã§ãã¯ããŠãã ãã
Docker ãã«ã: Uffizziã«ãããã«ã¹ã¿ãã¯ã®é£ç¶ãã¬ãã¥ãŒã®æå¹å
(以äžã®ãã©ã³ã¹ã¯ãªããã¯ãæç¢ºããšåœ¢åŒã®ããã«ç·šéãããŠããŸã)
ããŒã¿ãŒã»ããããŒ: çãããã©ã€ãã·ã§ãŒã«æ»ã£ãŠããã®ã¯çŽ æŽãããããšã§ãã ç§ã¯ç¶ç¶çãªãã¬ãã¥ãŒã®ã¢ã€ãã¢ã倧奜ãã§ãããäœãããªããã¡ãã³ã³ã»ããã«å°ããã®ãæããŠãã ããã
ã°ã¬ã€ãœã³ã¢ããã³ã¹: ã¢ã€ãã¢ã®æ žå¿ã¯ãããããæå³ãããã®ã§ã¯ãªãã補åãããè¿
éã«éçºããããšããç§ãã¡èªèº«ã®èª²é¡ããçãŸããŸããã ç§ãã¡ã¯ãåé²ã劚ããŠãã2ã€ã®åé¡ã芳å¯ãç¶ããŸããã
éçºåŽã§ã¯ãå£ããæ©èœãããŒãžããããšãå€ãããŸããâãããŠããã®ãã¹ãŠã®æ··åãããã³ãŒããããããã°ãå°å
¥ãããå ŽæãèŠã€ããŠä¿®æ£ããããšã¯ã鲿©ãæ¬åœã«åŠšããŠããŸããã è¿ããããã±ããã¯åžžã«ç§ãã¡ã劚ããŠããŸããâå€å
žçãª2æ©åé²ã1æ©åŸéã
補ååŽã§ã¯ãç§ã¯ãã¹ãŠã®èšèšäœæ¥ãè¡ã£ãŠããã補åã«åœãå¹ã蟌ãã®ãèŠãŠãèšèš/èŠä»¶ã倿Žããå¿
èŠãããããšã«æ°ã¥ãç¶ããŸããã ãããŠãç§ãããŸã ãããèŠãããšãã§ããŸãã?ããšå°ãããšãã ããã«å¯Ÿããç°¡åãªè§£æ±ºçã¯ãããŸããã§ããã ãããã£ãŠãæ°æ©èœã確èªããŠãã£ãŒãããã¯ãæäŸããã«ã¯ããã©ã³ããããŒãžãããŠQAç°å¢ã«ãããã€ããããŸã§åŸ
ã€å¿
èŠããããŸãã ãã®åŸããã£ãŒãããã¯ããã»ã¹ãéå§ããããã±ãããè¿ããããšããã®ãéçºäžãã®å€§ããªã«ãŒãã«æ»ããããŒãžããŠãããã€ããããäžåºŠç¢ºèªã§ããŸãã éçºãšè£œåã®éã«ã¯ããŸãã«ã倧ããªã®ã£ããããããŸããã
åœæããŠãã£ããã£ã®è£œåã®æ¹åæ§ã¯ãéçºè
ãã¢ããªãã¯ã©ãŠãã«ç°¡åã«ãããã€ã§ããããã«ããæ¹åã«é²ãã§ããŸããããåãããã»ã¹ã§ãã¡ã€ã³ã®ããŒãã£ã³ãŒãããšããŸã èŠãããšãã§ããŸãããã®åé¡ãä¿®æ£ã§ããããšã«æ°ä»ãããšãããã«ã¹ã¿ãã¯ããã³ãã€ã¯ããµãŒãã¹ã¢ããªã±ãŒã·ã§ã³çšã®ãã¬ãã¥ãŒãšã³ãžã³ãšããŠæ§ç¯ãããã®ãåå©çšã§ããããšã«æ°ã¥ããŸããã
ãžã§ã·ã¥ã»ãµãŒãã³: ããã«çŠç¹ãåœãŠãä»ã®2ã€ã®å
šäœåã®èŠçŽ ããããŸãã 誰ããNetlifyãVercelã®ãããªéçãªãµã€ããã©ãããã©ãŒã ã«ããããã³ããšã³ããã¬ãã¥ãŒããŒã«ã®æåãèŠãŠããŸããã 圌ãã®æåã¯ããã¬ãã¥ãŒãç°¡åã«ããããšã¯ããŒã ã«ãšã£ãŠéåžžã«äŸ¡å€ãããããšãæããŠãããŸããããããè€éãªã¢ããªã±ãŒã·ã§ã³ã®æŠå¿µãšãµããŒããã¯ãããžãŒãå®éã«åœ¢åŒåãã人ã¯èª°ãããŸããã§ããã ãã®ããããã¬ãã¥ãŒã®æŠå¿µã¯ããã³ããšã³ãã ãã§ãªããæ§ç¯ãããã¹ãŠã®ãã®ã«é©çšããå¿
èŠãããããšã«æ°ä»ããŸããã
ãã1ã€ã®äž»ãªèŠå ã¯ããã€ã¯ããµãŒãã¹ã¢ãŒããã¯ãã£ãšãªã¢ãŒãã¯ãŒã¯ã®è€éãããç¹ã«ããŒã ãšã¢ããªãšã³ã·ã¹ãã ã®èŠæš¡ãšè€éããå¢ãã«ã€ããŠãã³ã©ãã¬ãŒã·ã§ã³ãã©ã®ããã«å°é£ã«ããŠãããã芳å¯ããããšã§ãã ãããã£ãŠãç¶ç¶çãã¬ãã¥ãŒã®ã³ã³ã»ããã¯ãæ©æãã€é »ç¹ã«ã³ã©ãã¬ãŒã·ã§ã³ããéã®éå£ãåãé€ãããšã§ãããæ©èœãã³ãŒãã£ã³ã°ããéçºè
ãšãããã¬ãã¥ãŒãŸãã¯æ¿èªããããŒã ã¡ã³ããŒãšã®éã®ãã¹ãŠã®éå£ãåãé€ãããšã§ãã Â
倧ãŸãã«èšããšãç¶ç¶çãã¬ãã¥ãŒã¯ç¶ç¶çãªã³ã©ãã¬ãŒã·ã§ã³ã«å¹æµãããããã³ã©ãã¬ãŒã·ã§ã³æåãä¿é²ããããã»ã¹ãšãã¯ãããžãŒããããããŒã ã®é床ããµã€ã¯ã«ã¿ã€ã ããªãŒãã¿ã€ã ãã³ãŒãã®å®å®æ§ã倧å¹
ã«åäžãå§ããŸãã
ããŒã¿ãŒã»ããããŒ: CP宣èšãèªã¿ãŸãã( www.cpmanifesto.org / https://github.com/UffizziCloud/Continuous_Previews_Manifesto )CPã®ååãæŠèª¬ããŠããŸããããããæžããŠå
¬éãããã£ããã¯äœã§ãã?
ãžã§ã·ã¥ã»ãµãŒãã³: CPãã©ã®ããŒã«ããµãŒãã¹ãããã¯ããã«å€§ããããšã¯æããã§ãããããŒã«ã補åãšæŠå¿µãæ··åããããããšãèªèããŠããŸãã ããã§ãã¢ãžã£ã€ã«ãããã§ã¹ããããã³ããåŸãŠãCPã®æŠå¿µãšãã®æ ¹åºã«ããååã¯ã誰ããããªã?ãããå©çãåŸãŠçè§£ããããã«ããã«ããå¿
èŠããããšå€æããŸããã
ã°ã¬ã€ãœã³ã¢ããã³ã¹: ã¢ãžã£ã€ã« ãããã§ã¹ã ã¯ãããŒã ãšããŠãœãããŠã§ã¢ãæ§ç¯ããæ¹æ³ã®ç®¡çããã¥ã¡ã³ãã§ãããCPã¯ã¢ãžã£ã€ã«ã®åäžã«ãã¹ãããããã¹ããã©ã¯ãã£ã¹ã§ãããšèããŠããŸãã
ããŒã¿ãŒã»ããããŒ: CPãããã§ã¹ããèªã¿ãããã«ã€ããŠçãããšæ°å話ããŠãCPãæŠç¥ã¬ãã«ã§äœã§ããããããçè§£ããŠããŸãããæŠè¡ã¬ãã«ã«ã€ããŠæããŠãã ãããããã¯æ¥åžžçã«ããŒã ã«ã©ã®ããã«åœ±é¿ããŸãã?
ã°ã¬ã€ãœã³ã¢ããã³ã¹: ã»ãšãã©ã®ããŒã ã¯ãèšèšãéçºãçµ±åããã¹ããããã³é
ä¿¡ã®ã¢ãžã£ã€ã«ã«ãŒãã«æ²¿ã£ãåæ§ã®éçºã¯ãŒã¯ãããŒã«åŸããŸãã ãã®ããã»ã¹ã«åŸããšãéçºè
ã¯ãã±ãããåãåãããã©ã³ãããã§ãã¯ã¢ãŠãããŠéçºãéå§ããŸãã èŠä»¶ãæºãããŠãããšæã£ãããPRãéããŠãã±ãããããŒãžããæºåãã§ããŠããããšã瀺ããŸãã Â
ãã®ããã»ã¹ã«ãããŸããŸãªæ©èœã«åãçµãã§ããéçºè ã®æ°ãæãããšãããŒãžããæºåãã§ããŠããæ©èœãXåã«ãªããŸãã ããééã§CI(ç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³)ãå®è¡ãããšãQAç°å¢ã«æ°æ©èœã®ããããäœæããããã®ããã»ã¹ã§åããŠãæ©èœãã³ãŒãã£ã³ã°ããéçºè 以å€ã®èª°ããã¬ãã¥ãŒããæºåãæŽããŸãã Â
ãã®ããã»ã¹ã®åé¡ã¯ãã²ãŒã ã®QAãé ãããããšã§ãã æ©èœãããŒãžãããŠãããã€ããããšãåé¡ãæ©æã«çºèŠããŠæ©èœãã©ã³ãã¬ãã«ã§å¯ŸåŠããã®ã§ã¯ãªãããã°ãèŠã€ããŠä¿®æ£ããã®ã10åé£ãããªããŸãã
éçºè ãCPã¡ãœããã䜿çšããŠæ°ããã³ãŒããããã·ã¥ãããšãããŒãžããããšãªãQAåã§ããéçºè ãGitã¯ãŒã¯ãããŒããã³ã³ããã¹ããåãæ¿ããå¿ èŠããããŸããã ãã¬ãã¥ãŒã«ãã£ãŠã³ã©ãã¬ãŒã·ã§ã³ã®éå£ãåãé€ãããéçº - ãã¬ãã¥ãŒãéçº - ãã¬ãã¥ãŒã®å埩ããã»ã¹ãããéãè¡ãããéçºããã»ã¹ã®æ©ã段éã§ãè¡ãããããã«ãªããŸããã Â
ããæåéãã®æå³ã§ã¯ãåŸæ¥ã¯ã¢ããªã³æ©èœãšããŠæ©èœããŠããéçºããã»ã¹ã«QAãå°å
¥ããŠããŸãã
ãžã§ã·ã¥ã»ãµãŒãã³: éçºããŒã ã補åããŒã ã§ã¯ãªããäžè¬çã«ããŒã ãšèšã£ãŠããã ããŠããããã§ãã ã»ãšãã©ã®çµç¹ãéçºããŒã ãšè£œåããŒã ã«ã¿ã¹ã¯ç·šæãããŠããã®ãç®ã«ããŸããããã®æ§é ã¯ã³ã©ãã¬ãŒã·ã§ã³ã®åŠšãã«ãªãå¯èœæ§ããããšæããŸãã CPã¯ã補åã®æåã«è²¢ç®ãããã¹ãŠã®äººãæå³ãããããŒã ãã®ããã»ã¹ã§ãã
ããŒã¿ãŒã»ããããŒ:  çããã¯ã³ã©ãã¬ãŒã·ã§ã³ã®éå£ã«ã€ããŠèšåããŸããããããŒã ãçŸåšçŽé¢ããŠããéå£ã¯æ£ç¢ºã«ã¯äœã§ãã?
ãžã§ã·ã¥ã»ãµãŒãã³: ãã質åã ãã¹ãã®ããã«ããŒã ã®å
šå¡ãã¢ããªã±ãŒã·ã§ã³ã«ç°¡åã«ã¢ã¯ã»ã¹ã§ããããã«ããæãã¯ãªãŒã³ãªæ¹æ³ã¯ãã¢ããªã±ãŒã·ã§ã³ãã¯ã©ãŠãã«ãããã€ããå®å
šãª URL ãšã³ããã€ã³ããä»ããŠå°éã§ããããã«ããããšã§ãã ããã§åŒ·èª¿ããŠããããã®ã¯ããšã³ããã€ã³ãã¯ãäŸãšããŠããã«ã¹ã¿ãã¯ã¢ããªã±ãŒã·ã§ã³ããAPIãããã³ããšã³ãèŠçŽ ãªã©ã®åã
ã®ã³ã³ããŒãã³ãããã¹ãããããšã§ãã Â
ã¢ããªã±ãŒã·ã§ã³ã®ããŒãžã§ã³ããããã€ããã«ã¯ããã¹ãã£ã³ã°ç°å¢ãå¿
èŠã§ãããç¹ã«è€éãªã¢ããªã±ãŒã·ã§ã³ããã€ã¯ããµãŒãã¹ããŒã¹ã®ã¢ããªã±ãŒã·ã§ã³ã®å Žåããã®èšå®ãè¡ãã®ã¯ç°¡åãªäœæ¥ã§ã¯ãããŸããã ã»ãšãã©ã®ããŒã ã«ã¯ããã¹ããQAãã¹ããŒãžã³ã°ãéçšãªã©ã®æ°žç¶çãªç°å¢ããããDevOps ããŒã ãšéçšããŒã ã¡ã³ããŒã«ãã£ãŠç¶æãããŸãã 1 ã€ã®æ©èœãã©ã³ãããã¹ãããããã ãã«æ°ããç°å¢ãã»ããã¢ããããããšã¯ã倧ããªéå£ã§ãã
CP ã¡ãœããã¯ãç®çäž»å°ã®ã©ã€ããµã€ã¯ã«ãæã€ãªã³ããã³ããã¹ãã£ã³ã°ç°å¢ãåŒã³åºããŸãã ãããã¯æ©èœãã©ã³ãããã¬ãã¥ãŒããŠãã¹ãããããã«ç«ã¡äžãã£ãŠããããã®æ©èœãããŒãžãããåŸã«åé€ãããŸãã ããããã¯ãããžãŒã®åºçªã§ãããããããŠãã£ããã£ã®åŸæãªããšã§ãã Uffizziã¯ããã¬ãã¥ãŒã容æã«ããããªã·ãŒããŒã¹ã®ããªã¬ãŒã䜿çšããŠãªã³ããã³ããã¹ãã£ã³ã°ç°å¢ãå®å
šã«èªååããæ¢è£œã®ãœãªã¥ãŒã·ã§ã³ãããŒã ã«æäŸããŸãã ãã¹ãç°å¢ã¯ãå¿
èŠãªãšãã«å¿
èŠãªæéã ãçšæã§ããŸãã
ãŸãããã®æ¹æ³ã§ã¯ãæ°žç¶çãªQAãŸãã¯ãã¹ãç°å¢ãããŠã³ããã»ãšãã©ã®æ¥ããã®ä¿®æ£ã«è²»ãããªããã°ãªããªãå Žåã«ãåäžé害ç¹ãåé€ã§ããããšãä»ãå ããŸããÂ
ã°ã¬ã€ãœã³ã¢ããã³ã¹: ããäžã€ã®éå£ã¯ãDevOpsã®å°éç¥èã§ãã äžäŸãšããŠã20 +è¡ã®Docker Composeãã¡ã€ã«ãã1000 +è¡ã®YAMLãã¡ã€ã«ã«ç§»è¡ãããšãè€éãã倧å¹
ã«åäžããŸãã DevOpsã®å°éç¥èã¯ãå€ãã®å Žåãçµç¹å
ã®ããã«ããã¯ã§ãããèªååããããœãªã¥ãŒã·ã§ã³ã§ãããã«å¯ŸããèŠæ±ãæžããããšãã§ããã°ãããã¯å€§ããªã¡ãªããã§ãã
DevOpsã®ãã¹ããã©ã¯ãã£ã¹ã«åŸãããã«ãæ§æçã«ã¯docker-compose.yml(ããŒãžã§ã³3.9ã«åºã¥ã)ãšåãã§ãããããã€ãã®è¿œå ã®å
¥åãããuffizzi-compose.ymlãä»ããŠãã³ãŒããšããŠã®ã€ã³ãã©ã¹ãã©ã¯ãã£ãäžå¿ã«è£œåãéäžãããŸãããÂ
ããããã¢ã¯ã»ã·ããªãã£ãåäžãããããšãç®çãšããGUIãšãã³ãã¬ãŒãã®æŠå¿µããããŸã-CPã®æŠå¿µã¯ãããããèŠæš¡ãšã¹ãã«ã¬ãã«ã®ããŒã ã«å©çããããããã®ã§ããããã®ãããªå Žåã«DevOpsã®åã®ä¹æ°ãšããŠæ©èœããããšèããŠããŸãã
ããŒã¿ãŒã»ããããŒ:  éå£ãšããã°ãããŒã ãCPææ³ãæ¡çšããéã®æå€§ã®ããŒãã«ã¯äœã ãšæããŸãã?
ãžã§ã·ã¥ã»ãµãŒãã³: é¢éžããæ¹æ³ã¯ãå®éã«å¢æ®ãå§ããã»ã©äœ¿ãããããã¯ãããžãŒãšçµã¿åãããå¿
èŠããããŸãã NetlifyãšVercelãè¡ã£ãããšãåã³åç
§ããããã«ãããã³ããšã³ããã¬ãã¥ãŒãããæ°å¹Žã§å®éã«æ®åããã»ã©ã·ã³ãã«ã«ããŸããã Â
ãã¡ãããããã¯ãã«ã¹ã¿ãã¯ããã³ãã€ã¯ããµãŒãã¹ã¢ããªã±ãŒã·ã§ã³ã®ã³ã³ããã¹ãã§Uffizziã§ããããšããŠããããšã§ãã ãã¹ãã£ã³ã°ç°å¢ãšå±éã®ç®¡çã®è€éããæœè±¡åããããšã§ãCPã®å®è£
ã容æã«ããéåžžã«ç¹æ®ãªããŒã«ãæäŸããŠããŸãã
ã°ã¬ã€ãœã³ã¢ããã³ã¹:  ããäžã€ã®åé¡ã¯ããååã«è¯ãããšããæ
£æ§ãå
æããããšã ãšæããŸãâ誰ããä»ä»äºãæãéããŠããã®ã«ããªã圌ãã¯ããžãã¹ã®æ°ããæ¹æ³ãå¿
èŠãšããã®ã§ãã?
ããã¯ããã¹ãŠã®æ°ããããã»ã¹ãšãã¯ãããžãŒã§åãããŒãã«ã§ãã ã¢ãžã£ã€ã«ã®åã¯ããŠã©ãŒã¿ãŒãã©ãŒã«ã§ååã§ããã ã³ã³ãããªãŒã±ã¹ãã¬ãŒã·ã§ã³ã®åã¯ãVM(ä»®æ³ãã·ã³)ã§ååã§ããã ã§ããããã¢ãŒãªãŒã¢ããã¿ãŒæéãçµãŠãæçµçã«ã¯ç«¶äºäžã®åªäœæ§ããçµç¹ãCPãå®è£
ããå¿
èŠãããã»ã©ããŸãã¯åãæ®ããããªã¹ã¯ãããããã«ãªããšæããŸããÂ
ãããïŒÂ ãŠãã£ãã㣠ããæåŸ
ã§ããããšãç· ãããããšããããŒããããã«ã¯äœããããŸãã?Â
ã°ã¬ã€ãœã³ã¢ããã³ã¹: ããã€ãã®ãšããµã€ãã£ã³ã°ãªæ°æ©èœãå±éãããŠããŸãã çæçã«ã¯ãç»åã¬ãžã¹ããªãšã³ã©ãã¬ãŒã·ã§ã³ãœãããŠã§ã¢ã®äž¡æ¹ãšã®çµ±åãæ¡å€§ããŠããŸãã çŸåšããã¹ãŠã®äž»èŠãªã¯ã©ãŠããããã€ããŒ(AWSãAzureãGCP)ã§ã€ã¡ãŒãžã¬ãžã¹ããªãšã®çµ±åãå±éããŠããŸãã ãã®åŸãä»åŸæ°ãæã®éã«ããªããžããªã« Gitlab ãš Bitbucket ã远å ããã³ã©ãã¬ãŒã·ã§ã³åŽã« SlackãJiraãMicrosoft TeamsãAsana ã远å ããäºå®ã§ãã
ããŒã¿ãŒã»ããããŒ: ããŠãããã¯çŽ æŽãããã£ãã§ããç§ã¯ããªãã®æéãšããªãã®ãœãŒããªãŒããŒã·ããã«æ¬åœã«æè¬ããŠããŸãã ãããçµç¹ã®æ§ç¯ãšãã¹ãã®æ¹æ³ã«ã©ã®ããã«ã²ãŒã ãã§ã³ãžã£ãŒã§ããããããããŸãã CPãšUffizziãéçºã³ãã¥ããã£ã«ã©ã®ããã«å©çãããããç¶ããããæ¥œãã¿ã«ããŠããŸãã Â


Dockerã«é¢ããã質åãããããŸããããTwitterã§ãæ°è»œã«é£çµ¡ãã ã³ãã¥ããã£ã¹ã©ã㯠㫠@pmckee ããŠãåå ãã ããã
ãŠãã£ããã£ã«é¢ããã質åã¯ãTwitterã§ãæ°è»œã«ãé£çµ¡ @uffizzi_ ããã ãã ãŠãã£ããã£ã®ãŠãŒã¶ãŒ ã³ãã¥ããã£ã®ã¹ã©ãã¯ã§ãããžã§ã·ã¥ã»ãµãŒãã³(@JoshThurman19)ãŸãã¯ã°ã¬ã€ãœã³ã»ã¢ããã³ã¹(@GraysonAdkins)ã«ãåå ãã ããã
CPãããã§ã¹ãã¯ãã¡ãããã芧ããã ããŸã www.cpmanifesto.orgÂ
ãããŠãããã®ãªãŒãã³ãœãŒã¹ãªããžããª- UffizziCloud / Continuous_Previews_Manifesto:ãœãŒã¹: https://cpmanifesto.org