Vaporの記事はQiitaにたくさんあるんですけどほとんどがVaporのインストールとかが省略されてるか、バージョンが古かったりしたので最新のインストール方法やビルド方法、実行方法、Herokuへのデプロイ方法まで紹介したいと思います。
まぁ、VaporのDocs見ればすぐできるんですけど、僕みたいにめんどくさがって日本語のサイトしか見ず、躓かないように紹介しますね。
Docs読んでぱっぱとやっていく人用にリンク貼っておきます。
##Vapor toolboxのインストール
僕は前からSwiftを使っていろいろしてたのでSwiftとPackage Managerのインストールはしてません。
なので紹介することができません。ご了承ください。
まずはVaporコマンドを使うためのtoolboxをインストールします。
$ curl -sL check.vapor.sh | bash
$ curl -sL toolbox.vapor.sh | bash
このあとに
$ vapor --help
でエラーが出なかったら完了です。
アップデートがあるかもしれないので一応
$ vapor self update
これも実行しておきましょう。
##プロジェクト作成
toolboxをインストールできたのでこれからプロジェクト作成します。
xcodeから作るのではなくターミナルから作るみたいでびっくりしました。
$ vapor new *****
******
にプロジェクト名を入力し実行するとプロジェクトフォルダができます。
僕はseversideという名前にしたかったのですが誤字りました。マジでめんどくさい。。。
これめちゃめちゃ可愛いですよね。
サーバーサイドSwiftのライブラリたくさんある中でなんでこれにしたかっていうと、サイトが可愛いからんですよね。
どうでもいいんですけど。
フォルダはできたんですがフォルダを作ったばかりだとxcodeで開くための.xcodeprojファイルはないです。
そのファイルを作るためのコマンドを実行します。
$ vapor xcode
プロジェクトファイル直下でこれを実行してください。
これで.xcodeprojができます。処理が終わったあとにxcodeで開くか聞いてくるのでy/nで答えましょう。
##ビルド&実行
もうデフォルトのままビルドし実行します。デフォルトでも、もうめちゃめちゃ簡単なコードが書かれてますので実行できます。
$ vapor build
これでビルドができます。
めちゃめちゃ長いと思います。僕のは長かったです。
次は実行です。
$ vapor run serve
どちらもプロジェクトファイル直下で実行してください。
無事にRunできると
Running sevsrside...
No preparations.
Server 'default' starting at 0.0.0.0:8080
と表示されます。
localhostにアクセスしてみましょう。
このようなかわいいのが表示されると思います。
Runが成功しました。
##Herokuにデプロイし実行
無事ローカルでRunができたので次は実用に向けるためHerokuにデプロイします。
Heroku以外にもDigitalOcean , Docker , AWS , Bluemixを使うことができます。
今回は無料でssl通信も使えることができるHerokuを使うことにします。
Herokuの設定では自分のgithubアカウントにデプロイするのではなくHeorkuGitにデプロイするように設定してください。
今回はVaporのはじめ方の記事であり、Herokuの記事ではないのでHerokuでの様々な設定はすべて終わらせてからこのあとの記事を読んで下さい。
Herokuの使い方の記事はQiitaにも沢山ありますのでがんばってください。幾つか載せておきますね。
HerokuにログインやHerokuGitとの紐付けに成功したらBuildpackをHerokuにインストールします。これをインストールしないとHeroku上にSwiftをあげることができません。
$ heroku buildpacks:set https://github.com/kylef/heroku-buildpack-swift
この一行をプロジェクト直下で実行するだけです。
このあとにgitにコミット、プッシュをすると完了します。
アプリケーションを開いてみるとローカルと同じ可愛い画面が表示されると思います。
最後に
今回簡単にインストール方法から実行、Herokuにデプロイするところまで紹介しましたが、簡単に説明しすぎて至らないところがあるかもしれませんが最後まで読んでくださりありがとうございます。
この最後のとこまで読んでくれてる人はいないかもしれませんが、わかりにくいことがあったら、僕が参考にしたサイトのほうが詳しく書いてあったりするので読んでみてください。Docsでも英語できない僕みたいな学生でも読めましたんで読んでみてください。
最後まで読んでいただきありがとうございました。
こんな真面目に書いたの初めて。。。