前言
上一篇我们初步了解了vapor创建项目,本篇我们学习一下vapor服务的部署。国外网站Heroku 提供免费的代码部署服务,作为初学者我们选择heroku来部署我们的vapor服务。
注册
heroku注册一个账号,注册流程略。注册完成后,我们可以直接创建一个app,或者使用终端操作。本篇介绍后者。
安装与卸载(mac OS)
安装
下载安装包。
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> n
Would you like to provide a custom Heroku buildpack?
y/n> n
Are you using a custom Executable name?
y/n> n
Would 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=$PORT
for 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的请求了。
后面我们就正式开始敲代码吧~
网友评论