发布前言

发布分类

发布开发版
发布测试版
发布生产版

前端所对应的环境文件分别是

.env.dev
.env.test
.env.prod

后端所对应的环境文件分别是

envs/.env.dev
envs/.env.test
envs/.env.prod

使用 Gradle 发布

找到子项目的 gradle.properties, 配置三个环境的编译环境, 服务器的 root 连接信息

; 跳过 go 测试, 取消注释, 不执行 go test
; skipTest = 1

; 构建程序名称, gower create my-project 后, 会自动改为 bin = my-project
bin = gower

; 开发环境
dev.npmBuildEnv = dev
; 开发 go 测试标签
dev.goTestTags = tmpl,static
; 开发 go 构建标签
dev.goBuildTags = tmpl,static
; 开发环境禁用 cgo
dev.cgoEnabled = 0
; 开发环境系统
dev.goos = windows
; 开发环境架构
dev.goarch = amd64

; 测试环境
test.npmBuildEnv = test
; 测试 go 测试标签
test.goTestTags = test,tmpl,static
; 测试 go 构建标签
test.goBuildTags = test,tmpl,static
; 测试环境禁用 cgo
test.cgoEnabled = 0
; 测试环境系统
test.goos = linux
; 测试环境架构
test.goarch = amd64
; 测试环境 ssh 主机
test.host = 192.168.101.101
; 测试环境 ssh 端口
test.port = 22
; 测试环境 ssh 用户
test.user = root
; 测试环境 ssh 密码
test.password = root

; 生产环境
prod.npmBuildEnv = prod
; 生产 go 测试标签
prod.goTestTags = prod,tmpl,static
; 生产 go 构建标签
prod.goBuildTags = prod,tmpl,static
; 生产环境禁用 cgo
prod.cgoEnabled = 0
; 生产环境系统
prod.goos = linux
; 生产环境架构
prod.goarch = amd64
; 生产环境 ssh 主机
prod.host = 192.168.101.101
; 生产环境 ssh 端口
prod.port = 22
; 生产环境 ssh 用户
prod.user = root
; 生产环境 ssh 密码
prod.password = root

使用命令行 Rclone 发布

Rclone 是一款 Go 语言实现的文件同步传输工具, 可以把测试版和生产版的代码, 上传到对应服务上.

同时支持检测文件修改上传, 意思是指, 除了第一次上传外, 以后只会上传修改的文件, 极大提高了工作效率.

安装使用

直接运行脚本, 进行安装与配置

./cmd/init-rclone

运行结果如下:

---------------- rclone installing... ----------------
go: downloading github.com/rclone/rclone v1.62.2
go: downloading github.com/buengese/sgzip v0.1.1
go: downloading github.com/gabriel-vasile/mimetype v1.4.2
go: downloading github.com/Max-Sum/base32768
.
.
.
---------------- rclone installed ----------------
rclone v1.62.2-DEV
- os/version: Microsoft Windows 11 Pro 21H2 (64 bit)
- os/kernel: 10.0.22000.1696 Build 22000.1696.1696 (x86_64)
- os/type: windows
- os/arch: amd64
- go/version: go1.20
- go/linking: static
- go/tags: none
---------------- please create test and prod ssh server ----------------
No remotes found, make a new one?
n) New remote
s) Set configuration password
q) Quit config
n/s/q> 

配置 test 和 prod 两个 remote

输入 n

输入名称 test

选择 39 SSH 服务器类型

输入服务器 IP

输入登录账户 root

输入 SSH 端口 22

输入密码或选择 xxx.pem

一路回车, 创建 test remote

然后再输入 n 创建 prod remote

结果如下:

Current remotes:

Name                 Type
====                 ====
prod                 sftp
test                 sftp

e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
e/n/d/r/c/s/q>