Laravel¿ª·¢£ºÔõÑùʹÓÃLaravel ForgeºÍTerraformÖÎÀíЧÀÍÆ÷£¿
laravelÊÇÒ»ÖÖÊ¢ÐеÄphp¿ò¼Ü£¬³£ÓÃÓÚ¹¹½¨webÓ¦ÓóÌÐò¡£ÎªÁËÔËÐÐlaravelÓ¦ÓóÌÐò£¬ÄúÐèÒª¿É¿¿µÄЧÀÍÆ÷À´ÍйÜËü¡£¹ØÓÚ¿ª·¢Ö°Ô±À´Ëµ£¬Ð§ÀÍÆ÷ÍйܺÍÖÎÀí¿ÉÒÔÊÇÒ»Ïî·±ËöµÄʹÃü¡£
Laravel ForgeÊÇÒ»¸ö¿ÉÊÓ»¯µÄЧÀÍÆ÷ÖÎÀí¹¤¾ß£¬¿ÉÒÔ¼ò»¯Ð§ÀÍÆ÷ÉèÖúͰ²ÅÅÁ÷³Ì¡£TerraformÊÇÒ»¸ö»ù´¡ÉèÊ©×Ô¶¯»¯¹¤¾ß£¬¿ÉÒÔ×ÊÖúÄúÒÔ¿ÉÖظ´ºÍ¿ÉÀ©Õ¹µÄ·½·¨½¨ÉèºÍÖÎÀí»ù´¡ÉèÊ©¡£
±¾ÎĽ«ÏÈÈÝÔõÑùÍŽáʹÓÃLaravel ForgeºÍTerraform£¬ÒÔ¼ò»¯Ð§ÀÍÆ÷ÖÎÀíºÍÀ©Õ¹¡£
×°ÖÃLaravel Forge
Ê×ÏÈ£¬ÄúÐèÒªÔÚLaravel ForgeÍøÕ¾ÉÏ×¢²á²¢¶©ÔÄÒ»¸öÍýÏ롣ȻºóÄú¿ÉÒÔÔÚÄúµÄЧÀÍÆ÷ÉÏ×°ÖÃForgeµÄÊðÀí³ÌÐò¡£ÊðÀí³ÌÐòÊÇÒ»¶ÎÔÚЧÀÍÆ÷ÉÏÔËÐеĴúÂ룬ÓÃÓÚÓëForgeЧÀÍÆ÷ͨѶ£¬²¢Ö´ÐÐ×Ô¶¯»¯Ê¹Ãü¡£Äú¿ÉÒÔÔÚForgeÃæ°åÖÐÕÒµ½ÊðÀí³ÌÐò×°ÖúÍÉèÖÃ˵Ã÷¡£ÊðÀí³ÌÐòÊÇͨ¹ýSSH×°Öõģ¬²¢ÇÒÐèÒªÄúÓµÓÐSSH»á¼ûЧÀÍÆ÷µÄȨÏÞ¡£
½¨ÉèЧÀÍÆ÷
Ò»µ©ÊðÀí³ÌÐò×°Öò¢ÉèÖÃÍê³É£¬Äú¿ÉÒÔÔÚForgeÖн¨ÉèЧÀÍÆ÷¡£ÔÚForgeÖн¨ÉèЧÀÍÆ÷ºÜÊÇÈÝÒ×£¬Ö»ÐèҪѡÔñÄúϲ»¶µÄЧÀÍÌṩÉÌ£¬Ñ¡ÔñЧÀÍÆ÷¹æ¸ñ£¬²¢ÇÒÒªÇóForgeÊðÀí³ÌÐòÔÚЧÀÍÆ÷ÉÏ×°ÖÃÐëÒªµÄÈí¼þ°üºÍЧÀÍ¡£·À»ðǽ¡¢SSH»á¼ûºÍÖ¤ÊéÖÎÀíµÈÆäËûÇå¾²ÉèÖÃÒ²¿ÉÒÔÔÚForgeÃæ°åÖÐÉèÖá£
°²ÅÅLaravelÓ¦ÓóÌÐò
µ±Ð§ÀÍÆ÷½¨Éèºó£¬Äú¿ÉÒÔʹÓÃForgeÃæ°åÉÏÌṩµÄ¹¤¾ß½«LaravelÓ¦ÓóÌÐò°²Åŵ½Ð§ÀÍÆ÷ÉÏ¡£Äú¿ÉÒÔÑ¡ÔñʹÓÃGIT»òSFTP½«´úÂëÉÏ´«µ½Ð§ÀÍÆ÷£¬Ò²¿ÉÒÔʹÓÃForgeÌṩµÄ×Ô¶¯°²ÅÅÑ¡Ïî¡£×Ô¶¯°²ÅÅÑ¡ÏîʹÓÃCI/CDÁ÷Ë®Ïß½«´úÂë´ÓÄúµÄGIT´æ´¢¿â°²Åŵ½Ð§ÀÍÆ÷ÉÏ¡£
°²ÅÅTerraform
ÏÖÔÚÄãµÄÓ¦ÓóÌÐòÒѾ°²Åŵ½Ð§ÀÍÆ÷ÉÏÁË£¬Äã¿ÉÒÔ×îÏÈÉèÖÃTerraformÒÔ×Ô¶¯»¯ÄãµÄ»ù´¡ÉèÊ©¡£
×°ÖÃTerraformºÍµ÷ÊÔÇéÐÎ֮ǰ£¬×îºÃÏÈ°Ñ´úÂëÍÆË͵½ÄãµÄGIT¿ÍÕ»£¬×èÖ¹µØÇòɱ¾ø¡£
ÔÚÄúµÄTerraformĿ¼Öн¨Éèmain.tfÎļþ¡£ÔÚÕâ¸öÎļþÖУ¬Äú½«½ç˵ÄúµÄЧÀÍÆ÷ºÍÆäËû»ù´¡¼Ü¹¹×é¼þ¡£
½ç˵µÄÀý×ÓÈçÏ£º
ÔÚÕâ¸öÀý×ÓÖУ¬ÎÒÃǽç˵һ¸öDigitalOceanÌṩµÄЧÀÍÆ÷ºÍÒ»¸ö·À»ðǽ¹æÔò¡£
ÔÚLaravel ForgeÉϽ¨ÉèAPIÃÜÔ¿
Terraform½«Ê¹ÓÃLaravel Forge APIÃÜÔ¿À´ÖÎÀíЧÀÍÆ÷¡£ÔÚForgeÃæ°åÖУ¬Äú¿ÉÒÔ½¨ÉèAPIÃÜÔ¿¡£ÄúÐèÒª½«¸ÃÃÜÔ¿Ìí¼Óµ½ÄúµÄTerraformÉèÖÃÎļþÖУº
±äÁ¿¡°forge_key¡±ÊÇÔÚTerraformÖÐÒýÓÃAPIÃÜÔ¿µÄ±äÁ¿¡£
±àдTerraform¾ç±¾
ÔÚmain.tfÖнç˵ÁË»ù´¡ÉèÊ©µÄÉèÖúó£¬ÄúÐèÒª±àдTerraform½ÅÔÀ´½«ËüÓ¦Óõ½Ð§ÀÍÆ÷ÉÏ¡£
ÒÔÏÂÊÇÒ»¸öʾÀý¾ç±¾£º
´Ë¾ç±¾½«½¨ÉèDigitalOcean Droplet£¬×°Öò¢ÉèÖÃNginxºÍPHP£¬²¢½«·À»ðǽ¹æÔòÓ¦ÓÃÓÚЧÀÍÆ÷¡£
Terraform³õʼ»¯
ҪʹÓÃTerraform±àдµÄ¾ç±¾£¬ÄúÐèÒªÔÚĿ¼ÖÐÔËÐÐterraform initÏÂÁî¡£
´ËÏÂÁÏÂÔغÍ×°ÖÃËùÐèµÄTerraform²å¼þºÍÌṩ³ÌÐò¡£
Terraform°²ÅÅ
ʹÓÃTerraform°²ÅÅЧÀÍÆ÷¼Ü¹¹ºÜÊǼòÆÓ¡£½øÈëTerraformĿ¼£¬²¢Ê¹ÓÃÏÂÁîterraform apply×îÏÈ°²ÅÅ¡£Terraform½«×Ô¶¯´¦Öóͷ£»ù´¡¼Ü¹¹µÄ½¨É裬²¢½«Ð§ÀÍÆ÷ÉèÖÃΪÄúËù½ç˵µÄ·½·¨¡£
¾ÍÊÇÕâÑù£¬ÄúÏÖÔÚÒѾ¿ÉÒÔʹÓÃLaravel ForgeºÍTerraformÀ´¼ò»¯Ð§ÀÍÆ÷ÉèÖúÍÖÎÀíÁË¡£Õâ¸ö×éºÏʹÓÃʱ´ú£¬Äú¿ÉÒÔͨ¹ýLaravel ForgeÀû±ãµØÖÎÀíЧÀÍÆ÷£¬Í¨¹ýTerraform¾ÙÐлù´¡¼Ü¹¹µÄ×Ô¶¯»¯°²ÅÅ¡£Ëü¿ÉÒÔΪÄú½ÚԼʱ¼äºÍ´ó×Ú¾«Éñ×ÊÔ´£¬²¢È·±£ÄúʹÓÿÉÖظ´ºÍ¿ÉÀ©Õ¹µÄ»ù´¡¼Ü¹¹Ö´Ðпª·¢ÊÂÇé¡£
ÒÔÉϾÍÊÇLaravel¿ª·¢£ºÔõÑùʹÓÃLaravel ForgeºÍTerraformÖÎÀíЧÀÍÆ÷£¿µÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡