yoshikouki / dividend-portal

1 stars 1 forks source link

本番環境を用意する #18

Closed yoshikouki closed 3 years ago

yoshikouki commented 3 years ago

Twitter アプリ申請の用意も兼ねて本番環境を用意する

とりあえずHerokuで雑に用意する


ドキュメント https://devcenter.heroku.com/ja/articles/getting-started-with-rails6

環境変数の設定を heroku 上で行った

yoshikouki commented 3 years ago
❯ git push heroku main
[warn] push to remote, continue? [y/N]
y
[info] OK. push start.
Enumerating objects: 836, done.
Counting objects: 100% (836/836), done.
Delta compression using up to 16 threads
Compressing objects: 100% (775/775), done.
Writing objects: 100% (836/836), 676.06 KiB | 3.40 MiB/s, done.
Total 836 (delta 400), reused 3 (delta 0), pack-reused 0
remote: Compressing source files... done.
remote: Building source:
remote:
remote: -----> Building on the Heroku-20 stack
remote: -----> Determining which buildpack to use for this app
remote:  !     Warning: Multiple default buildpacks reported the ability to handle this app. The first buildpack in the list below will be used.
remote:             Detected buildpacks: Ruby,Node.js
remote:             See https://devcenter.heroku.com/articles/buildpacks#buildpack-detect-order
remote: -----> Ruby app detected
remote: -----> Installing bundler 2.2.21
remote: -----> Removing BUNDLED WITH version in the Gemfile.lock
remote: -----> Compiling Ruby/Rails
remote: -----> Using Ruby version: ruby-3.0.1
remote: -----> Installing dependencies using bundler 2.2.21
remote:        Running: BUNDLE_WITHOUT='development:test' BUNDLE_PATH=vendor/bundle BUNDLE_BIN=vendor/bundle/bin BUNDLE_DEPLOYMENT=1 bundle install -j4
remote:        Fetching gem metadata from https://rubygems.org/
remote:        Fetching gem metadata from https://rubygems.org/............
remote:        Fetching rake 13.0.3
remote:        Installing rake 13.0.3
remote:        Fetching concurrent-ruby 1.1.9
remote:        Fetching minitest 5.14.4
remote:        Fetching builder 3.2.4
remote:        Fetching zeitwerk 2.4.2
remote:        Installing builder 3.2.4
remote:        Installing minitest 5.14.4
remote:        Installing zeitwerk 2.4.2
remote:        Fetching erubi 1.10.0
remote:        Installing concurrent-ruby 1.1.9
remote:        Fetching racc 1.5.2
remote:        Installing erubi 1.10.0
remote:        Fetching crass 1.0.6
remote:        Fetching rack 2.2.3
remote:        Installing crass 1.0.6
remote:        Installing rack 2.2.3
remote:        Fetching nio4r 2.5.7
remote:        Installing racc 1.5.2 with native extensions
remote:        Installing nio4r 2.5.7 with native extensions
remote:        Fetching websocket-extensions 0.1.5
remote:        Installing websocket-extensions 0.1.5
remote:        Fetching marcel 1.0.1
remote:        Fetching mini_mime 1.0.3
remote:        Installing marcel 1.0.1
remote:        Installing mini_mime 1.0.3
remote:        Fetching msgpack 1.4.2
remote:        Using bundler 2.2.21
remote:        Fetching chronic 0.10.2
remote:        Installing msgpack 1.4.2 with native extensions
remote:        Installing chronic 0.10.2
remote:        Fetching dotenv 2.7.6
remote:        Installing dotenv 2.7.6
remote:        Fetching method_source 1.0.0
remote:        Installing method_source 1.0.0
remote:        Fetching thor 1.1.0
remote:        Installing thor 1.1.0
remote:        Fetching kaminari-core 1.2.1
remote:        Installing kaminari-core 1.2.1
remote:        Fetching pg 1.2.3
remote:        Installing pg 1.2.3 with native extensions
remote:        Fetching semantic_range 3.0.0
remote:        Installing semantic_range 3.0.0
remote:        Fetching rack-test 1.1.0
remote:        Installing rack-test 1.1.0
remote:        Fetching rack-proxy 0.7.0
remote:        Installing rack-proxy 0.7.0
remote:        Fetching websocket-driver 0.7.5
remote:        Installing websocket-driver 0.7.5 with native extensions
remote:        Fetching i18n 1.8.10
remote:        Installing i18n 1.8.10
remote:        Fetching tzinfo 2.0.4
remote:        Installing tzinfo 2.0.4
remote:        Fetching sprockets 4.0.2
remote:        Installing sprockets 4.0.2
remote:        Fetching mail 2.7.1
remote:        Installing mail 2.7.1
remote:        Fetching whenever 1.0.0
remote:        Installing whenever 1.0.0
remote:        Fetching nokogiri 1.11.7 (x86_64-linux)
remote:        Installing nokogiri 1.11.7 (x86_64-linux)
remote:        Fetching activesupport 6.1.3.2
remote:        Installing activesupport 6.1.3.2
remote:        Fetching loofah 2.10.0
remote:        Installing loofah 2.10.0
remote:        Fetching rails-dom-testing 2.0.3
remote:        Installing rails-dom-testing 2.0.3
remote:        Fetching globalid 0.4.2
remote:        Installing globalid 0.4.2
remote:        Fetching activemodel 6.1.3.2
remote:        Installing activemodel 6.1.3.2
remote:        Fetching jbuilder 2.11.2
remote:        Installing jbuilder 2.11.2
remote:        Fetching rails-html-sanitizer 1.3.0
remote:        Installing rails-html-sanitizer 1.3.0
remote:        Fetching activejob 6.1.3.2
remote:        Installing activejob 6.1.3.2
remote:        Fetching activerecord 6.1.3.2
remote:        Installing activerecord 6.1.3.2
remote:        Fetching actionview 6.1.3.2
remote:        Installing actionview 6.1.3.2
remote:        Fetching kaminari-activerecord 1.2.1
remote:        Installing kaminari-activerecord 1.2.1
remote:        Fetching actionpack 6.1.3.2
remote:        Installing actionpack 6.1.3.2
remote:        Fetching kaminari-actionview 1.2.1
remote:        Installing kaminari-actionview 1.2.1
remote:        Fetching activestorage 6.1.3.2
remote:        Installing activestorage 6.1.3.2
remote:        Fetching actionmailer 6.1.3.2
remote:        Installing actionmailer 6.1.3.2
remote:        Fetching railties 6.1.3.2
remote:        Installing railties 6.1.3.2
remote:        Fetching sprockets-rails 3.2.2
remote:        Installing sprockets-rails 3.2.2
remote:        Fetching kaminari 1.2.1
remote:        Installing kaminari 1.2.1
remote:        Fetching actionmailbox 6.1.3.2
remote:        Installing actionmailbox 6.1.3.2
remote:        Fetching actiontext 6.1.3.2
remote:        Installing actiontext 6.1.3.2
remote:        Fetching webpacker 5.4.0
remote:        Fetching dotenv-rails 2.7.6
remote:        Installing dotenv-rails 2.7.6
remote:        Fetching actioncable 6.1.3.2
remote:        Installing webpacker 5.4.0
remote:        Installing actioncable 6.1.3.2
remote:        Fetching puma 5.3.2
remote:        Installing puma 5.3.2 with native extensions
remote:        Fetching rails 6.1.3.2
remote:        Installing rails 6.1.3.2
remote:        Fetching bootsnap 1.7.5
remote:        Installing bootsnap 1.7.5 with native extensions
remote:        Bundle complete! 23 Gemfile dependencies, 57 gems now installed.
remote:        Gems in the groups 'development' and 'test' were not installed.
remote:        Bundled gems are installed into `./vendor/bundle`
remote:        Bundle completed (29.70s)
remote:        Cleaning up the bundler cache.
remote: -----> Installing node-v12.16.2-linux-x64
remote: -----> Installing yarn-v1.22.4
remote: -----> Detecting rake tasks
remote: -----> Preparing app for Rails asset pipeline
remote:        Running: rake assets:precompile
remote:        yarn install v1.22.4
remote:        [1/4] Resolving packages...
remote:        [2/4] Fetching packages...
remote:        info fsevents@2.3.2: The platform "linux" is incompatible with this module.
remote:        info "fsevents@2.3.2" is an optional dependency and failed compatibility check. Excluding it from installation.
remote:        info fsevents@1.2.13: The platform "linux" is incompatible with this module.
remote:        info "fsevents@1.2.13" is an optional dependency and failed compatibility check. Excluding it from installation.
remote:        [3/4] Linking dependencies...
remote:        warning " > @babel/preset-react@7.14.5" has unmet peer dependency "@babel/core@^7.0.0-0".
remote:        warning "@babel/preset-react > @babel/plugin-transform-react-display-name@7.14.5" has unmet peer dependency "@babel/core@^7.0.0-0".
remote:        warning "@babel/preset-react > @babel/plugin-transform-react-jsx@7.14.5" has unmet peer dependency "@babel/core@^7.0.0-0".
remote:        warning "@babel/preset-react > @babel/plugin-transform-react-jsx-development@7.14.5" has unmet peer dependency "@babel/core@^7.0.0-0".
remote:        warning "@babel/preset-react > @babel/plugin-transform-react-pure-annotations@7.14.5" has unmet peer dependency "@babel/core@^7.0.0-0".
remote:        warning "@babel/preset-react > @babel/plugin-transform-react-jsx > @babel/plugin-syntax-jsx@7.14.5" has unmet peer dependency "@babel/core@^7.0.0-0".
remote:        [4/4] Building fresh packages...
remote:        Done in 22.73s.
remote:        Compiling...
remote:        Compiled all packs in /tmp/build_e242537c/public/packs
remote:        Though the "loose" option was set to "false" in your @babel/preset-env config, it will not be used for @babel/plugin-proposal-private-methods since the "loose" mode option was set to "true" for @babel/plugin-proposal-class-properties.
remote:        The "loose" option must be the same for @babel/plugin-proposal-class-properties, @babel/plugin-proposal-private-methods and @babel/plugin-proposal-private-property-in-object (when they are enabled): you can silence this warning by explicitly adding
remote:         ["@babel/plugin-proposal-private-methods", { "loose": true }]
remote:        to the "plugins" section of your Babel config.
remote:        Though the "loose" option was set to "false" in your @babel/preset-env config, it will not be used for @babel/plugin-proposal-private-methods since the "loose" mode option was set to "true" for @babel/plugin-proposal-class-properties.
remote:        The "loose" option must be the same for @babel/plugin-proposal-class-properties, @babel/plugin-proposal-private-methods and @babel/plugin-proposal-private-property-in-object (when they are enabled): you can silence this warning by explicitly adding
remote:         ["@babel/plugin-proposal-private-methods", { "loose": true }]
remote:        to the "plugins" section of your Babel config.
remote:        Though the "loose" option was set to "false" in your @babel/preset-env config, it will not be used for @babel/plugin-proposal-private-methods since the "loose" mode option was set to "true" for @babel/plugin-proposal-class-properties.
remote:        The "loose" option must be the same for @babel/plugin-proposal-class-properties, @babel/plugin-proposal-private-methods and @babel/plugin-proposal-private-property-in-object (when they are enabled): you can silence this warning by explicitly adding
remote:         ["@babel/plugin-proposal-private-methods", { "loose": true }]
remote:        to the "plugins" section of your Babel config.
remote:        Though the "loose" option was set to "false" in your @babel/preset-env config, it will not be used for @babel/plugin-proposal-private-methods since the "loose" mode option was set to "true" for @babel/plugin-proposal-class-properties.
remote:        The "loose" option must be the same for @babel/plugin-proposal-class-properties, @babel/plugin-proposal-private-methods and @babel/plugin-proposal-private-property-in-object (when they are enabled): you can silence this warning by explicitly adding
remote:         ["@babel/plugin-proposal-private-methods", { "loose": true }]
remote:        to the "plugins" section of your Babel config.
remote:        Though the "loose" option was set to "false" in your @babel/preset-env config, it will not be used for @babel/plugin-proposal-private-methods since the "loose" mode option was set to "true" for @babel/plugin-proposal-class-properties.
remote:        The "loose" option must be the same for @babel/plugin-proposal-class-properties, @babel/plugin-proposal-private-methods and @babel/plugin-proposal-private-property-in-object (when they are enabled): you can silence this warning by explicitly adding
remote:         ["@babel/plugin-proposal-private-methods", { "loose": true }]
remote:        to the "plugins" section of your Babel config.
remote:        Though the "loose" option was set to "false" in your @babel/preset-env config, it will not be used for @babel/plugin-proposal-private-methods since the "loose" mode option was set to "true" for @babel/plugin-proposal-class-properties.
remote:        The "loose" option must be the same for @babel/plugin-proposal-class-properties, @babel/plugin-proposal-private-methods and @babel/plugin-proposal-private-property-in-object (when they are enabled): you can silence this warning by explicitly adding
remote:         ["@babel/plugin-proposal-private-methods", { "loose": true }]
remote:        to the "plugins" section of your Babel config.
remote:        Though the "loose" option was set to "false" in your @babel/preset-env config, it will not be used for @babel/plugin-proposal-private-methods since the "loose" mode option was set to "true" for @babel/plugin-proposal-class-properties.
remote:        The "loose" option must be the same for @babel/plugin-proposal-class-properties, @babel/plugin-proposal-private-methods and @babel/plugin-proposal-private-property-in-object (when they are enabled): you can silence this warning by explicitly adding
remote:         ["@babel/plugin-proposal-private-methods", { "loose": true }]
remote:        to the "plugins" section of your Babel config.
remote:        Though the "loose" option was set to "false" in your @babel/preset-env config, it will not be used for @babel/plugin-proposal-private-methods since the "loose" mode option was set to "true" for @babel/plugin-proposal-class-properties.
remote:        The "loose" option must be the same for @babel/plugin-proposal-class-properties, @babel/plugin-proposal-private-methods and @babel/plugin-proposal-private-property-in-object (when they are enabled): you can silence this warning by explicitly adding
remote:         ["@babel/plugin-proposal-private-methods", { "loose": true }]
remote:        to the "plugins" section of your Babel config.
remote:        Though the "loose" option was set to "false" in your @babel/preset-env config, it will not be used for @babel/plugin-proposal-private-methods since the "loose" mode option was set to "true" for @babel/plugin-proposal-class-properties.
remote:        The "loose" option must be the same for @babel/plugin-proposal-class-properties, @babel/plugin-proposal-private-methods and @babel/plugin-proposal-private-property-in-object (when they are enabled): you can silence this warning by explicitly adding
remote:         ["@babel/plugin-proposal-private-methods", { "loose": true }]
remote:        to the "plugins" section of your Babel config.
remote:        Though the "loose" option was set to "false" in your @babel/preset-env config, it will not be used for @babel/plugin-proposal-private-methods since the "loose" mode option was set to "true" for @babel/plugin-proposal-class-properties.
remote:        The "loose" option must be the same for @babel/plugin-proposal-class-properties, @babel/plugin-proposal-private-methods and @babel/plugin-proposal-private-property-in-object (when they are enabled): you can silence this warning by explicitly adding
remote:         ["@babel/plugin-proposal-private-methods", { "loose": true }]
remote:        to the "plugins" section of your Babel config.
remote:        Though the "loose" option was set to "false" in your @babel/preset-env config, it will not be used for @babel/plugin-proposal-private-methods since the "loose" mode option was set to "true" for @babel/plugin-proposal-class-properties.
remote:        The "loose" option must be the same for @babel/plugin-proposal-class-properties, @babel/plugin-proposal-private-methods and @babel/plugin-proposal-private-property-in-object (when they are enabled): you can silence this warning by explicitly adding
remote:         ["@babel/plugin-proposal-private-methods", { "loose": true }]
remote:        to the "plugins" section of your Babel config.
remote:        Though the "loose" option was set to "false" in your @babel/preset-env config, it will not be used for @babel/plugin-proposal-private-methods since the "loose" mode option was set to "true" for @babel/plugin-proposal-class-properties.
remote:        The "loose" option must be the same for @babel/plugin-proposal-class-properties, @babel/plugin-proposal-private-methods and @babel/plugin-proposal-private-property-in-object (when they are enabled): you can silence this warning by explicitly adding
remote:         ["@babel/plugin-proposal-private-methods", { "loose": true }]
remote:        to the "plugins" section of your Babel config.
remote:        Though the "loose" option was set to "false" in your @babel/preset-env config, it will not be used for @babel/plugin-proposal-private-methods since the "loose" mode option was set to "true" for @babel/plugin-proposal-class-properties.
remote:        The "loose" option must be the same for @babel/plugin-proposal-class-properties, @babel/plugin-proposal-private-methods and @babel/plugin-proposal-private-property-in-object (when they are enabled): you can silence this warning by explicitly adding
remote:         ["@babel/plugin-proposal-private-methods", { "loose": true }]
remote:        to the "plugins" section of your Babel config.
remote:
remote:        Hash: 37b0b142d3c0c861029e
remote:        Version: webpack 4.46.0
remote:        Time: 11750ms
remote:        Built at: 06/27/2021 2:34:04 PM
remote:                                                     Asset       Size  Chunks                         Chunk Names
remote:                    js/application-788b95750de0c828c49b.js   31.6 KiB       0  [emitted] [immutable]  application
remote:                 js/application-788b95750de0c828c49b.js.br   8.11 KiB          [emitted]
remote:                 js/application-788b95750de0c828c49b.js.gz    9.3 KiB          [emitted]
remote:                js/application-788b95750de0c828c49b.js.map    111 KiB       0  [emitted] [dev]        application
remote:             js/application-788b95750de0c828c49b.js.map.br   24.3 KiB          [emitted]
remote:             js/application-788b95750de0c828c49b.js.map.gz   28.4 KiB          [emitted]
remote:                    js/hello_react-393abbf52db3406c1b87.js    129 KiB       1  [emitted] [immutable]  hello_react
remote:        js/hello_react-393abbf52db3406c1b87.js.LICENSE.txt  788 bytes          [emitted]
remote:                 js/hello_react-393abbf52db3406c1b87.js.br   36.5 KiB          [emitted]
remote:                 js/hello_react-393abbf52db3406c1b87.js.gz   41.6 KiB          [emitted]
remote:                js/hello_react-393abbf52db3406c1b87.js.map    391 KiB       1  [emitted] [dev]        hello_react
remote:             js/hello_react-393abbf52db3406c1b87.js.map.br     96 KiB          [emitted]
remote:             js/hello_react-393abbf52db3406c1b87.js.map.gz    111 KiB          [emitted]
remote:                                             manifest.json  703 bytes          [emitted]
remote:                                          manifest.json.br  169 bytes          [emitted]
remote:                                          manifest.json.gz  202 bytes          [emitted]
remote:        Entrypoint application = js/application-788b95750de0c828c49b.js js/application-788b95750de0c828c49b.js.map
remote:        Entrypoint hello_react = js/hello_react-393abbf52db3406c1b87.js js/hello_react-393abbf52db3406c1b87.js.map
remote:        [5] ./app/javascript/packs/application.js 426 bytes {0} [built]
remote:        [6] (webpack)/buildin/module.js 552 bytes {0} [built]
remote:        [7] ./app/javascript/channels/index.js 205 bytes {0} [built]
remote:        [8] ./app/javascript/channels sync _channel\.js$ 160 bytes {0} [built]
remote:        [9] ./app/javascript/packs/hello_react.jsx 615 bytes {1} [built]
remote:            + 9 hidden modules
remote:
remote:        yarn install v1.22.4
remote:        [1/4] Resolving packages...
remote:        success Already up-to-date.
remote:        Done in 0.95s.
remote:        Asset precompilation completed (40.48s)
remote:        Cleaning assets
remote:        Running: rake assets:clean
remote: -----> Detecting rails configuration
remote:
remote: ###### WARNING:
remote:
remote:        No Procfile detected, using the default web server.
remote:        We recommend explicitly declaring how to boot your server process via a Procfile.
remote:        https://devcenter.heroku.com/articles/ruby-default-web-server
remote:
remote:
remote: -----> Discovering process types
remote:        Procfile declares types     -> (none)
remote:        Default types for buildpack -> console, rake, web
remote:
remote: -----> Compressing...
remote:        Done: 67.8M
remote: -----> Launching...
remote:        Released v6
remote:        https://dividend-portal.herokuapp.com/ deployed to Heroku
remote:
remote: Verifying deploy... done.
To https://git.heroku.com/dividend-portal.git
 * [new branch]      main -> main
yoshikouki commented 3 years ago

現状企業一覧は表示できていないけど、whenever が正常に作動してくれたら明日の9時には更新されているはず PixelSnap 2021-06-27 at 23 41 40@2x

yoshikouki commented 3 years ago

heroku では whenever が使えないことが分かった。

代替案として、 heroku 自身のcron的な機能を利用することもできる https://devcenter.heroku.com/articles/scheduler

まあ本番環境は用意できたのでマージ