{"id":3680,"date":"2020-04-16T15:54:36","date_gmt":"2020-04-16T07:54:36","guid":{"rendered":"https:\/\/ellery.no-ip.info\/wp\/thinkingmore\/?p=3680"},"modified":"2020-04-16T15:54:39","modified_gmt":"2020-04-16T07:54:39","slug":"heroku-%e7%9a%84-deploy","status":"publish","type":"post","link":"https:\/\/ellery.no-ip.info\/wp\/thinkingmore\/2020\/04\/heroku-%e7%9a%84-deploy\/","title":{"rendered":"Heroku \u7684 deploy"},"content":{"rendered":"\n<p>\u4ee5\u524d\u53ea\u77e5\u9053\u53ef\u4ee5\u7528 git push \u4f86 deploy\uff0c\u4eca\u5929\u7528 google \u627e\u4e86\u4e00\u4e0b\uff0c\u767c\u73fe heroku \u5df2\u7d93\u63d0\u4f9b\u4e86 container registry\uff0c\u6240\u4ee5\u73fe\u5728\u53ef\u4ee5\u7528 docker \u4f86\u4f48\u7f72\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/blog.wu-boy.com\/2019\/02\/deploy-golang-app-to-heroku\/\">\u5feb\u901f\u90e8\u7f72\u7db2\u7ad9\u5230 Heroku \u96f2\u5e73\u53f0<\/a>&nbsp;\u6211\u662f\u5f9e\u9019\u7bc7\u77e5\u9053\u53ef\u4ee5\u7528 docker \u7684\u3002<\/li><li><a href=\"https:\/\/devcenter.heroku.com\/categories\/deploying-with-docker\">Deploying with Docker<\/a>&nbsp;Heroku \u7684\u5b98\u65b9\u6587\u4ef6\uff0c\u88cf\u9762\u6709\u5305\u542b\u4e09\u7bc7\uff0c\u5176\u5be6\u770b\u7b2c1\u7bc7\u5c31\u5920\u4e86\u3002\u6709\u4e00\u7bc7\u662f\u4ecb\u7d39\u600e\u9ebc\u8ddf\u5176\u4ed6 CI\/CD \u5de5\u5177\u6574\u5408\u7684\uff0c\u53e6\u5916\u4e00\u7bc7\u5247\u662f\u4ecb\u7d39\u600e\u9ebc\u5728\u672c\u5730\u958b\u767c\u7684\u3002<ul><li><a href=\"https:\/\/devcenter.heroku.com\/articles\/container-registry-and-runtime\">Container Registry &amp; Runtime (Docker Deploys)<\/a><\/li><li><a href=\"http:\/\/local%20development%20with%20docker%20compose\/\">Local Development with Docker Compose<\/a><\/li><\/ul><\/li><li><a href=\"https:\/\/blog.heroku.com\/introducing_heroku_docker_release_build_deploy_heroku_apps_with_docker\">Introducing &#8216;heroku docker:release&#8217;: Build &amp; Deploy Heroku Apps with Docker<\/a><\/li><\/ul>\n\n\n\n<p>\u6240\u4ee5\u8981\u5148\u5beb\u597d Dockerfile\uff0c\u5230\u6642\u5019\u6703\u65b9\u4fbf\u5f88\u591a\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u4ee5\u524d\u53ea\u77e5\u9053\u53ef\u4ee5\u7528 git push \u4f86 deploy\uff0c\u4eca\u5929\u7528 google \u627e\u4e86\u4e00\u4e0b\uff0c\u767c\u73fe heroku \u5df2\u7d93\u63d0\u4f9b\u4e86 container registry\uff0c\u6240\u4ee5\u73fe\u5728\u53ef\u4ee5\u7528 docker \u4f86\u4f48\u7f72\u3002 \u5feb\u901f\u90e8\u7f72\u7db2\u7ad9\u5230 Heroku \u96f2\u5e73\u53f0&nbsp;\u6211\u662f\u5f9e\u9019\u7bc7\u77e5\u9053\u53ef\u4ee5\u7528 docker \u7684\u3002 Deploying with Docker&nbsp;Heroku \u7684\u5b98\u65b9\u6587\u4ef6\uff0c\u88cf\u9762\u6709\u5305\u542b\u4e09\u7bc7\uff0c\u5176\u5be6\u770b\u7b2c1\u7bc7\u5c31\u5920\u4e86\u3002\u6709\u4e00\u7bc7\u662f\u4ecb\u7d39\u600e\u9ebc\u8ddf\u5176\u4ed6 CI\/CD \u5de5\u5177\u6574\u5408\u7684\uff0c\u53e6\u5916\u4e00\u7bc7\u5247\u662f\u4ecb\u7d39\u600e\u9ebc\u5728\u672c\u5730\u958b\u767c\u7684\u3002 Container Registry &amp; Runtime (Docker Deploys) Local Development with Docker Compose Introducing &#8216;heroku docker:release&#8217;: Build &amp; Deploy Heroku Apps with Docker \u6240\u4ee5\u8981\u5148\u5beb\u597d Dockerfile\uff0c\u5230\u6642\u5019\u6703\u65b9\u4fbf\u5f88\u591a\u3002<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[5],"tags":[110],"class_list":["post-3680","post","type-post","status-publish","format-standard","hentry","category-idea","tag-heroku"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p2MOxp-Xm","_links":{"self":[{"href":"https:\/\/ellery.no-ip.info\/wp\/thinkingmore\/wp-json\/wp\/v2\/posts\/3680","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ellery.no-ip.info\/wp\/thinkingmore\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ellery.no-ip.info\/wp\/thinkingmore\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ellery.no-ip.info\/wp\/thinkingmore\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ellery.no-ip.info\/wp\/thinkingmore\/wp-json\/wp\/v2\/comments?post=3680"}],"version-history":[{"count":2,"href":"https:\/\/ellery.no-ip.info\/wp\/thinkingmore\/wp-json\/wp\/v2\/posts\/3680\/revisions"}],"predecessor-version":[{"id":3682,"href":"https:\/\/ellery.no-ip.info\/wp\/thinkingmore\/wp-json\/wp\/v2\/posts\/3680\/revisions\/3682"}],"wp:attachment":[{"href":"https:\/\/ellery.no-ip.info\/wp\/thinkingmore\/wp-json\/wp\/v2\/media?parent=3680"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ellery.no-ip.info\/wp\/thinkingmore\/wp-json\/wp\/v2\/categories?post=3680"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ellery.no-ip.info\/wp\/thinkingmore\/wp-json\/wp\/v2\/tags?post=3680"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}