笔者没什么开发经验,swift是学的第一门编程语言,谨开此系列文章记录自己瞎折腾的过程。
环境搭建
vapor是swift语言的后端框架,编写它自然少不了xcode,所以只适合在mac上玩,Linux上我用clion玩了几下,发现代码提示太难受了,还是需要在mac上进行开发。
一. Mac
1.安装Homebrew
Mac上的软件包管理,Homebrew官网
2.安装vapor
$ brew install vapor/tap/vapor
3.安装docker,注册dockerHUB
桌面版,直接进官网下载即可。
一切就绪,开始hello world~
打开终端,新建一个文件夹
$ mkdir vaporserver //创建一个文件夹
$ vapor new hello //在文件夹中下载vapor提供的api模板
出现上图,代表完事,模板下载了下来。
打开Package.swift做一些修改,现在vapor orm支持三种关系型数据库,sqlite3,mysql,postgreSQL,我准备使用postgreSQL作为数据库,至于为什么,我也不懂,只是觉得名字长。
将原来的Sqlite的依赖删除,换上PostgreSQL的,具体的地址和dependencies需要去GitHub上查。
执行
$ vapor xcode -y
这条指令是生成xcode项目的,然后经过漫长的等待。。xcode自动打开了工程,点击运行旁边的模拟器,选择Run>Mymac,点击小三角,运行。不出意外,一堆红点点报错。如使用的是xcode10,出现import 模块,不提示的情况,可以点击File -- Project Settings,将Build System改成老的方式。
删除文件:Todo.swift,TodoController.swift
删除routes.swift 中关于todos的代码
进入configure.swift这个配置文件,将做一些修改。
运行,打开浏览器,输入localhost:8080,可以看到it' work,大工告成。
最后,来生成docker镜像。
将工程文件夹里面的web.Dockerfile文件改名为Dockerfile
在当前文件夹的下的终端执行:
假设注册的docker pub命名空间为xiaocainiao,仓库为vapor 冒号后面的就是tag,就是类似版本号,这样设置的好处是可以直接push,不需要再指定tag啥的了,可以少敲一行指令。
$ docker build -t xiaocainiao/vapor:v1.0.0 . --build-arg env=docker