{"id":29949,"date":"2021-12-15T18:11:05","date_gmt":"2021-12-15T11:11:05","guid":{"rendered":"https:\/\/docs.ruk-com.cloud\/capistrano"},"modified":"2023-02-26T23:00:52","modified_gmt":"2023-02-26T16:00:52","slug":"capistrano","status":"publish","type":"post","link":"https:\/\/docs.ruk-com.cloud\/lo-la\/capistrano","title":{"rendered":"Capistrano"},"content":{"rendered":"\n<p>Capistrano \u0ec0\u0e9b\u0eb1\u0e99\u0ec0\u0e84\u0eb7\u0ec8\u0ead\u0e87\u0ea1\u0eb7 open-source \u0eaa\u0ecd\u0eb2\u0ea5\u0eb1\u0e9a\u0e81\u0eb2\u0e99\u0ea3\u0eb1\u0e99\u0eaa\u0eb0\u0e84\u0ea3\u0eb4\u0e9a\u0ec3\u0e99\u0ec0\u0e8a\u0eb5\u0e9a\u0ec0\u0ea7\u0eb5\u0ec4\u0ea5\u0e8d\u0eb0\u0ec4\u0e81 \u0ec2\u0e94\u0e8d\u0e97\u0ebb\u0ec8\u0ea7\u0ec4\u0e9b\u0e88\u0eb0\u0ec3\u0e8a\u0ec9\u0eaa\u0ecd\u0eb2\u0ea5\u0eb1\u0e9a deploy \u0ec1\u0ead\u0eb1\u0e9a\u0e9c\u0ec8\u0eb2\u0e99\u0e81\u0eb2\u0e99\u0ec0\u0e8a\u0eb7\u0ec8\u0ead\u0ea1\u0e95\u0ecd\u0ec8 SSH <meta charset=\"utf-8\"\/>Capistrano \u0e82\u0ebd\u0e99\u0e94\u0ec9\u0ea7\u0e8d Ruby \u0ec0\u0e9b\u0eb1\u0e99\u0eaa\u0ec8\u0ea7\u0e99\u0e9b\u0eb0\u0e81\u0ead\u0e9a\u0e82\u0ead\u0e87 Ruby on Rails framework \u0e94\u0eb1\u0ec8\u0e87\u0e99\u0eb1\u0ec9\u0edc\u0e88\u0eb6\u0ec8\u0e87\u0ec3\u0e8a\u0ec9\u0e81\u0eb1\u0e99\u0ea2\u0ec8\u0eb2\u0e87\u0ec1\u0e9e\u0ec8\u0eab\u0ebc\u0eb2\u0e8d\u0eaa\u0ecd\u0eb2\u0ea5\u0eb1\u0e9a\u0e81\u0eb2\u0e99 deploy \u0ec1\u0ead\u0eb1\u0e9a Ruby \u0ea2\u0ec8\u0eb2\u0e87\u0ec3\u0e94\u0e81\u0ecd\u0e95\u0eb2\u0ea1 \u0ea1\u0eb1\u0e99\u0eaa\u0eb2\u0ea1\u0eb2\u0e94\u0ec0\u0eae\u0eb1\u0e94\u0ea7\u0ebd\u0e81\u0eae\u0ec8\u0ea7\u0ea1\u0e81\u0eb1\u0e99\u0e81\u0eb1\u0e9a\u0e9e\u0eb2\u0eaa\u0eb2\u0ec2\u0e9b\u0ea3\u0ec1\u0e81\u0ea3\u0ea1\u0ead\u0eb7\u0ec8\u0e99\u0ec6\u0ec4\u0e94\u0ec9\u0ea2\u0ec8\u0eb2\u0e87\u0e87\u0ec8\u0eb2\u0e8d\u0e94\u0eb2\u0e8d\u0ec0\u0e8a\u0eb1\u0ec8\u0e99 php<\/p>\n\n<p>\u0ec3\u0e99\u0e9a\u0ebb\u0e94\u0e84\u0ea7\u0eb2\u0ea1\u0e99\u0eb5\u0ec9\u0ea1\u0eb2\u0ec0\u0e9a\u0eb4\u0ec8\u0e87\u0ea7\u0eb4\u0e97\u0eb5\u0e81\u0eb2\u0e99 deploy \u0ec1\u0ead\u0eb1\u0e9a\u0e9e\u0ea5\u0eb4\u0ec0\u0e84\u0e8a\u0eb1\u0e99 php \u0e88\u0eb2\u0e81\u0ec4\u0ea5\u0e8d\u0eb0\u0ec4\u0e81\u0e9c\u0ec8\u0eb2\u0e99\u0ec0\u0e84\u0eb7\u0ec8\u0ead\u0e87\u0ea1\u0eb7 Capistrano \u0ec3\u0e99\u0e82\u0eb1\u0ec9\u0e99\u0e95\u0ead\u0e99\u0e97\u0ecd\u0eb2\u0ead\u0eb4\u0e94\u0e97\u0ec8\u0eb2\u0e99\u0e88\u0eb0\u0e95\u0ec9\u0ead\u0e87:<\/p>\n\n<ul class=\"wp-block-list\"><li>\u0eaa\u0ec9\u0eb2\u0e87 PHP environment \u0e94\u0ec9\u0ea7\u0e8d Apache \u0ec1\u0ead\u0eb1\u0e9a\u0e9e\u0ea5\u0eb4\u0ec0\u0e84\u0e8a\u0eb1\u0e99\u0ec0\u0e8a\u0eb5\u0e9a\u0ec0\u0ea7\u0eb5<\/li><li><a href=\"https:\/\/docs.ruk-com.cloud\/generate-ssh-key\">\u0e81\u0eb2\u0e99\u0eaa\u0ec9\u0eb2\u0e87 SSH public key<\/a> \u0ec1\u0ea5\u0eb0<a href=\"https:\/\/docs.ruk-com.cloud\/add-ssh-key\">\u0ec0\u0e9e\u0eb5\u0ec8\u0ea1\u0ec4\u0e9b\u0e97\u0eb5\u0ec8 Huk-Com Cloud<\/a> \u0ec1\u0e94\u0e8a\u0e9a\u0ead\u0e94<\/li><li>GIT repository \u0ec0\u0e9e\u0eb7\u0ec8\u0ead\u0ec0\u0e81\u0eb1\u0e9a\u0ec1\u0ead\u0eb1\u0e9a\u0e9e\u0ea5\u0eb4\u0ec0\u0e84\u0e8a\u0eb1\u0e99 php \u0e97\u0eb5\u0ec8\u0e97\u0ec8\u0eb2\u0e99\u0e95\u0ec9\u0ead\u0e87\u0e81\u0eb2\u0e99 deploy (\u0eaa\u0ecd\u0eb2\u0ea5\u0eb1\u0e9a\u0e95\u0ead\u0e99\u0e99\u0eb5\u0ec9\u0ec0\u0e84\u0eb7\u0ec8\u0ead\u0e87\u0ea1\u0eb7 Capistrano 3 \u0eae\u0ead\u0e87\u0eae\u0eb1\u0e9a\u0e9b\u0eb0\u0ec0\u0e9e\u0e94 GIT VCS \u0ec0\u0e97\u0ebb\u0ec8\u0eb2\u0e99\u0eb1\u0ec9\u0e99)<\/li><li>\u0e84\u0eb1\u0e94\u0ea5\u0ead\u0e81\u0ec2\u0e9b\u0ea3\u0ec0\u0e88\u0eb1\u0e81\u0e99\u0eb5\u0ec9\u0ec4\u0ea7\u0ec9\u0e97\u0eb5\u0ec8\u0ec0\u0e84\u0eb7\u0ec8\u0ead\u0e87\u0e82\u0ead\u0e87\u0e97\u0ec8\u0eb2\u0e99<\/li><\/ul>\n<div style=\"height:24px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<p class=\"box-note\"><strong>\u0edd\u0eb2\u0e8d\u0ec0\u0eab\u0e94:<\/strong> \u0e84\u0ecd\u0eb2\u0eaa\u0eb1\u0ec8\u0e87\u0e94\u0ec9\u0eb2\u0e99\u0ea5\u0eb8\u0ec8\u0ea1\u0e84\u0ea7\u0e99\u0e94\u0ecd\u0eb2\u0ec0\u0e99\u0eb5\u0e99\u0e81\u0eb2\u0e99\u0e81\u0eb1\u0e9a\u0ec0\u0e84\u0eb7\u0ec8\u0ead\u0e87\u0e82\u0ead\u0e87\u0e97\u0ec8\u0eb2\u0e99\u0ec0\u0e8a\u0eb1\u0ec8\u0e99\u0e94\u0ebd\u0ea7\u0e81\u0eb1\u0e9a\u0e97\u0eb5\u0ec8\u0e97\u0ec8\u0eb2\u0e99\u0ec3\u0e8a\u0ec9\u0ec3\u0e99\u0ea5\u0eb0\u0eab\u0ea7\u0ec8\u0eb2\u0e87\u0e81\u0eb2\u0e99\u0eaa\u0ec9\u0eb2\u0e87\u0e84\u0eb9\u0ec8\u0e84\u0eb5 SSH \u0ec0\u0e9e\u0eb7\u0ec8\u0ead\u0eab\u0ebc\u0eb5\u0e81\u0ea5\u0ec8\u0ebd\u0e87\u0e82\u0ecd\u0ec9\u0e9c\u0eb4\u0e94\u0e9e\u0eb2\u0e94\u0ec3\u0e99\u0e81\u0eb2\u0e99\u0ead\u0eb0\u0e99\u0eb8\u0e8d\u0eb2\u0e94\/\u0e81\u0eb2\u0e99\u0ec0\u0e8a\u0eb7\u0ec8\u0ead\u0ea1\u0e95\u0ecd\u0ec8<\/p>\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_55 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title \" >Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\" role=\"button\"><label for=\"item-69dc129f75230\" ><span class=\"\"><span style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/label><input aria-label=\"Toggle\" aria-label=\"item-69dc129f75230\"  type=\"checkbox\" id=\"item-69dc129f75230\"><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/docs.ruk-com.cloud\/lo-la\/capistrano\/#%E0%BA%81%E0%BA%B2%E0%BA%99%E0%BA%95%E0%BA%B4%E0%BA%94%E0%BA%95%E0%BA%B1%E0%BB%89%E0%BA%87_Capistrano\" title=\"\u0e81\u0eb2\u0e99\u0e95\u0eb4\u0e94\u0e95\u0eb1\u0ec9\u0e87 Capistrano\">\u0e81\u0eb2\u0e99\u0e95\u0eb4\u0e94\u0e95\u0eb1\u0ec9\u0e87 Capistrano<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/docs.ruk-com.cloud\/lo-la\/capistrano\/#Capify_%E0%BB%81%E0%BA%AD%E0%BA%B1%E0%BA%9A%E0%BA%9E%E0%BA%BC%E0%BA%B4%E0%BB%80%E0%BA%84%E0%BA%8A%E0%BA%B1%E0%BA%99%E0%BA%82%E0%BA%AD%E0%BA%87%E0%BA%97%E0%BB%88%E0%BA%B2%E0%BA%99\" title=\"Capify \u0ec1\u0ead\u0eb1\u0e9a\u0e9e\u0ebc\u0eb4\u0ec0\u0e84\u0e8a\u0eb1\u0e99\u0e82\u0ead\u0e87\u0e97\u0ec8\u0eb2\u0e99\">Capify \u0ec1\u0ead\u0eb1\u0e9a\u0e9e\u0ebc\u0eb4\u0ec0\u0e84\u0e8a\u0eb1\u0e99\u0e82\u0ead\u0e87\u0e97\u0ec8\u0eb2\u0e99<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/docs.ruk-com.cloud\/lo-la\/capistrano\/#%E0%BA%95%E0%BA%B1%E0%BB%89%E0%BA%87%E0%BA%84%E0%BB%88%E0%BA%B2%E0%BA%81%E0%BA%B2%E0%BA%99%E0%BA%81%E0%BB%8D%E0%BA%B2%E0%BA%99%E0%BA%BB%E0%BA%94%E0%BB%80%E0%BA%AD%E0%BA%87\" title=\"\u0e95\u0eb1\u0ec9\u0e87\u0e84\u0ec8\u0eb2\u0e81\u0eb2\u0e99\u0e81\u0ecd\u0eb2\u0e99\u0ebb\u0e94\u0ec0\u0ead\u0e87\">\u0e95\u0eb1\u0ec9\u0e87\u0e84\u0ec8\u0eb2\u0e81\u0eb2\u0e99\u0e81\u0ecd\u0eb2\u0e99\u0ebb\u0e94\u0ec0\u0ead\u0e87<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/docs.ruk-com.cloud\/lo-la\/capistrano\/#%E0%BA%81%E0%BB%8D%E0%BA%B2%E0%BA%99%E0%BA%BB%E0%BA%94%E0%BA%84%E0%BB%88%E0%BA%B2_SSH_Agent\" title=\"\u0e81\u0ecd\u0eb2\u0e99\u0ebb\u0e94\u0e84\u0ec8\u0eb2 SSH Agent\">\u0e81\u0ecd\u0eb2\u0e99\u0ebb\u0e94\u0e84\u0ec8\u0eb2 SSH Agent<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/docs.ruk-com.cloud\/lo-la\/capistrano\/#%E0%BA%81%E0%BA%A7%E0%BA%94%E0%BA%AA%E0%BA%AD%E0%BA%9A%E0%BA%81%E0%BA%B2%E0%BA%99%E0%BA%81%E0%BB%8D%E0%BA%B2%E0%BA%99%E0%BA%BB%E0%BA%94%E0%BA%84%E0%BB%88%E0%BA%B2\" title=\"\u0e81\u0ea7\u0e94\u0eaa\u0ead\u0e9a\u0e81\u0eb2\u0e99\u0e81\u0ecd\u0eb2\u0e99\u0ebb\u0e94\u0e84\u0ec8\u0eb2\">\u0e81\u0ea7\u0e94\u0eaa\u0ead\u0e9a\u0e81\u0eb2\u0e99\u0e81\u0ecd\u0eb2\u0e99\u0ebb\u0e94\u0e84\u0ec8\u0eb2<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/docs.ruk-com.cloud\/lo-la\/capistrano\/#Deploy_Application\" title=\"Deploy Application\">Deploy Application<\/a><\/li><\/ul><\/nav><\/div>\n<h4 class=\"wp-block-heading\" id=\"&#xE01;&#xE32;&#xE23;&#xE15;-&#xE14;&#xE15;-&#xE07;-capistrano\"><span class=\"ez-toc-section\" id=\"%E0%BA%81%E0%BA%B2%E0%BA%99%E0%BA%95%E0%BA%B4%E0%BA%94%E0%BA%95%E0%BA%B1%E0%BB%89%E0%BA%87_Capistrano\"><\/span>\u0e81\u0eb2\u0e99\u0e95\u0eb4\u0e94\u0e95\u0eb1\u0ec9\u0e87 Capistrano<span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n<p>1. \u0e81\u0eb2\u0e99\u0ec3\u0e8a\u0ec9 Capistrano \u0e97\u0ec8\u0eb2\u0e99\u0e95\u0ec9\u0ead\u0e87\u0e95\u0eb4\u0e94\u0e95\u0eb1\u0ec9\u0e87 Ruby \u0e97\u0eb5\u0ec8\u0ec0\u0e84\u0eb7\u0ec8\u0ead\u0e87\u0e84\u0ead\u0ea1\u0e9e\u0eb4\u0ea7\u0ec0\u0e95\u0eb5\u0e82\u0ead\u0e87\u0e97\u0ec8\u0eb2\u0e99\u0ec2\u0e94\u0e8d\u0ea3\u0eb1\u0e99\u0e84\u0ecd\u0eb2\u0eaa\u0eb1\u0ec8\u0e87\u0e99\u0eb5\u0ec9:<\/p>\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>apt-get install ruby rubygems<\/code><\/pre><\/div>\n\n<p>2. \u0e88\u0eb2\u0e81\u0e99\u0eb1\u0ec9\u0e99\u0e95\u0eb4\u0e94\u0e95\u0eb1\u0ec9\u0e87\u0ec0\u0e84\u0eb7\u0ec8\u0ead\u0e87\u0ea1\u0eb7 Capistrano \u0ec2\u0e94\u0e8d\u0e9b\u0ec9\u0ead\u0e99\u0e84\u0ecd\u0eb2\u0eaa\u0eb1\u0ec8\u0e87\u0e95\u0ecd\u0ec8\u0ec4\u0e9b\u0e99\u0eb5\u0ec9:<\/p>\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>gem install capistrano<\/code><\/pre><\/div>\n\n<p>3. \u0e81\u0ea7\u0e94\u0eaa\u0ead\u0e9a\u0ec3\u0eab\u0ec9\u0ec1\u0e99\u0ec8\u0ec3\u0e88\u0ea7\u0ec8\u0eb2\u0e97\u0ec8\u0eb2\u0e99\u0ea1\u0eb5\u0ec2\u0e9f\u0ea5\u0ec0\u0e94\u0eb5 config \u0ec3\u0e99\u0ec4\u0e94\u0ec0\u0ea3\u0eb1\u0e81\u0e97\u0ecd\u0ea3\u0eb5\u0e97\u0eb5\u0ec8\u0ec0\u0e84\u0eb7\u0ec8\u0ead\u0e87\u0e82\u0ead\u0e87\u0e97\u0ec8\u0eb2\u0e99\u0e9e\u0ec9\u0ead\u0ea1\u0e81\u0eb1\u0e9a\u0ec2\u0e9b\u0ea3\u0ec0\u0e88\u0eb1\u0e81(\u0ec0\u0e99\u0eb7\u0ec8\u0ead\u0e87\u0e88\u0eb2\u0e81\u0ec0\u0e9b\u0eb1\u0e99\u0ec2\u0e9f\u0ea5\u0ec0\u0e94\u0eb5\u0ec0\u0ea5\u0eb5\u0ec8\u0ea1\u0e95\u0ebb\u0ec9\u0e99\u0e97\u0eb5\u0ec8\u0ea1\u0eb5\u0e81\u0eb2\u0e99\u0e81\u0ecd\u0eb2\u0e99\u0ebb\u0e94\u0e84\u0ec8\u0eb2\u0eaa\u0ecd\u0eb2\u0ea5\u0eb1\u0e9a Ruby on Rails) \u0eab\u0eb2\u0e81\u0e97\u0ec8\u0eb2\u0e99\u0e9a\u0ecd\u0ec8\u0ea1\u0eb5\u0ec3\u0eab\u0ec9\u0eaa\u0ec9\u0eb2\u0e87\u0ec2\u0e9f\u0ea5\u0ec0\u0e94\u0eb5\u0e99\u0eb5\u0ec9:<\/p>\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>mkdir {path_to_your_project}\/config<\/code><\/pre><\/div>\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<h4 class=\"wp-block-heading\" id=\"capify-&#xE41;&#xE2D;&#xE1B;&#xE1E;&#xE25;-&#xE40;&#xE04;&#xE0A;-&#xE19;&#xE02;&#xE2D;&#xE07;&#xE04;-&#xE13;\"><span class=\"ez-toc-section\" id=\"Capify_%E0%BB%81%E0%BA%AD%E0%BA%B1%E0%BA%9A%E0%BA%9E%E0%BA%BC%E0%BA%B4%E0%BB%80%E0%BA%84%E0%BA%8A%E0%BA%B1%E0%BA%99%E0%BA%82%E0%BA%AD%E0%BA%87%E0%BA%97%E0%BB%88%E0%BA%B2%E0%BA%99\"><\/span>Capify \u0ec1\u0ead\u0eb1\u0e9a\u0e9e\u0ebc\u0eb4\u0ec0\u0e84\u0e8a\u0eb1\u0e99\u0e82\u0ead\u0e87\u0e97\u0ec8\u0eb2\u0e99<span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n<p>\u0eab\u0ebc\u0eb1\u0e87\u0e81\u0eb2\u0e99\u0e95\u0eb4\u0e94\u0e95\u0eb1\u0ec9\u0e87\u0e97\u0ec8\u0eb2\u0e99\u0e95\u0ec9\u0ead\u0e87 capify \u0ec1\u0ead\u0eb1\u0e9a\u0e9e\u0ebc\u0eb4\u0ec0\u0e84\u0e8a\u0eb1\u0e99\u0e82\u0ead\u0e87\u0e97\u0ec8\u0eb2\u0e99 \u0ec0\u0e8a\u0eb1\u0ec8\u0e99\u0e81\u0ecd\u0eb2\u0e99\u0ebb\u0e94\u0e84\u0ec8\u0eb2 Capistrano \u0eaa\u0ecd\u0eb2\u0ea5\u0eb1\u0e9a\u0e81\u0eb2\u0e99 deploy \u0ec1\u0ead\u0eb1\u0e9a\u0ec2\u0e94\u0e8d\u0ec4\u0e9b\u0e97\u0eb5\u0ec8\u0ec2\u0e9f\u0ea5\u0ec0\u0e94\u0eb5 root \u0e82\u0ead\u0e87\u0ec2\u0e9b\u0ea3\u0ec0\u0e88\u0eb1\u0e81 php \u0ec1\u0ea5\u0eb0 \u0e94\u0ecd\u0eb2\u0ec0\u0e99\u0eb5\u0e99\u0e95\u0eb2\u0ea1\u0e84\u0ecd\u0eb2\u0eaa\u0eb1\u0ec8\u0e87\u0e94\u0eb1\u0ec8\u0e87\u0e99\u0eb5\u0ec9:<\/p>\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>cap install<\/code><\/pre><\/div>\n\n<p>\u0eaa\u0eb4\u0ec8\u0e87\u0e99\u0eb5\u0ec9\u0e88\u0eb0\u0eaa\u0ec9\u0eb2\u0e87\u0ec4\u0e9f\u0ea5 \u0ec1\u0ea5\u0eb0 \u0ec4\u0e94\u0ec0\u0ea3\u0eb1\u0e81\u0e97\u0ecd\u0ea3\u0eb5\u0ec3\u0edd\u0ec8\u0ec3\u0e99\u0ec2\u0e84\u0e87\u0e81\u0eb2\u0e99\u0e82\u0ead\u0e87\u0e97\u0ec8\u0eb2\u0e99:<\/p>\n\n<ul class=\"wp-block-list\"><li><strong>Capfile<\/strong> \u0e84\u0eb7\u0ec4\u0e9f\u0ea5 Capistrano \u0eab\u0ebc\u0eb1\u0e81\u0e97\u0eb5\u0ec8\u0e94\u0eb9\u0ec1\u0ea5\u0e81\u0eb2\u0e99\u0e81\u0ecd\u0eb2\u0e99\u0ebb\u0e94\u0e84\u0ec8\u0eb2 \u0ec1\u0ea5\u0eb0 globs \u0e97\u0eb5\u0ec8\u0e88\u0ecd\u0eb2\u0ec0\u0e9b\u0eb1\u0e99\u0eaa\u0ecd\u0eb2\u0ea5\u0eb1\u0e9a\u0ea7\u0ebd\u0e81\u0e97\u0eb5\u0ec8\u0e81\u0ecd\u0eb2\u0e99\u0ebb\u0e94\u0ec0\u0ead\u0e87<\/li><li><strong>config\/deploy\/<\/strong> \u0ec2\u0e9f\u0ea5\u0ec0\u0e94\u0eb5\u0e97\u0eb5\u0ec8\u0ea1\u0eb5\u0eaa\u0ead\u0e87\u0ec4\u0e9f\u0ea5 (<strong><em>staging.rb<\/em><\/strong> \u0e41\u0e25\u0e30 <strong><em>production.rb<\/em><\/strong>) \u0eaa\u0ecd\u0eb2\u0ea5\u0eb1\u0e9a\u0e81\u0eb2\u0e99\u0e95\u0eb1\u0ec9\u0e87\u0e84\u0ec8\u0eb2\u0e81\u0eb2\u0e99 deploy\u0eaa\u0eb0\u0ec0\u0e9e\u0eb2\u0eb0\u0e82\u0ead\u0e87 environment<\/li><li><strong>config\/<em>deploy.rb<\/em><\/strong> Ruby script \u0e97\u0eb5\u0ec8\u0ea1\u0eb5\u0e81\u0eb2\u0e99\u0e81\u0ecd\u0eb2\u0e99\u0ebb\u0e94\u0e84\u0ec8\u0eb2\u0ec1\u0ead\u0eb1\u0e9a\u0e9e\u0ebc\u0eb4\u0ec0\u0e84\u0e8a\u0eb1\u0e99 \u0ec1\u0ea5\u0eb0 \u0e84\u0ecd\u0eb2\u0ec1\u0e99\u0eb0\u0e99\u0ecd\u0eb2 Capistrano<\/li><li><strong>lib\/capistrano\/tasks\/<\/strong> \u0ec2\u0e9f\u0ea5\u0ec0\u0e94\u0eb5\u0eaa\u0ecd\u0eb2\u0ea5\u0eb1\u0e9a\u0ea7\u0ebd\u0e81\u0e97\u0eb5\u0ec8\u0e97\u0ec8\u0eb2\u0e99\u0e81\u0ecd\u0eb2\u0e99\u0ebb\u0e94\u0ec0\u0ead\u0e87<\/li><\/ul>\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<p class=\"box-note\"><strong>\u0ec0\u0e84\u0eb1\u0e94\u0ea5\u0eb1\u0e9a:<\/strong>\u0e97\u0ec8\u0eb2\u0e99\u0eaa\u0eb2\u0ea1\u0eb2\u0e94\u0ea5\u0ead\u0e87\u0ec3\u0e8a\u0ec9 capistrano-jelastic gem \u0e97\u0eb5\u0ec8\u0e94\u0eb9\u0ec1\u0ea5\u0ec2\u0e94\u0e8d gerado-navarro \u0ec0\u0e9e\u0eb7\u0ec8\u0ead deploy \u0ec1\u0ead\u0eb1\u0e9a Relis \u0ec3\u0eab\u0ec9\u0ec0\u0e9b\u0eb1\u0e99 PaaS &amp; IaaS \u0ec2\u0e94\u0e8d\u0ead\u0eb1\u0e94\u0e95\u0eb0\u0ec2\u0e99\u0ea1\u0eb1\u0e94<\/p>\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<h4 class=\"wp-block-heading\" id=\"&#xE15;-&#xE07;&#xE04;-&#xE32;&#xE01;&#xE32;&#xE23;&#xE01;&#xE33;&#xE2B;&#xE19;&#xE14;&#xE04;-&#xE32;&#xE40;&#xE2D;&#xE07;\"><span class=\"ez-toc-section\" id=\"%E0%BA%95%E0%BA%B1%E0%BB%89%E0%BA%87%E0%BA%84%E0%BB%88%E0%BA%B2%E0%BA%81%E0%BA%B2%E0%BA%99%E0%BA%81%E0%BB%8D%E0%BA%B2%E0%BA%99%E0%BA%BB%E0%BA%94%E0%BB%80%E0%BA%AD%E0%BA%87\"><\/span>\u0e95\u0eb1\u0ec9\u0e87\u0e84\u0ec8\u0eb2\u0e81\u0eb2\u0e99\u0e81\u0ecd\u0eb2\u0e99\u0ebb\u0e94\u0ec0\u0ead\u0e87<span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n<p>1. \u0ec4\u0e9b\u0e97\u0eb5\u0ec8\u0ec4\u0e9f\u0ea5 config\/deploy.rb \u0ec1\u0ea5\u0eb0 \u0e81\u0ecd\u0eb2\u0e99\u0ebb\u0e94\u0e84\u0ec8\u0eb2\u0ec3\u0eab\u0ec9\u0eaa\u0ead\u0e94\u0e84\u0ec8\u0ead\u0e87\u0e81\u0eb1\u0e9a\u0e81\u0eb2\u0e99\u0e95\u0eb1\u0ec9\u0e87\u0e84\u0ec8\u0eb2\u0e82\u0ead\u0e87\u0e97\u0ec8\u0eb2\u0e99\u0ec3\u0e99\u0ec0\u0e9a\u0eb7\u0ec9\u0ead\u0e87\u0e95\u0ebb\u0ec9\u0e99\u0e94\u0eb1\u0ec8\u0e87\u0eae\u0eb9\u0e9a\u0ec1\u0e9a\u0e9a\u0e99\u0eb5\u0ec9: <\/p>\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code># config valid only for Capistrano 3.1\n    lock '3.2.1'\n    \n    set :application, 'my_app_name'\n    set :repo_url, 'git@example.com:me\/my_repo.git'\n    \n    # Default branch is :master\n    # ask :branch, proc { `git rev-parse --abbrev-ref HEAD`.chomp }.call\n    \n    # Default deploy_to directory is \/var\/www\/my_app\n    # set :deploy_to, '\/var\/www\/my_app'\n    \n    # Default value for :scm is :git\n    # set :scm, :git\n    \n    # Default value for :format is :pretty\n    # set :format, :pretty\n    \n    # Default value for :log_level is :debug\n    # set :log_level, :debug\n    \n    # Default value for :pty is false\n    # set :pty, true\n    \n    # Default value for :linked_files is []\n    # set :linked_files, %w{config\/database.yml}\n    \n    # Default value for linked_dirs is []\n    # set :linked_dirs, %w{bin log tmp\/pids tmp\/cache tmp\/sockets vendor\/bundle public\/system}\n    \n    # Default value for default_env is {}\n    # set :default_env, { path: \"\/opt\/ruby\/bin:$PATH\" }\n    \n    # Default value for keep_releases is 5\n    # set :keep_releases, 5\n    \n    namespace :deploy do\n    \n      desc 'Restart application'\n      task :restart do\n        on roles(:app), in: :sequence, wait: 5 do\n          # Your restart mechanism here, for example:\n          # execute :touch, release_path.join('tmp\/restart.txt')\n        end\n      end\n    \n      after :publishing, :restart\n    \n      after :restart, :clear_cache do\n        on roles(:web), in: :groups, limit: 3, wait: 10 do\n          # Here we can do anything such as:\n          # within release_path do\n          #   execute :rake, 'cache:clear'\n          # end\n        end\n      end\n    \n    end<\/code><\/pre><\/div>\n\n<p>\u0ec1\u0e81\u0ec9\u0ec4\u0e82\u0eaa\u0eb0\u0e95\u0ea3\u0eb4\u0e87\u0e95\u0ecd\u0ec8\u0ec4\u0e9b\u0e99\u0eb5\u0ec9:<\/p>\n\n<ul class=\"wp-block-list\"><li>\u0ec3\u0eaa\u0ec8\u0e8a\u0eb7\u0ec8\u0ec1\u0ead\u0eb1\u0e9a\u0e9e\u0ebc\u0eb4\u0ec0\u0e84\u0e8a\u0eb1\u0e99\u0e82\u0ead\u0e87\u0e97\u0ec8\u0eb2\u0e99<\/li><\/ul>\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>set :application, \"my_app_name\"<\/code><\/pre><\/div>\n\n<ul class=\"wp-block-list\"><li>\u0ea5\u0eb0\u0e9a\u0eb8 URL \u0ec4\u0e9b\u0e97\u0eb5\u0ec8 VSC repository \u0e94\u0ec9\u0ea7\u0e8d\u0ec2\u0e84\u0e94\u0ec1\u0ead\u0eb1\u0e9a\u0e9e\u0ebc\u0eb4\u0ec0\u0e84\u0e8a\u0eb1\u0e99 PHP<\/li><\/ul>\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>set :repo_url, \"git@example.net:me\/my_repo.git\"<\/code><\/pre><\/div>\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<p class=\"box-note\"><strong>\u0edd\u0eb2\u0e8d\u0ec0\u0eab\u0e94:<\/strong> \u0e97\u0ec8\u0eb2\u0e99\u0e95\u0ec9\u0ead\u0e87\u0ec1\u0e99\u0e9a SSH public key \u0e81\u0eb1\u0e9a\u0e9a\u0eb1\u0e99\u0e8a\u0eb5 GIT \u0e82\u0ead\u0e87\u0e97\u0ec8\u0eb2\u0e99 (\u0ead\u0eb1\u0e99\u0e94\u0ebd\u0ea7\u0e81\u0eb1\u0e9a\u0e97\u0eb5\u0ec8\u0e97\u0ec8\u0eb2\u0e99\u0ec0\u0e9e\u0eb5\u0ec8\u0ea1\u0ea5\u0ebb\u0e87\u0ec3\u0e99\u0ec1\u0e94\u0e8a\u0e9a\u0ead\u0e94) \u0e9a\u0ecd\u0ec8\u0e94\u0eb1\u0ec8\u0e87\u0e99\u0eb1\u0ec9\u0e99\u0e97\u0ec8\u0eb2\u0e99\u0e88\u0eb0\u0ec4\u0e94\u0ec9\u0eae\u0eb1\u0e9a &#8220;\u0e81\u0eb2\u0e99\u0ead\u0eb0\u0e99\u0eb8\u0e8d\u0eb2\u0e94\u0e96\u0eb7\u0e81\u0e9b\u0eb0\u0e95\u0eb4\u0ec0\u0eaa\u0e94&#8221;; \u0ec0\u0e81\u0eb5\u0e94\u0e82\u0ecd\u0ec9\u0e9c\u0eb4\u0e94\u0e9e\u0eb2\u0e94\u0e82\u0eb0\u0e99\u0eb0\u0e9e\u0eb0\u0e8d\u0eb2\u0e8d\u0eb2\u0ea1 deploy \u0ec1\u0ead\u0eb1\u0e9a\u0e9e\u0ebc\u0eb4\u0ec0\u0e84\u0e8a\u0eb1\u0e99\u0e82\u0ead\u0e87\u0e97\u0ec8\u0eb2\u0e99<br\/><br\/>\u0e97\u0ec8\u0eb2\u0e99\u0eaa\u0eb2\u0ea1\u0eb2\u0e94\u0ec3\u0e8a\u0ec9\u0ea5\u0eb4\u0ec9\u0e87 <strong><em>https: <\/em><\/strong>\u0e9b\u0eb0\u0ec0\u0e9e\u0e94\u0e95\u0ecd\u0ec8\u0ec4\u0e9b\u0e99\u0eb5\u0ec9:<br\/><strong><em>set :repo_url, &#8220;https:\/\/example.net\/GIT_user_name\/repo_name.git&#8221;<\/em><\/strong><br\/><br\/>\u0ec3\u0e99\u0e81\u0ecd\u0ea5\u0eb0\u0e99\u0eb5\u0e99\u0eb5\u0ec9\u0e9a\u0ecd\u0ec8\u0e88\u0ecd\u0eb2\u0ec0\u0e9b\u0eb1\u0e99\u0e95\u0ec9\u0ead\u0e87\u0ea1\u0eb5\u0e81\u0eb2\u0e99\u0e81\u0ea7\u0e94\u0eaa\u0ead\u0e9a\u0eaa\u0eb4\u0e94 \u0ec1\u0ea5\u0eb0 \u0e97\u0ec8\u0eb2\u0e99\u0eaa\u0eb2\u0ea1\u0eb2\u0e94\u0ea5\u0eb0\u0e9a\u0eb8 URL \u0ec4\u0e9b\u0e97\u0eb5\u0ec8 PHP open-source repository \u0e97\u0eb5\u0ec8\u0e97\u0ec8\u0eb2\u0e99\u0e95\u0ec9\u0ead\u0e87\u0e81\u0eb2\u0e99 deploy<br\/><br\/><br\/><\/p>\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<ul class=\"wp-block-list\"><li>\u0e8d\u0ebb\u0e81\u0ec0\u0ea5\u0eb5\u0e81\u0e84\u0ead\u0ea1\u0ec0\u0ea1\u0e99\u0ea7\u0eb1\u0e81\u0e95\u0ecd\u0ec8\u0ec4\u0e9b\u0e99\u0eb5\u0ec9 \u0ec1\u0ea5\u0eb0 \u0ea5\u0eb0\u0e9a\u0eb8\u0ec4\u0e94\u0ec0\u0ea3\u0eb1\u0e81\u0e97\u0ecd\u0ea3\u0eb5\u0e97\u0eb5\u0ec8\u0ec1\u0ead\u0eb1\u0e9a\u0e9e\u0ebc\u0eb4\u0ec0\u0e84\u0e8a\u0eb1\u0e99\u0e97\u0eb5\u0ec8\u0e97\u0ec8\u0eb2\u0e99\u0e88\u0eb0 deploy (\u0ec2\u0e94\u0e8d\u0e84\u0ec8\u0eb2\u0e99\u0eb5\u0ec9\u0ec0\u0e9b\u0eb1\u0e99\u0e84\u0ec8\u0eb2\u0ec0\u0ea5\u0eb5\u0ec8\u0ea1\u0e95\u0ebb\u0ec9\u0e99\u0eaa\u0ecd\u0eb2\u0ea5\u0eb1\u0e9a PHP app servers):<\/li><\/ul>\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code># set :deploy_to, '\/var\/www\/webroot'<\/code><\/pre><\/div>\n\n<ul class=\"wp-block-list\"><li>\u0e8d\u0ebb\u0e81\u0ec0\u0ea5\u0eb5\u0e81\u0e84\u0ead\u0ea1\u0ec0\u0ea1\u0e99\u0ea7\u0eb1\u0e81\u0e95\u0ecd\u0ec8\u0ec4\u0e9b\u0e99\u0eb5\u0ec9<\/li><\/ul>\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>set :scm, :git\nset :format, :pretty\nset :pty, true<\/code><\/pre><\/div>\n\n<ul class=\"wp-block-list\"><li>\u0ea5\u0ebb\u0e9a\u0eaa\u0eb0\u0e95\u0ea3\u0eb4\u0e87\u0e97\u0eb5\u0ec8\u0ea1\u0eb5\u0ec2\u0e84\u0e94\u0e95\u0ecd\u0ec8\u0e97\u0ec9\u0eb2\u0e8d\u0ec4\u0e9f\u0ea5 (\u0ec0\u0ea5\u0eb5\u0ec8\u0ea1\u0e95\u0ebb\u0ec9\u0e99\u0e88\u0eb2\u0e81\u0e84\u0ecd\u0eb2\u0eaa\u0eb1\u0ec8\u0e87 <em><strong>namespace :deploy do<\/strong><\/em>) \u0ea7\u0eb2\u0e87\u0ea7\u0eb1\u0e81\u0e95\u0ecd\u0ec8\u0ec4\u0e9b\u0e99\u0eb5\u0ec9\u0ec1\u0e97\u0e99:<\/li><\/ul>\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>namespace :deploy do\n        desc 'Restart Apache'\n        task :apache do\n            on roles(:app) do\n                execute :sudo, \"service httpd restart\"\n            end\n        end\n    \n        desc 'Creating symlink'\n        task :symlink do\n            on roles(:app) do\n                execute :rm, \"-rf \/var\/www\/webroot\/ROOT\"\n                execute :ln, \"-s \/var\/www\/webroot\/current \/var\/www\/webroot\/ROOT\"\n            end\n        end\n    \n        desc 'Restart Apache and create symlink'\n        task :restart\n        before :restart, :symlink\n        before :restart, :apache\n    \n    end\n    \n    after 'deploy:publishing', 'deploy:restart'<\/code><\/pre><\/div>\n\n<p>\u0e97\u0ec8\u0eb2\u0e99\u0eaa\u0eb2\u0ea1\u0eb2\u0e94\u0e81\u0ecd\u0eb2\u0e99\u0ebb\u0e94\u0e84\u0ec8\u0eb2\u0ec0\u0e9e\u0eb5\u0ec8\u0ea1\u0ec0\u0e95\u0eb5\u0ea1\u0ec4\u0e94\u0ec9\u0ec3\u0e99\u0ec4\u0e9f\u0ea5\u0e99\u0eb5\u0ec9 (\u0ec0\u0e8a\u0eb1\u0ec8\u0e99 \u0ea5\u0eb0\u0e9a\u0eb8\u0eaa\u0eb2\u0e82\u0eb2\u0e82\u0ead\u0e87 repository \u0eab\u0ebc\u0eb7\u0ea5\u0eb4\u0ec9\u0e87\u0ec4\u0e9f\u0ea5\/\u0ec2\u0e9f\u0ea5\u0ec0\u0e94\u0eb5\u0ec0\u0e9e\u0eb5\u0ec8\u0ea1\u0ec0\u0e95\u0eb5\u0ea1) <\/p>\n\n<p>\u0e81\u0ebb\u0e94\u0e9b\u0eb8\u0ec8\u0ea1 <strong>Save<\/strong> \u0ec0\u0e9e\u0eb7\u0ec8\u0ead\u0e9a\u0eb1\u0e99\u0e97\u0eb6\u0e81\u0e81\u0eb2\u0e99\u0e9b\u0ec8\u0ebd\u0e99\u0ec1\u0e9b\u0e87<\/p>\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<p>2. \u0e88\u0eb2\u0e81\u0e99\u0eb1\u0ec9\u0e99\u0ec4\u0e9b\u0e97\u0eb5\u0ec8\u0ec4\u0e9f\u0ea5 <strong><em>config\/deploy\/staging.rb<\/em><\/strong> \u0ec0\u0e99\u0eb7\u0ec9\u0ead\u0ec3\u0e99\u0ec0\u0ea5\u0eb5\u0ec8\u0ea1\u0e95\u0ebb\u0ec9\u0e99\u0e84\u0eb7:<\/p>\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code># Simple Role Syntax\n    # ==================\n    # Supports bulk-adding hosts to roles, the primary server in each group\n    # is considered to be the first unless any hosts have the primary\n    # property set.  Don't declare `role :all`, it's a meta role.\n    \n    role :app, %w{deploy@example.com}\n    role :web, %w{deploy@example.com}\n    role :db,  %w{deploy@example.com}\n    \n    # Extended Server Syntax\n    # ======================\n    # This can be used to drop a more detailed server definition into the\n    # server list. The second argument is a, or duck-types, Hash and is\n    # used to set extended properties on the server.\n    \n    server 'example.com', user: 'deploy', roles: %w{web app}, my_property: :my_value\n    \n    # Custom SSH Options\n    # ==================\n    # You may pass any option but keep in mind that net\/ssh understands a\n    # limited set of options, consult[net\/ssh documentation](http:\/\/net-ssh.github.io\/net-ssh\/classes\/Net\/SSH.html#method-c-start).\n    #\n    # Global options\n    # --------------\n    #  set :ssh_options, {\n    #    keys: %w(\/home\/rlisowski\/.ssh\/id_rsa),\n    #    forward_agent: false,\n    #    auth_methods: %w(password)\n    #  }\n    #\n    # And\/or per server (overrides global)\n    # ------------------------------------\n    # server 'example.com',\n    #   user: 'user_name',\n    #   roles: %w{web app},\n    #   ssh_options: {\n    #     user: 'user_name', # overrides user setting above\n    #     keys: %w(\/home\/user_name\/.ssh\/id_rsa),\n    #     forward_agent: false,\n    #     auth_methods: %w(publickey password)\n    #     # password: 'please use keys'\n    #   }\n<\/code><\/pre><\/div>\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<p>\u0e82\u0eb1\u0ec9\u0e99\u0e95\u0ead\u0e99\u0e97\u0ecd\u0eb2\u0ead\u0eb4\u0e94\u0ec3\u0eab\u0ec9\u0e97\u0ec8\u0eb2\u0e99\u0ec1\u0e81\u0ec9\u0ec4\u0e82 <strong><em>Role<\/em><\/strong> 3 \u0eaa\u0ec8\u0ea7\u0e99: <em>Simple Role Syntax<\/em> \u0ec2\u0e94\u0e8d\u0ea7\u0eb2\u0e87 <strong><em>{nodeid-uid@your.SSH.host}<\/em><\/strong>\u0ec1\u0e97\u0e99 <em><strong>{deploy@example.com} <\/strong><\/em>\u0ec3\u0e8a\u0ec9\u0e84\u0ec8\u0eb2\u0e95\u0ecd\u0ec8\u0ec4\u0e9b\u0e99\u0eb5\u0ec9:<\/p>\n\n<ul class=\"wp-block-list\"><li><em><strong>nodeid<\/strong><\/em> &#8211; \u0e84\u0ec8\u0eb2\u0ec2\u0edc\u0e94\u0ec4\u0ead\u0e94\u0eb5\u0e82\u0ead\u0e87\u0e84\u0ead\u0e99\u0ec0\u0e97\u0eb1\u0e99\u0ec0\u0e99\u0eb5 Apache \u0ec1\u0ead\u0eb1\u0e9a\u0e9e\u0ebc\u0eb4\u0ec0\u0e84\u0e8a\u0eb1\u0e99\u0ec0\u0e8a\u0eb5\u0e9a\u0ec0\u0ea7\u0eb5\u0ec3\u0e99 environment \u0e82\u0ead\u0e87\u0e97\u0ec8\u0eb2\u0e99<\/li><li><em><strong>uid<\/strong><\/em> &#8211; \u0e95\u0ebb\u0ea7\u0ec0\u0ea5\u0e81\u0e81\u0ec8\u0ead\u0e99\u0eaa\u0eb1\u0e99\u0e8d\u0eb2\u0ea5\u0eb1\u0e81 @ \u0ec3\u0e99\u0e81\u0eb2\u0e99\u0ec0\u0e8a\u0eb7\u0ec8\u0ead\u0ea1\u0e95\u0ecd\u0ec8 SSH \u0e88\u0eb2\u0e81\u0e99\u0eb1\u0ec9\u0e99\u0ec1\u0e81\u0ec9\u0ec4\u0e82\u0ea7\u0eb1\u0e81\u0e81\u0eb2\u0e99\u0e95\u0eb1\u0ec9\u0e87\u0e84\u0ec8\u0eb2\u0ec0\u0e8a\u0eb5\u0e9a\u0ec0\u0ea7\u0eb5(\u0ec3\u0e99\u0eaa\u0ec8\u0ea7\u0e99\u0e82\u0ead\u0e87 <em>Extended Server Syntax<\/em>):<\/li><li>\u0ea5\u0eb0\u0e9a\u0eb8\u0ec2\u0eae\u0eaa SSH \u0e82\u0ead\u0e87\u0e97\u0ec8\u0eb2\u0e99\u0ec0\u0e8a\u0eb1\u0ec8\u0e99 <strong>\u0ec0\u0e8a\u0eb5\u0e9a\u0ec0\u0ea7\u0eb5 &#8216;<em>gate.manage.huk-com.cloud<\/em> &#8216;<\/strong><\/li><li>\u0ec3\u0eaa\u0ec8\u0e84\u0ec8\u0eb2 {nodeid}_{uid} \u0eaa\u0ecd\u0eb2\u0ea5\u0eb1\u0e9a\u0e9e\u0eb2\u0ea3\u0eb2\u0ea1\u0eb4\u0ec0\u0e95\u0eb5 <strong>user<\/strong> \u0ec0\u0e8a\u0eb1\u0ec8\u0e99 <em>user: &#8216;190403-136&#8217;<\/em> \u0e94\u0eb1\u0ec8\u0e87\u0e99\u0eb1\u0ec9\u0e99\u0e81\u0eb2\u0e99\u0e95\u0eb1\u0ec9\u0e87\u0e84\u0ec8\u0eb2\u0ec0\u0e8a\u0eb5\u0e9a\u0ec0\u0ea7\u0eb5\u0e82\u0ead\u0e87\u0e97\u0ec8\u0eb2\u0e99\u0e88\u0eb0\u0ea1\u0eb5\u0ea5\u0eb1\u0e81\u0eaa\u0eb0\u0e99\u0eb0\u0e94\u0eb1\u0ec8\u0e87\u0e99\u0eb5\u0ec9<\/li><\/ul>\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>server 'gate.manage.ruk-com.cloud', user: '190403-136', roles: %w{web app}, my_property: :my_value<\/code><\/pre><\/div>\n\n<p>\u0e82\u0eb1\u0ec9\u0e99\u0e95\u0ead\u0e99\u0eaa\u0eb8\u0e94\u0e97\u0ec9\u0eb2\u0e8d\u0ea5\u0eb0\u0e9a\u0eb8\u0e9e\u0ead\u0e94\u0ec0\u0e8a\u0eb5\u0e9a\u0ec0\u0ea7\u0eb5\u0e97\u0eb5\u0ec8\u0e88\u0eb0\u0ec3\u0e8a\u0ec9\u0eaa\u0ecd\u0eb2\u0ea5\u0eb1\u0e9a\u0e81\u0eb2\u0e99\u0ec0\u0e8a\u0eb7\u0ec8\u0ead\u0ea1\u0e95\u0ecd\u0ec8 SSH:<\/p>\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>set :ssh_options, {\n    port: 3022\n}<\/code><\/pre><\/div>\n\n<p>\u0ea2\u0ec8\u0eb2\u0ea5\u0eb7\u0ea1\u0e81\u0ebb\u0e94\u0e9b\u0eb8\u0ec8\u0ea1 <strong>Save<\/strong> \u0ec0\u0e9e\u0eb7\u0ec8\u0ead\u0e9a\u0eb1\u0e99\u0e97\u0eb6\u0e81\u0e81\u0eb2\u0e99\u0e81\u0ecd\u0eb2\u0e99\u0ebb\u0e94\u0e84\u0ec8\u0eb2\u0e94\u0ec9\u0ea7\u0e8d\u0e95\u0ebb\u0e99\u0ec0\u0ead\u0e87<\/p>\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<p>3. \u0ec0\u0e9b\u0eb5\u0e94 <strong>Capfile<\/strong> (\u0ea2\u0eb9\u0ec8\u0ec3\u0e99\u0ec2\u0e9f\u0ea5\u0ec0\u0e94\u0eb5 root \u0ec3\u0e99\u0ec2\u0e9b\u0ea3\u0ec0\u0e88\u0eb1\u0e81\u0ec0\u0e84\u0eb7\u0ec8\u0ead\u0e87\u0e82\u0ead\u0e87\u0e97\u0ec8\u0eb2\u0e99) \u0ec1\u0ea5\u0eb0 \u0ec0\u0e9e\u0eb5\u0ec8\u0ea1\u0edc\u0eb6\u0ec8\u0e87\u0ea7\u0eb1\u0e81\u0e99\u0eb5\u0ec9\u0ec0\u0e82\u0ebb\u0ec9\u0eb2\u0ec4\u0e9b:<\/p>\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>Rake::Task[:staging].invoke<\/code><\/pre><\/div>\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<h4 class=\"wp-block-heading\" id=\"&#xE01;&#xE33;&#xE2B;&#xE19;&#xE14;&#xE04;-&#xE32;-ssh-agent\"><span class=\"ez-toc-section\" id=\"%E0%BA%81%E0%BB%8D%E0%BA%B2%E0%BA%99%E0%BA%BB%E0%BA%94%E0%BA%84%E0%BB%88%E0%BA%B2_SSH_Agent\"><\/span>\u0e81\u0ecd\u0eb2\u0e99\u0ebb\u0e94\u0e84\u0ec8\u0eb2 SSH Agent<span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n<p>1. \u0e81\u0ea7\u0e94\u0eaa\u0ead\u0e9a\u0ec3\u0eab\u0ec9\u0ec1\u0e99\u0ec8\u0ec3\u0e88\u0ea7\u0ec8\u0eb2\u0e97\u0ec8\u0eb2\u0e99\u0ea1\u0eb5 <strong><em>ssh-agent<\/em><\/strong> \u0e97\u0eb5\u0ec8\u0ec0\u0eae\u0eb1\u0e94\u0ea7\u0ebd\u0e81\u0ea2\u0eb9\u0ec8\u0ec3\u0e99\u0ea5\u0eb0\u0e9a\u0ebb\u0e9a\u0e82\u0ead\u0e87\u0e97\u0ec8\u0eb2\u0e99<\/p>\n\n<p>2. \u0ec0\u0e9e\u0eb5\u0ec8\u0ea1 private SSH key \u0e82\u0ead\u0e87\u0e97\u0ec8\u0eb2\u0e99\u0ec4\u0e9b\u0e97\u0eb5\u0ec8 agent \u0ec0\u0e8a\u0eb4\u0ec8\u0e87\u0e84\u0ea7\u0e99\u0eaa\u0ead\u0e94\u0e84\u0ec8\u0ead\u0e87\u0e81\u0eb1\u0e9a public SSH key \u0e97\u0eb5\u0ec8\u0e97\u0ec8\u0eb2\u0e99\u0ec0\u0e9e\u0eb5\u0ec8\u0ea1\u0ec4\u0e9b\u0ec3\u0e99\u0ec1\u0e94\u0e8a\u0e9a\u0ead\u0e94<\/p>\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>ssh-add {full_path_to_the_necessary_private_SSH_key}<\/code><\/pre><\/div>\n\n<p>3. \u0e97\u0ec8\u0eb2\u0e99\u0eaa\u0eb2\u0ea1\u0eb2\u0e94\u0e81\u0ea7\u0e94\u0eaa\u0ead\u0e9a\u0ea7\u0ec8\u0eb2\u0ec0\u0e9e\u0eb5\u0ec8\u0ea1\u0e84\u0eb5\u0ec4\u0e94\u0ec9\u0e96\u0eb7\u0e81\u0e95\u0ec9\u0ead\u0e87 \u0eab\u0ebc\u0eb7 \u0e9a\u0ecd\u0ec8 \u0ec2\u0e94\u0e8d\u0e9b\u0ec9\u0ead\u0e99\u0e84\u0ecd\u0eb2\u0eaa\u0eb1\u0ec8\u0e87 <strong><em>ssh-add -lcommand<\/em><\/strong><\/p>\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<h4 class=\"wp-block-heading\" id=\"&#xE15;&#xE23;&#xE27;&#xE08;&#xE2A;&#xE2D;&#xE1A;&#xE01;&#xE32;&#xE23;&#xE01;&#xE33;&#xE2B;&#xE19;&#xE14;&#xE04;-&#xE32;\"><span class=\"ez-toc-section\" id=\"%E0%BA%81%E0%BA%A7%E0%BA%94%E0%BA%AA%E0%BA%AD%E0%BA%9A%E0%BA%81%E0%BA%B2%E0%BA%99%E0%BA%81%E0%BB%8D%E0%BA%B2%E0%BA%99%E0%BA%BB%E0%BA%94%E0%BA%84%E0%BB%88%E0%BA%B2\"><\/span>\u0e81\u0ea7\u0e94\u0eaa\u0ead\u0e9a\u0e81\u0eb2\u0e99\u0e81\u0ecd\u0eb2\u0e99\u0ebb\u0e94\u0e84\u0ec8\u0eb2<span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n<p>\u0e97\u0ec8\u0eb2\u0e99\u0eaa\u0eb2\u0ea1\u0eb2\u0e94\u0e81\u0ea7\u0e94\u0eaa\u0ead\u0e9a\u0ec3\u0eab\u0ec9\u0ec1\u0e99\u0ec8\u0ec3\u0e88\u0ea7\u0ec8\u0eb2\u0e97\u0eb8\u0e81\u0ea2\u0ec8\u0eb2\u0e87\u0ec4\u0e94\u0ec9\u0eae\u0eb1\u0e9a\u0e81\u0eb2\u0e99\u0e81\u0ecd\u0eb2\u0e99\u0ebb\u0e94\u0e84\u0ec8\u0eb2\u0ea2\u0ec8\u0eb2\u0e87\u0e96\u0eb7\u0e81\u0e95\u0ec9\u0ead\u0e87\u0ec2\u0e94\u0e8d\u0ec4\u0e9b\u0e97\u0eb5\u0ec8\u0ec2\u0e9f\u0ea5\u0ec0\u0e94\u0eb5 root \u0e97\u0eb5\u0ec8\u0ec0\u0e84\u0eb7\u0ec8\u0ead\u0e87\u0e82\u0ead\u0e87\u0e97\u0ec8\u0eb2\u0e99\u0ec1\u0ea5\u0ec9\u0ea7\u0e9e\u0eb4\u0ea1\u0e84\u0ecd\u0eb2\u0eaa\u0eb1\u0ec8\u0e87\u0e94\u0ec9\u0eb2\u0e99\u0ea5\u0eb8\u0ec8\u0ea1:<\/p>\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>cap staging deploy:check<\/code><\/pre><\/div>\n\n<p>Capistrano \u0e88\u0eb0\u0ec0\u0e8a\u0eb7\u0ec8\u0ead\u0ea1\u0e95\u0ecd\u0ec8\u0e81\u0eb1\u0e9a\u0e84\u0ead\u0e99\u0ec0\u0e97\u0eb1\u0e99\u0ec0\u0e99\u0eb5\u0ec4\u0ea5\u0e8d\u0eb0\u0ec4\u0e81 \u0eaa\u0ec9\u0eb2\u0e87\u0ec2\u0e9f\u0ea5\u0ec0\u0e94\u0eb5\u0e97\u0eb5\u0ec8\u0e88\u0ecd\u0eb2\u0ec0\u0e9b\u0eb1\u0e99\u0ec3\u0e99\u0ec4\u0e94\u0ec0\u0ea3\u0eb1\u0e81\u0e97\u0ecd\u0ea3\u0eb5\u0e97\u0eb5\u0ec8 deploy (\u0ea5\u0eb0\u0e9a\u0eb8\u0ec4\u0ea7\u0ec9\u0ec3\u0e99\u0e9e\u0eb2\u0ea3\u0eb2\u0ea1\u0eb4\u0ec0\u0e95\u0eb5 set :deploy_to) \u0ec1\u0ea5\u0eb0 \u0e81\u0ea7\u0e94\u0eaa\u0ead\u0e9a\u0ec0\u0e8a\u0eb5\u0e9a\u0ec0\u0ea7\u0eb5\u0e97\u0eb1\u0e87\u0ec4\u0ea5\u0e8d\u0eb0\u0ec4\u0e81 \u0ec1\u0ea5\u0eb0 \u0e9e\u0eb2\u0e8d\u0ec3\u0e99\u0ec0\u0e84\u0eb7\u0ec8\u0ead\u0e87\u0ec0\u0e9e\u0eb7\u0ec8\u0ead\u0ec0\u0e9a\u0eb4\u0ec8\u0e87\u0ea7\u0ec8\u0eb2\u0ea1\u0eb5\u0ec4\u0e9f\u0ea5\u0e97\u0eb5\u0ec8\u0e88\u0ecd\u0eb2\u0ec0\u0e9b\u0eb1\u0e99\u0e97\u0eb1\u0e87\u0edd\u0ebb\u0e94\u0ec0\u0e8a\u0eb1\u0ec8\u0e99 \u0eaa\u0eb4\u0e94\u0e97\u0eb4\u0e97\u0eb5\u0ec8\u0e88\u0ecd\u0eb2\u0ec0\u0e9b\u0eb1\u0e99 \u0ec0\u0e84\u0eb7\u0ec8\u0ead\u0e87\u0ea1\u0eb7 \u0ead\u0eb7\u0ec8\u0e99\u0ec6 \u0ea2\u0eb9\u0ec8\u0eab\u0ebc\u0eb7\u0e9a\u0ecd\u0ec8<\/p>\n\n<p>\u0eab\u0eb2\u0e81\u0ea1\u0eb5\u0eaa\u0eb4\u0ec8\u0e87\u0ec3\u0e94\u0e9c\u0eb4\u0e94\u0e9e\u0eb2\u0e94\u0ec4\u0e9b \u0e97\u0ec8\u0eb2\u0e99\u0e88\u0eb0\u0ec4\u0e94\u0ec9\u0eae\u0eb1\u0e9a\u0e82\u0ecd\u0ec9\u0e84\u0ea7\u0eb2\u0ea1\u0eaa\u0eb0\u0ec1\u0e94\u0e87\u0e82\u0ecd\u0ec9\u0e9c\u0eb4\u0e94\u0e9e\u0eb2\u0e94\u0e97\u0eb5\u0ec8\u0e81\u0ec8\u0ebd\u0ea7\u0e82\u0ec9\u0ead\u0e87<\/p>\n\n<div style=\"height:26px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<h4 class=\"wp-block-heading\" id=\"deploy-application\"><span class=\"ez-toc-section\" id=\"Deploy_Application\"><\/span>Deploy Application<span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n<p>\u0e94\u0ecd\u0eb2\u0ec0\u0e99\u0eb5\u0e99\u0e81\u0eb2\u0e99 deploy \u0ec1\u0ead\u0eb1\u0e9a\u0e9e\u0ebc\u0eb4\u0ec0\u0e84\u0e8a\u0eb1\u0e99\u0e82\u0ead\u0e87\u0e97\u0ec8\u0eb2\u0e99\u0ec2\u0e94\u0e8d\u0ea3\u0eb1\u0e99\u0e84\u0ecd\u0eb2\u0eaa\u0eb1\u0ec8\u0e87\u0e94\u0ec9\u0eb2\u0e99\u0ea5\u0eb8\u0ec8\u0ea1\u0ec3\u0e99\u0ec2\u0e9f\u0ea5\u0ec0\u0e94\u0eb5 root \u0e82\u0ead\u0e87\u0ec2\u0e9b\u0ea3\u0ec0\u0e88\u0eb1\u0e81<\/p>\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>cap staging deploy<\/code><\/pre><\/div>\n\n<p>\u0ec0\u0ea1\u0eb7\u0ec8\u0ead\u0e81\u0eb2\u0e99\u0e94\u0ecd\u0eb2\u0ec0\u0e99\u0eb5\u0e99\u0e81\u0eb2\u0e99\u0e99\u0eb5\u0ec9\u0eaa\u0ecd\u0eb2\u0ec0\u0ea5\u0eb1\u0e94\u0eaa\u0ebb\u0ea1\u0e9a\u0eb9\u0e99 \u0ec3\u0eab\u0ec9\u0ec4\u0e9b\u0e97\u0eb5\u0ec8 URL \u0e82\u0ead\u0e87 environment \u0ec1\u0ea5\u0eb0 \u0e81\u0ea7\u0e94\u0ec0\u0e9a\u0eb4\u0ec8\u0e87\u0ec3\u0eab\u0ec9\u0ec1\u0e99\u0ec8\u0ec3\u0e88\u0ea7\u0ec8\u0eb2\u0ec4\u0e94\u0ec9 deploy \u0ec1\u0ead\u0eb1\u0e9a\u0e82\u0ead\u0e87\u0e97\u0ec8\u0eb2\u0e99\u0eae\u0ebd\u0e9a\u0eae\u0ec9\u0ead\u0e8d\u0ec1\u0ea5\u0ec9\u0ea7<\/p>\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Capistrano \u0ec0\u0e9b\u0eb1\u0e99\u0ec0\u0e84\u0eb7\u0ec8\u0ead\u0e87\u0ea1\u0eb7 open-source \u0eaa\u0ecd\u0eb2\u0ea5\u0eb1\u0e9a\u0e81\u0eb2\u0e99\u0ea3\u0eb1\u0e99\u0eaa\u0eb0\u0e84\u0ea3\u0eb4\u0e9a\u0ec3\u0e99\u0ec0\u0e8a\u0eb5\u0e9a\u0ec0\u0ea7\u0eb5\u0ec4\u0ea5\u0e8d\u0eb0\u0ec4\u0e81 \u0ec2\u0e94\u0e8d\u0e97\u0ebb\u0ec8\u0ea7\u0ec4\u0e9b\u0e88\u0eb0\u0ec3\u0e8a\u0ec9\u0eaa\u0ecd\u0eb2\u0ea5\u0eb1\u0e9a deploy \u0ec1\u0ead\u0eb1\u0e9a\u0e9c\u0ec8\u0eb2\u0e99\u0e81\u0eb2\u0e99\u0ec0\u0e8a\u0eb7\u0ec8\u0ead\u0ea1\u0e95\u0ecd\u0ec8 SSH Capistrano \u0e82\u0ebd\u0e99\u0e94\u0ec9\u0ea7\u0e8d Ruby \u0ec0\u0e9b\u0eb1\u0e99\u0eaa\u0ec8\u0ea7\u0e99\u0e9b\u0eb0\u0e81\u0ead\u0e9a\u0e82\u0ead\u0e87 Ruby on Rails framework \u0e94\u0eb1\u0ec8\u0e87\u0e99\u0eb1\u0ec9\u0edc\u0e88\u0eb6\u0ec8\u0e87\u0ec3\u0e8a\u0ec9\u0e81\u0eb1\u0e99\u0ea2\u0ec8\u0eb2\u0e87\u0ec1\u0e9e\u0ec8\u0eab\u0ebc\u0eb2\u0e8d\u0eaa\u0ecd\u0eb2\u0ea5\u0eb1\u0e9a\u0e81\u0eb2\u0e99 deploy \u0ec1\u0ead\u0eb1\u0e9a Ruby \u0ea2\u0ec8\u0eb2\u0e87\u0ec3\u0e94\u0e81\u0ecd\u0e95\u0eb2\u0ea1 \u0ea1\u0eb1\u0e99\u0eaa\u0eb2\u0ea1\u0eb2\u0e94\u0ec0\u0eae\u0eb1\u0e94\u0ea7\u0ebd\u0e81\u0eae\u0ec8\u0ea7\u0ea1\u0e81\u0eb1\u0e99\u0e81\u0eb1\u0e9a\u0e9e\u0eb2\u0eaa\u0eb2\u0ec2\u0e9b\u0ea3\u0ec1\u0e81\u0ea3\u0ea1\u0ead\u0eb7\u0ec8\u0e99\u0ec6\u0ec4\u0e94\u0ec9\u0ea2\u0ec8\u0eb2\u0e87\u0e87\u0ec8\u0eb2\u0e8d\u0e94\u0eb2\u0e8d\u0ec0\u0e8a\u0eb1\u0ec8\u0e99 php \u0ec3\u0e99\u0e9a\u0ebb\u0e94\u0e84\u0ea7\u0eb2\u0ea1\u0e99\u0eb5\u0ec9\u0ea1\u0eb2\u0ec0\u0e9a\u0eb4\u0ec8\u0e87\u0ea7\u0eb4\u0e97\u0eb5\u0e81\u0eb2\u0e99 deploy \u0ec1\u0ead\u0eb1\u0e9a\u0e9e\u0ea5\u0eb4\u0ec0\u0e84\u0e8a\u0eb1\u0e99 php \u0e88\u0eb2\u0e81\u0ec4\u0ea5\u0e8d\u0eb0\u0ec4\u0e81\u0e9c\u0ec8\u0eb2\u0e99\u0ec0\u0e84\u0eb7\u0ec8\u0ead\u0e87\u0ea1\u0eb7 Capistrano \u0ec3\u0e99\u0e82\u0eb1\u0ec9\u0e99\u0e95\u0ead\u0e99\u0e97\u0ecd\u0eb2\u0ead\u0eb4\u0e94\u0e97\u0ec8\u0eb2\u0e99\u0e88\u0eb0\u0e95\u0ec9\u0ead\u0e87: \u0eaa\u0ec9\u0eb2\u0e87 PHP environment \u0e94\u0ec9\u0ea7\u0e8d Apache \u0ec1\u0ead\u0eb1\u0e9a\u0e9e\u0ea5\u0eb4\u0ec0\u0e84\u0e8a\u0eb1\u0e99\u0ec0\u0e8a\u0eb5\u0e9a\u0ec0\u0ea7\u0eb5 \u0e81\u0eb2\u0e99\u0eaa\u0ec9\u0eb2\u0e87 SSH public key \u0ec1\u0ea5\u0eb0\u0ec0\u0e9e\u0eb5\u0ec8\u0ea1\u0ec4\u0e9b\u0e97\u0eb5\u0ec8 Huk-Com Cloud \u0ec1\u0e94\u0e8a\u0e9a\u0ead\u0e94 GIT repository \u0ec0\u0e9e\u0eb7\u0ec8\u0ead\u0ec0\u0e81\u0eb1\u0e9a\u0ec1\u0ead\u0eb1\u0e9a\u0e9e\u0ea5\u0eb4\u0ec0\u0e84\u0e8a\u0eb1\u0e99 php \u0e97\u0eb5\u0ec8\u0e97\u0ec8\u0eb2\u0e99\u0e95\u0ec9\u0ead\u0e87\u0e81\u0eb2\u0e99 deploy (\u0eaa\u0ecd\u0eb2\u0ea5\u0eb1\u0e9a\u0e95\u0ead\u0e99\u0e99\u0eb5\u0ec9\u0ec0\u0e84\u0eb7\u0ec8\u0ead\u0e87\u0ea1\u0eb7 Capistrano 3 \u0eae\u0ead\u0e87\u0eae\u0eb1\u0e9a\u0e9b\u0eb0\u0ec0\u0e9e\u0e94 GIT [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[414],"tags":[],"class_list":["post-29949","post","type-post","status-publish","format-standard","hentry","category-development-tools-lo-la"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Capistrano - \u0e04\u0e39\u0e48\u0e21\u0e37\u0e2d\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19 Ruk-Com Cloud (PAAS)<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/docs.ruk-com.cloud\/lo-la\/capistrano\" \/>\n<meta property=\"og:locale\" content=\"lo_LA\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Capistrano - \u0e04\u0e39\u0e48\u0e21\u0e37\u0e2d\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19 Ruk-Com Cloud (PAAS)\" \/>\n<meta property=\"og:description\" content=\"Capistrano \u0ec0\u0e9b\u0eb1\u0e99\u0ec0\u0e84\u0eb7\u0ec8\u0ead\u0e87\u0ea1\u0eb7 open-source \u0eaa\u0ecd\u0eb2\u0ea5\u0eb1\u0e9a\u0e81\u0eb2\u0e99\u0ea3\u0eb1\u0e99\u0eaa\u0eb0\u0e84\u0ea3\u0eb4\u0e9a\u0ec3\u0e99\u0ec0\u0e8a\u0eb5\u0e9a\u0ec0\u0ea7\u0eb5\u0ec4\u0ea5\u0e8d\u0eb0\u0ec4\u0e81 \u0ec2\u0e94\u0e8d\u0e97\u0ebb\u0ec8\u0ea7\u0ec4\u0e9b\u0e88\u0eb0\u0ec3\u0e8a\u0ec9\u0eaa\u0ecd\u0eb2\u0ea5\u0eb1\u0e9a deploy \u0ec1\u0ead\u0eb1\u0e9a\u0e9c\u0ec8\u0eb2\u0e99\u0e81\u0eb2\u0e99\u0ec0\u0e8a\u0eb7\u0ec8\u0ead\u0ea1\u0e95\u0ecd\u0ec8 SSH Capistrano \u0e82\u0ebd\u0e99\u0e94\u0ec9\u0ea7\u0e8d Ruby \u0ec0\u0e9b\u0eb1\u0e99\u0eaa\u0ec8\u0ea7\u0e99\u0e9b\u0eb0\u0e81\u0ead\u0e9a\u0e82\u0ead\u0e87 Ruby on Rails framework \u0e94\u0eb1\u0ec8\u0e87\u0e99\u0eb1\u0ec9\u0edc\u0e88\u0eb6\u0ec8\u0e87\u0ec3\u0e8a\u0ec9\u0e81\u0eb1\u0e99\u0ea2\u0ec8\u0eb2\u0e87\u0ec1\u0e9e\u0ec8\u0eab\u0ebc\u0eb2\u0e8d\u0eaa\u0ecd\u0eb2\u0ea5\u0eb1\u0e9a\u0e81\u0eb2\u0e99 deploy \u0ec1\u0ead\u0eb1\u0e9a Ruby \u0ea2\u0ec8\u0eb2\u0e87\u0ec3\u0e94\u0e81\u0ecd\u0e95\u0eb2\u0ea1 \u0ea1\u0eb1\u0e99\u0eaa\u0eb2\u0ea1\u0eb2\u0e94\u0ec0\u0eae\u0eb1\u0e94\u0ea7\u0ebd\u0e81\u0eae\u0ec8\u0ea7\u0ea1\u0e81\u0eb1\u0e99\u0e81\u0eb1\u0e9a\u0e9e\u0eb2\u0eaa\u0eb2\u0ec2\u0e9b\u0ea3\u0ec1\u0e81\u0ea3\u0ea1\u0ead\u0eb7\u0ec8\u0e99\u0ec6\u0ec4\u0e94\u0ec9\u0ea2\u0ec8\u0eb2\u0e87\u0e87\u0ec8\u0eb2\u0e8d\u0e94\u0eb2\u0e8d\u0ec0\u0e8a\u0eb1\u0ec8\u0e99 php \u0ec3\u0e99\u0e9a\u0ebb\u0e94\u0e84\u0ea7\u0eb2\u0ea1\u0e99\u0eb5\u0ec9\u0ea1\u0eb2\u0ec0\u0e9a\u0eb4\u0ec8\u0e87\u0ea7\u0eb4\u0e97\u0eb5\u0e81\u0eb2\u0e99 deploy \u0ec1\u0ead\u0eb1\u0e9a\u0e9e\u0ea5\u0eb4\u0ec0\u0e84\u0e8a\u0eb1\u0e99 php \u0e88\u0eb2\u0e81\u0ec4\u0ea5\u0e8d\u0eb0\u0ec4\u0e81\u0e9c\u0ec8\u0eb2\u0e99\u0ec0\u0e84\u0eb7\u0ec8\u0ead\u0e87\u0ea1\u0eb7 Capistrano \u0ec3\u0e99\u0e82\u0eb1\u0ec9\u0e99\u0e95\u0ead\u0e99\u0e97\u0ecd\u0eb2\u0ead\u0eb4\u0e94\u0e97\u0ec8\u0eb2\u0e99\u0e88\u0eb0\u0e95\u0ec9\u0ead\u0e87: \u0eaa\u0ec9\u0eb2\u0e87 PHP environment \u0e94\u0ec9\u0ea7\u0e8d Apache \u0ec1\u0ead\u0eb1\u0e9a\u0e9e\u0ea5\u0eb4\u0ec0\u0e84\u0e8a\u0eb1\u0e99\u0ec0\u0e8a\u0eb5\u0e9a\u0ec0\u0ea7\u0eb5 \u0e81\u0eb2\u0e99\u0eaa\u0ec9\u0eb2\u0e87 SSH public key \u0ec1\u0ea5\u0eb0\u0ec0\u0e9e\u0eb5\u0ec8\u0ea1\u0ec4\u0e9b\u0e97\u0eb5\u0ec8 Huk-Com Cloud \u0ec1\u0e94\u0e8a\u0e9a\u0ead\u0e94 GIT repository \u0ec0\u0e9e\u0eb7\u0ec8\u0ead\u0ec0\u0e81\u0eb1\u0e9a\u0ec1\u0ead\u0eb1\u0e9a\u0e9e\u0ea5\u0eb4\u0ec0\u0e84\u0e8a\u0eb1\u0e99 php \u0e97\u0eb5\u0ec8\u0e97\u0ec8\u0eb2\u0e99\u0e95\u0ec9\u0ead\u0e87\u0e81\u0eb2\u0e99 deploy (\u0eaa\u0ecd\u0eb2\u0ea5\u0eb1\u0e9a\u0e95\u0ead\u0e99\u0e99\u0eb5\u0ec9\u0ec0\u0e84\u0eb7\u0ec8\u0ead\u0e87\u0ea1\u0eb7 Capistrano 3 \u0eae\u0ead\u0e87\u0eae\u0eb1\u0e9a\u0e9b\u0eb0\u0ec0\u0e9e\u0e94 GIT [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/docs.ruk-com.cloud\/lo-la\/capistrano\" \/>\n<meta property=\"og:site_name\" content=\"\u0e04\u0e39\u0e48\u0e21\u0e37\u0e2d\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19 Ruk-Com Cloud (PAAS)\" \/>\n<meta property=\"article:published_time\" content=\"2021-12-15T11:11:05+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-02-26T16:00:52+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/docs.ruk-com.cloud\/wp-content\/uploads\/2021\/08\/rukcom-logo.png\" \/>\n\t<meta property=\"og:image:width\" content=\"450\" \/>\n\t<meta property=\"og:image:height\" content=\"400\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/docs.ruk-com.cloud\/lo-la\/capistrano#article\",\"isPartOf\":{\"@id\":\"https:\/\/docs.ruk-com.cloud\/lo-la\/capistrano\"},\"author\":{\"name\":\"Admin\",\"@id\":\"https:\/\/docs.ruk-com.cloud\/#\/schema\/person\/dfeed2cd1751892c89cc371e50d57fa7\"},\"headline\":\"Capistrano\",\"datePublished\":\"2021-12-15T11:11:05+00:00\",\"dateModified\":\"2023-02-26T16:00:52+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/docs.ruk-com.cloud\/lo-la\/capistrano\"},\"wordCount\":181,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/docs.ruk-com.cloud\/#organization\"},\"articleSection\":[\"Development Tools\"],\"inLanguage\":\"lo-LA\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/docs.ruk-com.cloud\/lo-la\/capistrano#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/docs.ruk-com.cloud\/lo-la\/capistrano\",\"url\":\"https:\/\/docs.ruk-com.cloud\/lo-la\/capistrano\",\"name\":\"Capistrano - \u0e04\u0e39\u0e48\u0e21\u0e37\u0e2d\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19 Ruk-Com Cloud (PAAS)\",\"isPartOf\":{\"@id\":\"https:\/\/docs.ruk-com.cloud\/#website\"},\"datePublished\":\"2021-12-15T11:11:05+00:00\",\"dateModified\":\"2023-02-26T16:00:52+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/docs.ruk-com.cloud\/lo-la\/capistrano#breadcrumb\"},\"inLanguage\":\"lo-LA\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/docs.ruk-com.cloud\/lo-la\/capistrano\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/docs.ruk-com.cloud\/lo-la\/capistrano#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/docs.ruk-com.cloud\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Capistrano\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/docs.ruk-com.cloud\/#website\",\"url\":\"https:\/\/docs.ruk-com.cloud\/\",\"name\":\"\u0e04\u0e39\u0e48\u0e21\u0e37\u0e2d\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19 Ruk-Com Cloud (PAAS)\",\"description\":\"\u0e41\u0e1e\u0e25\u0e15\u0e1f\u0e2d\u0e23\u0e4c\u0e21\u0e17\u0e35\u0e48\u0e14\u0e35\u0e17\u0e35\u0e48\u0e2a\u0e38\u0e14\u0e23\u0e2d\u0e07\u0e23\u0e31\u0e1a\u0e01\u0e32\u0e23\u0e17\u0e33 Cluster, HA, Load Balancer, Auto Scale \u0e1c\u0e48\u0e32\u0e19\u0e01\u0e32\u0e23\u0e04\u0e25\u0e34\u0e4a\u0e01\u0e40\u0e1e\u0e35\u0e22\u0e07\u0e44\u0e21\u0e48\u0e01\u0e35\u0e48\u0e04\u0e23\u0e31\u0e49\u0e07 \u0e1e\u0e23\u0e49\u0e2d\u0e21\u0e23\u0e30\u0e1a\u0e1a\u0e08\u0e31\u0e14\u0e01\u0e32\u0e23\u0e17\u0e35\u0e48\u0e07\u0e48\u0e32\u0e22 \u0e04\u0e34\u0e14\u0e04\u0e48\u0e32\u0e1a\u0e23\u0e34\u0e01\u0e32\u0e23\u0e15\u0e32\u0e21\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e08\u0e23\u0e34\u0e07\",\"publisher\":{\"@id\":\"https:\/\/docs.ruk-com.cloud\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/docs.ruk-com.cloud\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"lo-LA\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/docs.ruk-com.cloud\/#organization\",\"name\":\"Ruk-Com Co.,Ltd\",\"url\":\"https:\/\/docs.ruk-com.cloud\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"lo-LA\",\"@id\":\"https:\/\/docs.ruk-com.cloud\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/docs.ruk-com.cloud\/wp-content\/uploads\/2021\/08\/rukcom-logo.png\",\"contentUrl\":\"https:\/\/docs.ruk-com.cloud\/wp-content\/uploads\/2021\/08\/rukcom-logo.png\",\"width\":450,\"height\":400,\"caption\":\"Ruk-Com Co.,Ltd\"},\"image\":{\"@id\":\"https:\/\/docs.ruk-com.cloud\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/docs.ruk-com.cloud\/#\/schema\/person\/dfeed2cd1751892c89cc371e50d57fa7\",\"name\":\"Admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"lo-LA\",\"@id\":\"https:\/\/docs.ruk-com.cloud\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/141844f933e59325a64653d0c2da01a2efdb4acff5eb61569f144e26998610ff?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/141844f933e59325a64653d0c2da01a2efdb4acff5eb61569f144e26998610ff?s=96&d=mm&r=g\",\"caption\":\"Admin\"},\"url\":\"https:\/\/docs.ruk-com.cloud\/lo-la\/author\/bamtnpm\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Capistrano - \u0e04\u0e39\u0e48\u0e21\u0e37\u0e2d\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19 Ruk-Com Cloud (PAAS)","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/docs.ruk-com.cloud\/lo-la\/capistrano","og_locale":"lo_LA","og_type":"article","og_title":"Capistrano - \u0e04\u0e39\u0e48\u0e21\u0e37\u0e2d\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19 Ruk-Com Cloud (PAAS)","og_description":"Capistrano \u0ec0\u0e9b\u0eb1\u0e99\u0ec0\u0e84\u0eb7\u0ec8\u0ead\u0e87\u0ea1\u0eb7 open-source \u0eaa\u0ecd\u0eb2\u0ea5\u0eb1\u0e9a\u0e81\u0eb2\u0e99\u0ea3\u0eb1\u0e99\u0eaa\u0eb0\u0e84\u0ea3\u0eb4\u0e9a\u0ec3\u0e99\u0ec0\u0e8a\u0eb5\u0e9a\u0ec0\u0ea7\u0eb5\u0ec4\u0ea5\u0e8d\u0eb0\u0ec4\u0e81 \u0ec2\u0e94\u0e8d\u0e97\u0ebb\u0ec8\u0ea7\u0ec4\u0e9b\u0e88\u0eb0\u0ec3\u0e8a\u0ec9\u0eaa\u0ecd\u0eb2\u0ea5\u0eb1\u0e9a deploy \u0ec1\u0ead\u0eb1\u0e9a\u0e9c\u0ec8\u0eb2\u0e99\u0e81\u0eb2\u0e99\u0ec0\u0e8a\u0eb7\u0ec8\u0ead\u0ea1\u0e95\u0ecd\u0ec8 SSH Capistrano \u0e82\u0ebd\u0e99\u0e94\u0ec9\u0ea7\u0e8d Ruby \u0ec0\u0e9b\u0eb1\u0e99\u0eaa\u0ec8\u0ea7\u0e99\u0e9b\u0eb0\u0e81\u0ead\u0e9a\u0e82\u0ead\u0e87 Ruby on Rails framework \u0e94\u0eb1\u0ec8\u0e87\u0e99\u0eb1\u0ec9\u0edc\u0e88\u0eb6\u0ec8\u0e87\u0ec3\u0e8a\u0ec9\u0e81\u0eb1\u0e99\u0ea2\u0ec8\u0eb2\u0e87\u0ec1\u0e9e\u0ec8\u0eab\u0ebc\u0eb2\u0e8d\u0eaa\u0ecd\u0eb2\u0ea5\u0eb1\u0e9a\u0e81\u0eb2\u0e99 deploy \u0ec1\u0ead\u0eb1\u0e9a Ruby \u0ea2\u0ec8\u0eb2\u0e87\u0ec3\u0e94\u0e81\u0ecd\u0e95\u0eb2\u0ea1 \u0ea1\u0eb1\u0e99\u0eaa\u0eb2\u0ea1\u0eb2\u0e94\u0ec0\u0eae\u0eb1\u0e94\u0ea7\u0ebd\u0e81\u0eae\u0ec8\u0ea7\u0ea1\u0e81\u0eb1\u0e99\u0e81\u0eb1\u0e9a\u0e9e\u0eb2\u0eaa\u0eb2\u0ec2\u0e9b\u0ea3\u0ec1\u0e81\u0ea3\u0ea1\u0ead\u0eb7\u0ec8\u0e99\u0ec6\u0ec4\u0e94\u0ec9\u0ea2\u0ec8\u0eb2\u0e87\u0e87\u0ec8\u0eb2\u0e8d\u0e94\u0eb2\u0e8d\u0ec0\u0e8a\u0eb1\u0ec8\u0e99 php \u0ec3\u0e99\u0e9a\u0ebb\u0e94\u0e84\u0ea7\u0eb2\u0ea1\u0e99\u0eb5\u0ec9\u0ea1\u0eb2\u0ec0\u0e9a\u0eb4\u0ec8\u0e87\u0ea7\u0eb4\u0e97\u0eb5\u0e81\u0eb2\u0e99 deploy \u0ec1\u0ead\u0eb1\u0e9a\u0e9e\u0ea5\u0eb4\u0ec0\u0e84\u0e8a\u0eb1\u0e99 php \u0e88\u0eb2\u0e81\u0ec4\u0ea5\u0e8d\u0eb0\u0ec4\u0e81\u0e9c\u0ec8\u0eb2\u0e99\u0ec0\u0e84\u0eb7\u0ec8\u0ead\u0e87\u0ea1\u0eb7 Capistrano \u0ec3\u0e99\u0e82\u0eb1\u0ec9\u0e99\u0e95\u0ead\u0e99\u0e97\u0ecd\u0eb2\u0ead\u0eb4\u0e94\u0e97\u0ec8\u0eb2\u0e99\u0e88\u0eb0\u0e95\u0ec9\u0ead\u0e87: \u0eaa\u0ec9\u0eb2\u0e87 PHP environment \u0e94\u0ec9\u0ea7\u0e8d Apache \u0ec1\u0ead\u0eb1\u0e9a\u0e9e\u0ea5\u0eb4\u0ec0\u0e84\u0e8a\u0eb1\u0e99\u0ec0\u0e8a\u0eb5\u0e9a\u0ec0\u0ea7\u0eb5 \u0e81\u0eb2\u0e99\u0eaa\u0ec9\u0eb2\u0e87 SSH public key \u0ec1\u0ea5\u0eb0\u0ec0\u0e9e\u0eb5\u0ec8\u0ea1\u0ec4\u0e9b\u0e97\u0eb5\u0ec8 Huk-Com Cloud \u0ec1\u0e94\u0e8a\u0e9a\u0ead\u0e94 GIT repository \u0ec0\u0e9e\u0eb7\u0ec8\u0ead\u0ec0\u0e81\u0eb1\u0e9a\u0ec1\u0ead\u0eb1\u0e9a\u0e9e\u0ea5\u0eb4\u0ec0\u0e84\u0e8a\u0eb1\u0e99 php \u0e97\u0eb5\u0ec8\u0e97\u0ec8\u0eb2\u0e99\u0e95\u0ec9\u0ead\u0e87\u0e81\u0eb2\u0e99 deploy (\u0eaa\u0ecd\u0eb2\u0ea5\u0eb1\u0e9a\u0e95\u0ead\u0e99\u0e99\u0eb5\u0ec9\u0ec0\u0e84\u0eb7\u0ec8\u0ead\u0e87\u0ea1\u0eb7 Capistrano 3 \u0eae\u0ead\u0e87\u0eae\u0eb1\u0e9a\u0e9b\u0eb0\u0ec0\u0e9e\u0e94 GIT [&hellip;]","og_url":"https:\/\/docs.ruk-com.cloud\/lo-la\/capistrano","og_site_name":"\u0e04\u0e39\u0e48\u0e21\u0e37\u0e2d\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19 Ruk-Com Cloud (PAAS)","article_published_time":"2021-12-15T11:11:05+00:00","article_modified_time":"2023-02-26T16:00:52+00:00","og_image":[{"width":450,"height":400,"url":"https:\/\/docs.ruk-com.cloud\/wp-content\/uploads\/2021\/08\/rukcom-logo.png","type":"image\/png"}],"author":"Admin","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Admin","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/docs.ruk-com.cloud\/lo-la\/capistrano#article","isPartOf":{"@id":"https:\/\/docs.ruk-com.cloud\/lo-la\/capistrano"},"author":{"name":"Admin","@id":"https:\/\/docs.ruk-com.cloud\/#\/schema\/person\/dfeed2cd1751892c89cc371e50d57fa7"},"headline":"Capistrano","datePublished":"2021-12-15T11:11:05+00:00","dateModified":"2023-02-26T16:00:52+00:00","mainEntityOfPage":{"@id":"https:\/\/docs.ruk-com.cloud\/lo-la\/capistrano"},"wordCount":181,"commentCount":0,"publisher":{"@id":"https:\/\/docs.ruk-com.cloud\/#organization"},"articleSection":["Development Tools"],"inLanguage":"lo-LA","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/docs.ruk-com.cloud\/lo-la\/capistrano#respond"]}]},{"@type":"WebPage","@id":"https:\/\/docs.ruk-com.cloud\/lo-la\/capistrano","url":"https:\/\/docs.ruk-com.cloud\/lo-la\/capistrano","name":"Capistrano - \u0e04\u0e39\u0e48\u0e21\u0e37\u0e2d\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19 Ruk-Com Cloud (PAAS)","isPartOf":{"@id":"https:\/\/docs.ruk-com.cloud\/#website"},"datePublished":"2021-12-15T11:11:05+00:00","dateModified":"2023-02-26T16:00:52+00:00","breadcrumb":{"@id":"https:\/\/docs.ruk-com.cloud\/lo-la\/capistrano#breadcrumb"},"inLanguage":"lo-LA","potentialAction":[{"@type":"ReadAction","target":["https:\/\/docs.ruk-com.cloud\/lo-la\/capistrano"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/docs.ruk-com.cloud\/lo-la\/capistrano#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/docs.ruk-com.cloud\/"},{"@type":"ListItem","position":2,"name":"Capistrano"}]},{"@type":"WebSite","@id":"https:\/\/docs.ruk-com.cloud\/#website","url":"https:\/\/docs.ruk-com.cloud\/","name":"\u0e04\u0e39\u0e48\u0e21\u0e37\u0e2d\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19 Ruk-Com Cloud (PAAS)","description":"\u0e41\u0e1e\u0e25\u0e15\u0e1f\u0e2d\u0e23\u0e4c\u0e21\u0e17\u0e35\u0e48\u0e14\u0e35\u0e17\u0e35\u0e48\u0e2a\u0e38\u0e14\u0e23\u0e2d\u0e07\u0e23\u0e31\u0e1a\u0e01\u0e32\u0e23\u0e17\u0e33 Cluster, HA, Load Balancer, Auto Scale \u0e1c\u0e48\u0e32\u0e19\u0e01\u0e32\u0e23\u0e04\u0e25\u0e34\u0e4a\u0e01\u0e40\u0e1e\u0e35\u0e22\u0e07\u0e44\u0e21\u0e48\u0e01\u0e35\u0e48\u0e04\u0e23\u0e31\u0e49\u0e07 \u0e1e\u0e23\u0e49\u0e2d\u0e21\u0e23\u0e30\u0e1a\u0e1a\u0e08\u0e31\u0e14\u0e01\u0e32\u0e23\u0e17\u0e35\u0e48\u0e07\u0e48\u0e32\u0e22 \u0e04\u0e34\u0e14\u0e04\u0e48\u0e32\u0e1a\u0e23\u0e34\u0e01\u0e32\u0e23\u0e15\u0e32\u0e21\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e08\u0e23\u0e34\u0e07","publisher":{"@id":"https:\/\/docs.ruk-com.cloud\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/docs.ruk-com.cloud\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"lo-LA"},{"@type":"Organization","@id":"https:\/\/docs.ruk-com.cloud\/#organization","name":"Ruk-Com Co.,Ltd","url":"https:\/\/docs.ruk-com.cloud\/","logo":{"@type":"ImageObject","inLanguage":"lo-LA","@id":"https:\/\/docs.ruk-com.cloud\/#\/schema\/logo\/image\/","url":"https:\/\/docs.ruk-com.cloud\/wp-content\/uploads\/2021\/08\/rukcom-logo.png","contentUrl":"https:\/\/docs.ruk-com.cloud\/wp-content\/uploads\/2021\/08\/rukcom-logo.png","width":450,"height":400,"caption":"Ruk-Com Co.,Ltd"},"image":{"@id":"https:\/\/docs.ruk-com.cloud\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/docs.ruk-com.cloud\/#\/schema\/person\/dfeed2cd1751892c89cc371e50d57fa7","name":"Admin","image":{"@type":"ImageObject","inLanguage":"lo-LA","@id":"https:\/\/docs.ruk-com.cloud\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/141844f933e59325a64653d0c2da01a2efdb4acff5eb61569f144e26998610ff?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/141844f933e59325a64653d0c2da01a2efdb4acff5eb61569f144e26998610ff?s=96&d=mm&r=g","caption":"Admin"},"url":"https:\/\/docs.ruk-com.cloud\/lo-la\/author\/bamtnpm"}]}},"_links":{"self":[{"href":"https:\/\/docs.ruk-com.cloud\/lo-la\/wp-json\/wp\/v2\/posts\/29949","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/docs.ruk-com.cloud\/lo-la\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/docs.ruk-com.cloud\/lo-la\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/docs.ruk-com.cloud\/lo-la\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/docs.ruk-com.cloud\/lo-la\/wp-json\/wp\/v2\/comments?post=29949"}],"version-history":[{"count":1,"href":"https:\/\/docs.ruk-com.cloud\/lo-la\/wp-json\/wp\/v2\/posts\/29949\/revisions"}],"predecessor-version":[{"id":29952,"href":"https:\/\/docs.ruk-com.cloud\/lo-la\/wp-json\/wp\/v2\/posts\/29949\/revisions\/29952"}],"wp:attachment":[{"href":"https:\/\/docs.ruk-com.cloud\/lo-la\/wp-json\/wp\/v2\/media?parent=29949"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/docs.ruk-com.cloud\/lo-la\/wp-json\/wp\/v2\/categories?post=29949"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/docs.ruk-com.cloud\/lo-la\/wp-json\/wp\/v2\/tags?post=29949"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}