見出し画像

素人が2020年までの1ヶ月でLINE BOTに挑戦する毎日note. 【Day 16:開発環境を整える part 2】

こんにちは!
12月1日から2019年残り1ヶ月でスケジュール調整BOTの開発に挑戦している"くろ"です。

ついに16日目です。折返しです!ここまで2週間以上お付き合い頂いた方がもしいればとても嬉しいです。

そして、うれしい気持ちもありながら、あと16日という時間のなさを痛感して苦しい気持ちもありますが、楽しみながらやっていきたいと思います。

BOTの概要:Day 2の記事

BOTの仕様:機能一覧やフローチャート Day 10の記事

今日は、昨日同様に開発環境整理をこの記事に基づいて進めていきます。

昨日はherokuのサンプルをデプロイする所までやりました。

この記事の途中のheroku openというコマンドを打ってみる所までですね。

記事の中で、heroku公式のチュートリアルは読んどいた方がいいよって書いてたので、ちょっと読んで実行しておきます。

さて本題ですが、expressのサンプルはエラーになったので、herokuサンプルで一旦進めます。

できたーーーー!!!

C:\Users\XXXXX\Documents\GitHub\node-js-getting-started>curl -H "Content-Type: application/json" https://XXXXX.herokuapp.com/g/
{"method":"こんにちは、getさん"}
C:\Users\XXXXX\Documents\GitHub\node-js-getting-started>curl -X POST -H "Content-Type: application/json" https://XXXXX.herokuapp.com/p/
{"method":"こんにちは、postさん"}

ちなみに、index.jsの名前を変えた時はprocfileというファイルを編集すれば大丈夫そうです。そのうちこれを結構いじることになりそうですね。

もしかして時代が進んでサンプルが変わり、index.jsがなくなるかもしれません。そんなときは同フォルダにあるProcfileを見てください(ProcfileはHerokuの設定ファイルです)。その中に、サーバ起動コードが書かれています。今はここにweb: node index.jsと書いており、index.jsがルートファイルであることが分かります。逆に言えばこのProcfileを書き換えれば、いろいろできるわけです。

・herokuにgithubからデプロイ

デフォルトだとherokuに直接デプロイする感じなんですが、ちょっと良くなさそうなので、変えます。

そのままherokuに直接デプロイするときは、

$ git push heroku master

こういう呪文を唱えるのですが、

これをGithubからデプロイできるようにします。

これに従ってやっていこうとしたんですが、元々先程作ったファイルが既にあるので、web上でcloneすることはせず、新しいrepositoryを作ってそれをherokuで設定しようとしました。

しかし、こんなエラーが。空のrepositoryだとだめなようです。

画像1

なので、先程作ったサンプルフォルダをこのrepositoryに上げようとおもって、

git init
git add README.md
git commit -m "first commit"
git remote add origin https://github.com/username/aaa.git
git push -u origin master

こんなことをしようとしたのですが、

git remote add origin https://github.com/username/aaa.git

のところで、fatal: remote origin already exists.というエラーが出るので、調べてみると、

$ git remote rm origin

このコマンドで一度originをリセットする必要があるようでした。
herokuの方と一回つなげてるから、だめだったんだと思います。

これやってから、さっきのinitから再度やるとしっかりpushできました!

そして、githubとherokuが繋がりました!祝

画像2

そして手動デプロイ!

画像3

いけたので、自動デプロイも設定しておきます。

自動Deployって?
スルーしたAutomatic deploys欄内の「Enable Automatic Deploys」をオンにするとどうなるのでしょうか?
ここも、手動deploy同様、ブランチを選択できます。GitHubの対象のブランチにソースコードが変更され、コミットされたら、自動的にHerokuへDeployする、という機能です。また、もう一つ気になるチェックがあることに気がついたでしょうか?そうです Wait for CI to pass before deploy です。これをチェックすると、Deployの前に Heroku CIが動き、自動的にソースコード内で設定されたユニットテストが実行されます。そのテストコードがすべてパスしたら、Deployするフローとなります。

masterというブランチがgithubで更新されたら、自動的にデプロイしてくれるみたいで、その前にコミットテストというテストもしてくれるみたいです。よくわかってないけど、便利!

これで一応node.jsとherokuの準備までできました。

次はLINE@アカウントの作成

画像4

LINE@アカウントと書いてますが、現在はLINEの公式アカウントに統合されているので、それを作りますが、ここでは割愛します。

一旦幹事BOTという名前にしました。

画像5

次がBOTサーバの開発です。

続きは明日にします。

いつもありがとうございます!

よろしければサポートお願いします! 頂いたサポートはクリエイター活動に活用させて頂きます。