Webアプリケーションのバージョンアップ(release) リリース管理機能(release / rollback) メンテナンス画面への切り替え(maintenance) データベースのバックアップ取得(pgbackups) データベースのリストア(pgbackups:restore) ログの確認(logs) 実行プロセスであるdyno数の変更(dynos) バックグラウンドジョブであるworker数の変更(workers) アプリケーションの再起動(restart)
git remote add heroku git@heroku.com:damp-temple-5458.git
heroku_app=example OPT_CONFIG_VARS_EXCLUDE="DATABASE_URL|HEROKU_POSTGRESQL_[\w]+_URL|REDIS_TLS_URL|REDIS_URL" heroku config -a $heroku_app | grep -v -P "$OPT_CONFIG_VARS_EXCLUDE" | perl -ane 'if(/^([\w\_]+):\s+(.+)/){print "$1: $2\n"}'
heroku_apps="example1 example2" for app in $heroku_apps; do \ heroku releases -a $app -n 20 2>/dev/null | grep -P "===|Deploy" | head -n 2; \ done
HEROKU_APP=example echo "select count(*) from table;" | heroku pg:psql --app $HEROKU_APP
sudo apt update ... W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: https://cli-assets.heroku.com/apt ./ InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 6DB5542C356545CF W: Failed to fetch https://cli-assets.heroku.com/apt/./InRelease The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 6DB5542C356545CF W: Some index files failed to download. They have been ignored, or old ones used instead.
curl https://cli-assets.heroku.com/apt/release.key | sudo apt-key add -
#!/bin/bash i=0 cat "data.csv" | while IFS=',' read -a cols || [ -n "${cols}" ]; do if [ $i == 0 ]; then # skip header line i=$(($i+1)) continue; fi heroku run rake example:example param1=${cols[1]} --app ${cols[0]} < /dev/null 2>/dev/null | grep -A 100 '^Called from' | grep -v "^Called from" done
heroku run rake --tasks -a $HEROKU_APP heroku run rake -T -a $HEROKU_APP
set HerokuPath=C:\Program Files (x86)\Heroku set PATH=%PATH%;C:\Program Files (x86)\Heroku\bin;C:\Program Files (x86)\git\cmd;C:\Program Files (x86)\Git\cmd heroku login heroku version heroku/toolbelt/3.43.2 (i386-mingw32) ruby/2.1.7 heroku-cli/5.2.9-e9df6ac (windows-386) go1.6.2 You have no installed plugins.
特定のdynoだけ応答不能になる事がある
heroku ps -a app-id heroku restart web.1 -a app-id heroku restart worker.1 -a app-id
# リリースバージョンの一覧を表示 heroku releases # 一つ前のバージョンにロールバック heroku releases:rollback # バージョンを指定してロールバック heroku releases:rollback v10
heroku info --app app_name | grep git@ Git URL: git@heroku.com:damp-temple-5458.git
git clone git@heroku.com:damp-temple-5458.git
git add . git commit -m "commit message" git push origin master
git remote add heroku git@heroku.com:damp-temple-5458.git # または以下ファイルを直接編集 vi .git/config
curl https://cli-assets.heroku.com/install.sh | sh heroku --version heroku/8.1.3 wsl-x64 node-v16.19.0 which heroku /usr/local/bin/heroku
# インストール gem install heroku # アップデート gem update heroku # バージョン確認 heroku version heroku-gem/2.32.6 (x86_64-linux) ruby/1.9.2 autoupdate
heroku keys:add
heroku apps
# アプリ情報 heroku info --app damp-temple-5458 === damp-temple-5458 Git URL: git@heroku.com:damp-temple-5458.git Owner Email: example@example.com Repo Size: 1M Slug Size: 1M Stack: cedar Web URL: http://damp-temple-5458.herokuapp.com/ # アプリ設定 heroku config --app damp-temple-5458 === damp-temple-5458 Config Vars GEM_PATH: vendor/bundle/ruby/1.9.1 LANG: en_US.UTF-8 PATH: bin:vendor/bundle/ruby/1.9.1/bin:/usr/local/bin:/usr/bin:/bin
heroku ps === run: one-off processes run.1: complete 2012/10/01 12:05:24 (~ 14m ago): `bundle exec irb` === web: `bundle exec ruby web.rb -p $PORT` web.1: up 2012/10/01 12:01:45 (~ 18m ago)
heroku logs --tail
heroku maintenance:on
heroku maintenance:off
# 現在のモードの表示
heroku maintenance
off
heroku config:add MAINTENANCE_PAGE_URL=http://s3.amazonaws.com/heroku_pages/maintenance.html
heroku config:add ERROR_PAGE_URL=http://s3.amazonaws.com/heroku_pages/error.html
heroku config:add TZ=Asia/Tokyo heroku config:add LANG=ja_JP.UTF-8
heroku stack --app アプリケーション名
heroku plugins:install apps-table
heroku apps:table
App Name Stack Team
example1 heroku-18 null
# db 作成 heroku run rake db:migrate # db 初期値インポート heroku run rake db:seed # db:pull, db:push するために必要なモジュール gem install taps # dbダウンロード(指定DBの初期化、インポートがされるので注意) heroku db:pull sqlite://path/to/保存ファイル名.sqlite3 --app アプリケーション名 heroku db:pull sqlite://mydb.sqlite3 heroku db:pull mysql://root:mypass@localhost/mydb.mysql heroku db:pull postgres://postgres:mypass@remotehost/mydb.postgres # heroku config のデータベースURLでも良い。db/development.sqlite3 が上書きされる heroku db:pull DATABASE_URL # dbアップロード heroku db:push sqlite://path/to/アップロードファイル名.sqlite --app アプリケーション名 heroku db:push sqlite://mydb.sqlite heroku db:push mysql://root:mypass@localhost/mydb.mysql heroku db:push postgres://postgres:mypass@remotehost/mydb.postgres # localのdb/development.sqlite3 をpush heroku db:push DATABASE_URL
heroku destroy アプリケーション名