部署指南
1. 微信小程序部署
MoneyDodo小程序要求基础库版本为2.6.1以上。小程序部署相对比较简单,主要借助微信开发者工具即可完成部署。部署小程序的完整步骤如下:
-
注册小程序账号,并配置小程序服务器域名
在微信公众平台上完成小程序的注册,注册完成后可以获得appid作为小程序的唯一标识。为了让小程序能够访问特定域名的服务器,需要在小程序管理页面填写服务器域名并通过验证。
-
购买域名,申请证书并完成域名的ICP备案
微信小程序若需要与后端服务交互,则后端服务必须为https协议,且需要有经过备案的域名。域名和证书可在阿里云,腾讯云等购买。备案则需要在官方的备案网站上按指南完成备案,详见这里。
-
上传代码
开发并调试完成后,可通过微信开发者工具上传代码,上传代码后登录小程序后台管理页面提交审核,审核通过后即可发布。在审核通过之前也可以先通过体验版进行真机测试。
2. web项目
项目地址:传送门
Build Setup
# install dependencies
$ npm install
# serve with hot reload at localhost:3000
$ npm run dev
# build for production and launch server
$ npm run build
$ npm start
# generate static project
$ npm run generate
3. 后台服务器部署
shell脚本部署服务器:
-
克隆代码
$ git clone https://github.com/money-hub/MoneyDodo.service.git
-
编写**startup.sh:**启动服务
echo 'starting root server...' echo -e '\n\n\n\n\n\n----------------------------------------\n' >> ./log/main.log go run main.go >> ./log/main.log 2>&1 & sleep 2 echo 'starting service auth...' echo -e '\n\n\n\n\n\n----------------------------------------\n' >> ./log/auth.log go run authentication/cmd/main.go >> ./log/auth.log 2>&1 & sleep 2 echo 'starting service certify...' echo -e '\n\n\n\n\n\n----------------------------------------\n' >> ./log/certify.log go run certify/cmd/main.go >> ./log/certify.log 2>&1 & sleep 2 echo 'starting service comment...' echo -e '\n\n\n\n\n\n----------------------------------------\n' >> ./log/comment.log go run comment/cmd/main.go >> ./log/comment.log 2>&1 & sleep 2 echo 'starting service cpt...' echo -e '\n\n\n\n\n\n----------------------------------------\n' >> ./log/cpt.log go run cpt/cmd/main.go >> ./log/cpt.log 2>&1 & sleep 2 echo 'starting service task...' echo -e '\n\n\n\n\n\n----------------------------------------\n' >> ./log/task.log go run task/cmd/main.go >> ./log/task.log 2>&1 & sleep 2 echo 'starting service user...' echo -e '\n\n\n\n\n\n----------------------------------------\n' >> ./log/user.log go run user/cmd/main.go >> ./log/user.log 2>&1 & sleep 2 echo 'starting service charge...' echo -e '\n\n\n\n\n\n----------------------------------------\n' >> ./log/charge.log go run charge/cmd/main.go >> ./log/charge.log 2>&1 & sleep 2 echo 'starting service review...' echo -e '\n\n\n\n\n\n----------------------------------------\n' >> ./log/review.log go run review/cmd/main.go >> ./log/review.log 2>&1 & sleep 2 echo 'starting service deal...' echo -e '\n\n\n\n\n\n----------------------------------------\n' >> ./log/deal.log go run deal/cmd/main.go >> ./log/deal.log 2>&1 & sleep 2 echo 'done...'
-
编写**stop.sh:**停止服务
echo 'stoping following process...' ps -Af | grep -E '(go run)|(/tmp/go)' | grep -v 'grep' PID=`ps -Af | grep -E '(go run)|(/tmp/go)' | grep -v 'grep' | awk '{print $2}'` kill -9 ${PID} echo 'done'
-
编写**show-status:**查看服务状态
ps -Af | grep -E '(go run)|(/tmp/go)' | grep -v 'grep'
docker容器部署
-
dockerfile编写:
#dockerfiles/auth.dockerfile #源镜像 FROM golang:1.12 #设置镜像工作目录 WORKDIR $GOPATH/src/github.com/money-hub/MoneyDodo.service #将宿主机的go工程代码加入到docker容器中 ADD . $GOPATH/src/github.com/money-hub/MoneyDodo.service # 安装依赖包 RUN go get ./... #暴露端口 EXPOSE 8001 #最终运行docker的命令 ENTRYPOINT ["go", "run", "./authentication/cmd/main.go"]
-
构建docker镜像,并运行:
$ sudo docker build -f dockerfiles/auth.dockerfile -t moneydodo_auth . $ sudo docker run -d -p <The IP you want to use>:8001:8001 moneydodo_auth
其他服务如此。
-
docker-compose容器快速编排(实现中):
$ sudo docker-compose up -d