8
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

クランチタイマー株式会社Advent Calendar 2021

Day 25

Goをherokuで自動実行する

Last updated at Posted at 2021-12-24

はじめに

ついにアドベントカレンダー最終日になってしまいました。
私のクリスマスは帰国によりホテルでの隔離生活であるため、時間だけがありました。

ずっとGoを勉強したかったこともあり、この機会に入門しました。
丁度良いタイミングで中学の頃からの先輩がGoでLIFFアプリを開発していたので、こちらで勉強させていただきました笑。

↑こちらの記事で作成したアプリをherokuにデプロイするところまでします。

作成したもの

↓LINEの友達追加から、デモがみれます。
M_gainfriends_qr.png
天気予報が雨であれば、毎朝6時に公式アカウントから通知が送られてきます。(写真はテスト実装なので、本来は6:00amになります。)
LINE_capture_662059571.438251.JPG

アプリを作成する

Qiita記事を参考にしながら作成しました。作成したリポジトリがこちらです。

実際にデプロイするので環境変数を追加してます。

main.go
// 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/<アプリ名>を設定し完了です。
通知がきていると思います!:grin:

さいごに

普段フロントエンド専門で開発しているので、Goに触れるのが今回が初めてでしたが、2022年はバックエンドを学習しWebアプリケーションの全体像を理解しているエンジニアになりたいです!

8
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?