Herokuの各種コマンドを試してみる
helpでコマンドの一覧が確認できる。
> heroku help ・・・ COMMANDS access manage user access to apps addons tools and services for developing, extending, and operating your app ・・・ webhooks list webhooks on an app
とりあえずloginコマンドでログイン。
> heroku login
アプリケーションの作成
「heroku create アプリケーション名」でアプリケーションを作成。
> heroku create hoge-hoge-9999
アプリケーションの一覧はappsコマンドで確認できる。
> heroku apps ・・・ hoge-hoge-9999 ・・・
アプリの情報はapps:infoで見れる。
> heroku apps:info --app hoge-hoge-9999 === hoge-hoge-9999 Auto Cert Mgmt: false Dynos: Git URL: https://git.heroku.com/hoge-hoge-9999.git Owner: hoge@hoge.com Region: us Repo Size: 0 B Slug Size: 0 B Stack: heroku-20 Web URL: https://hoge-hoge-9999.herokuapp.com/
上記の例では、「--app アプリケーション名」でアプリを指定したが、
cloneしたリポジトリ上であれば、
> git clone https://git.heroku.com/hoge-hoge-9999.git > cd hoge-hoge-9999
「--app アプリケーション名」は省略できる。
> heroku apps:info ・・・
※別途gitのリモートにherokuを追加したい場合は、下記のコマンドを実行。
$ heroku git:remote -a アプリ名 $ git remote -v heroku https://git.heroku.com/アプリ名.git (fetch) heroku https://git.heroku.com/アプリ名.git (push) origin ・・・ origin ・・・
index.phpの設置
<?php echo 'Hello, world!';
Herokuに反映。
> git add . > git commit -m "first commit" > git push origin master
openで、アプリケーションをブラウザで確認できる。
> heroku open
PostgreSQLの使用
addons:createでPostgreSQLのアドオンを追加してみる。
今回は、無料の「hobby-dev」を指定。
> heroku addons:create heroku-postgresql:hobby-dev
ちなみに、Herokuのサイトから追加する場合は、
ResourceのページでAdd-onsでPosgreSQLを検索して追加していく。
addonsコマンドで、アドオンの一覧を確認できる。
> heroku addons Add-on Plan Price State ───────────────────────────────────────────── ───────── ───── ─────── heroku-postgresql (postgresql-polished-XXXXX) hobby-dev free created └─ as DATABASE The table above shows add-ons and the attachments to the current app (hoge-hoge-9999) or other apps.
pg:sqlコマンドでデータベースにアクセスする。
ただし、コマンドを実行する環境にPostgreSQLをインストールしておく必要がある。
インストールしていないと、下記のようなエラーが出る。
> heroku pg:psql --> Connecting to postgresql-polished-81447 ! The local psql command could not be located. For help installing psql, see ! https://devcenter.heroku.com/articles/heroku-postgresql#local-setup
Windowsの場合は、下記のサイトからダウンロードして、インストールを実行し、 https://www.enterprisedb.com/downloads/postgres-postgresql-downloads
Windowsの環境変数のPathに「C:\Program Files\PostgreSQL\13\bin」のようなパスを設定する。
これで、データベースにアクセスできる。
> heroku pg:psql ・・・ hoge-hoge-9999::DATABASE=>
最初はテーブルは1つもないので、
hoge-hoge-9999::DATABASE=> \d リレーションが見つかりませんでした。
試しにテーブルを作って、
hoge-hoge-9999::DATABASE=> CREATE TABLE hoge_table (id int, name varchar(10)); hoge-hoge-9999::DATABASE=> \d リレーション一覧 スキーマ | 名前 | タイプ | 所有者 ----------+------------+----------+---------------- public | hoge_table | テーブル | ligrbttjehztaf
データを追加してみる。
hoge-hoge-9999::DATABASE=> INSERT INTO hoge_table VALUES (1, 'hoge'); hoge-hoge-9999::DATABASE=> SELECT * FROM hoge_table; id | name ----+------ 1 | hoge
接続を終了。
hoge-hoge-9999::DATABASE=> \q
pg:infoでDBの情報が見れる。
> heroku pg:info === DATABASE_URL Plan: Hobby-dev Status: Available Connections: 0/20 PG Version: 12.5 Created: 2021-01-24 08:41 UTC Data Size: 8.0 MB Tables: 1 Rows: 1/10000 (In compliance) Fork/Follow: Unsupported Rollback: Unsupported Continuous Protection: Off Add-on: postgresql-polished-81447
また、下記のコマンドでDBへの接続情報が見れる。
> heroku pg:credentials:url Connection information for default credential. Connection info string: "dbname=・・・ host=ec2-XXX-XXX-XXX-XXX.compute-1.amazonaws.com port=5432 user=・・・ password=・・・ sslmode=require" Connection URL: postgres://・・・:・・・@ec2-XXX-XXX-XXX-XXX.compute-1.amazonaws.com:5432/・・・
環境変数
configコマンドで環境変数が確認できる。
> heroku config === hoge-hoge-9999 Config Vars DATABASE_URL: postgres://・・・:・・・@ec2-XXX-XXX-XXX-XXX.compute-1.amazonaws.com:5432/・・・
config:setで環境変数が追加できる。
> heroku config:set HOGE=hogehoge > heroku config === hoge-hoge-9999 Config Vars DATABASE_URL: ・・・ HOGE: hogehoge
特定の環境変数の情報する場合はconfig:get。
> heroku config:get HOGE hogehoge
config:unsetで環境変数を削除できる。
> heroku config:unset HOGE > heroku config === hoge-hoge-9999 Config Vars DATABASE_URL: ・・・
その他
logsでログが見れる。
> heroku logs ・・・
「heroku run コマンド」でコマンドを実行できる。
bashを実行することも可。
> heroku run bash Running bash on ⬢ hoge-hoge-9999... up, run.8967 (Free) ~ $ pwd /app ~ $ ls Procfile composer.json index.php vendor
アプリケーションの削除は、apps:destroy。
> heroku apps:destroy ・・・ (アプリケーション名を入力)
logoutでログアウト。
> heroku logout