はじめに
ついにアドベントカレンダー最終日になってしまいました。
私のクリスマスは帰国によりホテルでの隔離生活であるため、時間だけがありました。
ずっとGoを勉強したかったこともあり、この機会に入門しました。
丁度良いタイミングで中学の頃からの先輩がGoでLIFFアプリを開発していたので、こちらで勉強させていただきました笑。
↑こちらの記事で作成したアプリをherokuにデプロイするところまでします。
作成したもの
↓LINEの友達追加から、デモがみれます。
天気予報が雨であれば、毎朝6時に公式アカウントから通知が送られてきます。(写真はテスト実装なので、本来は6:00amになります。)
アプリを作成する
Qiita記事を参考にしながら作成しました。作成したリポジトリがこちらです。
実際にデプロイするので環境変数を追加してます。
// localでは.envファイルを参照するためにこのコメントアウトしている範囲を使用します。
// err := godotenv.Load(".env")
// if err != nil {
// log.Fatal(err) // .env読めなかった場合の処理
//}
bot, _ := linebot.New(
os.Getenv("LINE_BOT_CHANNEL_SECRET"),
os.Getenv("LINE_BOT_CHANNEL_TOKEN"),
)
herokuで新しいプロジェクト作成
heroku create <アプリ名>で Heroku アプリケーションを作成します。
$ heroku create <アプリ名>
環境変数を追加
Settings > Config Varsから環境変数追加
デプロイ
$ heroku git:remote -a <herokuに登録したアプリ名>
$ git push heroku main
$ heroku run ./bin/<herokuに登録したアプリ名>
実際に通知が確認できます。
毎朝6時に自動実行
初期設定
クレジットカードの登録が必要なので、Herokuにカード情報を追加します。
ヘッダーのユーザー > アイコンAccount Settings > Billing > Add Credit Cards
ちなみに住所の書き方は日本と逆順に書きます。
情報 | 説明 | 例 |
---|---|---|
Address Line 1 | 番地と町名 | #1001 1-2 3-chome Liff Kita-ku |
Address Line 2 | 部屋番号や建物名を分けてもいいですが、基本Line1に全て入力します | |
City | 市または区 | Hiroshima |
State/Province | 都道府県 | Hiroshima |
ZIP/Postal Code | 郵便番号 | 7123456 |
Country | 国 | Japan |
実行
$ heroku addons:create scheduler
$ heroku addons:open scheduler
コマンド実行後、画面が切り替わるので、./bin/<アプリ名>
を設定し完了です。
通知がきていると思います!
さいごに
普段フロントエンド専門で開発しているので、Goに触れるのが今回が初めてでしたが、2022年はバックエンドを学習しWebアプリケーションの全体像を理解しているエンジニアになりたいです!