- mysql5.6.5+(mariadb10.1+)
- java
- springboot
- docker
- k8s
- maven
- 本地调试
- 本地启动程序
- 导入脚本
- 首次运行:scripts/sql/init.sql
- 升级:scripts/sql/vx.x.x~vx.x.x
- 修改数据库连接:application.properties spring.datasource.xxx的值
- 配置wx.properties中的wx.token值
- 右键类 com.okracode.wechat.offiaccount.helper.web.WxSubscriptionWebApplication 运行(或Debug)
- 访问localhost:8080,看到Hello world!页面表示本地运行成功
- 导入脚本
- 使用Ngrok做本地远程域名映射[目前微信已经封了此域名]
- 下载安装Ngrok
- 解压:unzip ngrok.zip
- 关联账户(获取token:https://dashboard.ngrok.com/get-started/setup):./ngrok authtoken tokenxxx
- 运行:./ngrok http 8080
- 获取临时子域名:https://1c7bb669c550.ngrok.io -> https://localhost:8080
- 使用localtunnel做本地远程域名映射[替代Ngrok,如果被封需要自己安装localtunnel的server]
- 安装nodejs
- npx localtunnel --port 8080
- 获取临时子域名:your url is: https://wise-penguin-80.loca.lt
- 本地启动程序
- 服务器运行
- 普通方式
- 导入脚本
- 首次运行:scripts/sql/init.sql
- 升级:scripts/sql/vx.x.x~vx.x.x
- 打包:mvn clean package -U
- 拷贝wechat-offiaccount-helper-web/target/wechat-offiaccount-helper.jar, wechat-offiaccount-helper-web/target/config文件夹到服务器(config文件夹必须和jar在同一目录)
- 修改config文件中的数据库连接:application.properties spring.datasource.xxx的值
- 进入jar和config所在目录:cd wechat-offiaccount-helper-web/target,运行java -jar wechat-offiaccount-helper.jar
- 导入脚本
- docker中运行
- 导入脚本
- 首次运行:scripts/sql/init.sql
- 升级:scripts/sql/vx.x.x~vx.x.x
- 打包:mvn clean package -U
- 拷贝wechat-offiaccount-helper-web/target/wechat-offiaccount-helper.jar, wechat-offiaccount-helper-web/target/config文件夹到服务器(config文件夹必须和jar在同一目录)
- 拷贝Dockerfile到服务器(Dockerfile文件夹必须和jar、config在同一目录)
- 修改config文件中的数据库连接:application.properties spring.datasource.xxx的值
- 进入jar和config所在目录, 构建docker镜像:docker build -t okracode/wechat-offiaccount-helper:v1.7.1 .
- 定义wechat-offiaccount-helper-rs.yaml
apiVersion: apps/v1 kind: ReplicaSet metadata: name: wechat-offiaccount-helper-rs spec: replicas: 1 selector: matchLabels: app: wechat-offiaccount-helper template: metadata: labels: app: wechat-offiaccount-helper spec: containers: - name: wechat-offiaccount-helper image: okracode/wechat-offiaccount-helper:v1.7.1
- kubectl apply -f wechat-offiaccount-helper-rs.yaml
- 查看pod使用的image版本号:kubectl describe po wechat-offiaccount-helper-rs-xxxxx
- 测试访问
- 端口映射临时访问(需要开放对应targetPort的防火墙):kubectl port-forward rs/wechat-offiaccount-helper-rs 8080:8080 --address 0.0.0.0
- 访问站点:https://49.\*.\*.155:8080
- 定义wechat-offiaccount-helper-svc.yaml
apiVersion: v1 kind: Service metadata: name: wechat-offiaccount-helper-svc spec: ports: - port: 80 targetPort: 8080 selector: app: wechat-offiaccount-helper
- 运行kubectl create -f wechat-offiaccount-helper-svc.yaml
- ingress添加url映射okra-code-ing.yaml
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: okracode-ing spec: rules: - host: home.okracode.com http: paths: - path: / pathType: Prefix backend: service: name: okra-home-svc port: number: 80 - http: paths: - path: / pathType: Prefix backend: service: name: wechat-offiaccount-helper-svc port: number: 80
- 更新ingress
kubectl apply -f okra-code-ing.yaml
- 使用ip或域名/wechat.do访问测试
- 更新ingress
- 导入脚本
- 普通方式
- 生成的日志在logs目录
- docker中查看日志
- kubectl exec -it wechat-offiaccount-helper-rs-xxx sh
- cd /logs
- tail -f wechat-offiaccount-helper.log
- 进入订阅号后台,找到基本配置目录,点击服务器配置->修改配置
- URL:填写站点部署的url/wechat.do(本地调试填写临时子域名)
- Token:与SignUtil类中的token值一致
- EncodingAESKey:随机生成
- 消息加解密方式:明文模式
- 使用mvn命令进行升级
- 升级版本号
mvn versions:set -DgenerateBackupPoms=false -DnewVersion=1.7.1
- 升级版本号
- 初始化sql版本升级
- 如果是第一次安装使用,导入init.sql即可
- 如果是从已有版本升级到最新版本[注:不支持跨版本平滑升级],由版本号从小到大依次执行upgrade.sql
- 回滚升级,由版本号从大到小依次执行rollback.sql
- 版本号升级逻辑遵循
- 更新RoadMap和UpgradeLog
- 发布当前版本后,在github上Draft a new release
- tag名称为UpgradeLog版本号
- 标题为UpgradeLog中的三级标题
- 描述为UpgradeLog三级标题下的列表
- 同步gitee
- 修改docker命令与k8s脚本版本号