使用Swift4+Vapor写后端-部署heroku服务器

使用Swift4+Vapor写后端-部署heroku服务器
文章图片
前言
上一篇我们初步了解了vapor创建项目,本篇我们学习一下vapor服务的部署。国外网站Heroku 提供免费的代码部署服务,作为初学者我们选择heroku来部署我们的vapor服务。
注册
heroku注册一个账号,注册流程略。注册完成后,我们可以直接创建一个app,或者使用终端操作。本篇介绍后者。
安装与卸载(mac OS)
安装 下载安装包。
【使用Swift4+Vapor写后端-部署heroku服务器】homebrew命令安装heroku

brew install heroku/brew/heroku

国内使用homebrew安装异常缓慢,推荐使用安装包安装。
卸载
rm -rf /usr/local/heroku rm -rf ~/.local/share/heroku ~/.config/heroku ~/Library/Caches/heroku

如果使用homebrew安装
brew uninstall heroku rm -rf ~/.local/share/heroku ~/.config/heroku ~/Library/Caches/heroku

部署服务器
cd 进入项目目录下,提交git后开始设置服务器。
登录heroku: heroku login
Enter your Heroku credentials: Email: xxxxxxxx.com Password: *********** Logged in as xxxxxxxx.com

使用vapor部署heroku: vapor heroku init
// 自定义app名字 Would you like to provide a custom Heroku app name? y/n> y Custom app name: > youAppName // Choose a region: US OR Europe Would you like to deploy to a region other than the US? y/n> nWould you like to provide a custom Heroku buildpack? y/n> nAre you using a custom Executable name? y/n> nWould you like to push to Heroku now? y/n> y

(重要)自定义custom Heroku buildpack 其实在上一步Would you like to provide a custom Heroku buildpack?就可以完成这个操作,为了条例清晰,所以单独做这个操作。这步是告诉Heroku我们的包是使用Swift编写的,“build”的时候要采用Swift语言。
heroku buildpacks:set https://github.com/kylef/heroku-buildpack-swift.git

(重要)增加Procfile和.swift-version文件 因为我们要部署在heroku上,所以要在项目根目录下增加Procfile文件。使用Procfile可以为web服务器设置运行进程。 任何使用swift包管理器从Swift源生成的二进制文件都将放置在$PATH中。文件内容如下:
for Vapor 2 apps:web: Run --env=production --port=$PORTfor Vapor 3 apps (Swift 4.1 required):web: Run serve --env production --hostname 0.0.0.0 --port $PORT

使用.swift-version文件自定义swift版本。这里我们使用的是swift4,所以在.swift-version文件中输入4.0.
配置数据库
heroku addons:create heroku-postgresql:hobby-dev

更新部署
git add . $ git commit -am "make it better" $ git push heroku master

除了更新部署之外,以上任何操作都能在heroku的网页后台完成,填写错误都可以去后台更改。
最后
差不多都踩完坑了,完成这些操作部署成功之后,应该就可以访问app的请求了。
后面我们就正式开始敲代码吧~
相关参考
Heroku
Heroku文档

    推荐阅读