素人が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だとだめなようです。
なので、先程作ったサンプルフォルダをこの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が繋がりました!祝
そして手動デプロイ!
いけたので、自動デプロイも設定しておきます。
自動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@アカウントの作成
LINE@アカウントと書いてますが、現在はLINEの公式アカウントに統合されているので、それを作りますが、ここでは割愛します。
一旦幹事BOTという名前にしました。
次がBOTサーバの開発です。
続きは明日にします。
いつもありがとうございます!
よろしければサポートお願いします! 頂いたサポートはクリエイター活動に活用させて頂きます。