更新部分内容,重测中

This commit is contained in:
2026-07-29 22:55:02 +08:00
parent 42058e724d
commit 761047009e
4 changed files with 31 additions and 29 deletions
BIN
View File
Binary file not shown.
+29 -11
View File
@@ -36,7 +36,7 @@ fi
# ---------- 配置 ----------
REPO_URL="https://git.whitetop.xyz/lxh2875931338/frpc-console.git"
BRANCH="main"
BRANCH="main" # 默认 mainselect_channel 会根据选择修改
WORK_DIR="/tmp/frpc-console-build"
DEFAULT_PORT=9300
DEFAULT_DEPLOY_DIR="/opt/frpc-console"
@@ -99,8 +99,8 @@ parse_args() {
echo "用法: ./deploy.sh [选项]"
echo ""
echo "选项:"
echo " --channel lts 使用 LTS 通道"
echo " --channel preview 使用 Preview 通道"
echo " --channel lts 使用 LTS 通道 (main 分支)"
echo " --channel preview 使用 Preview 通道 (test 分支)"
echo " --yes, -y 跳过所有确认提示"
echo " --check 只检测环境,不执行部署"
echo " --dry-run 显示将执行的操作,不实际执行"
@@ -109,6 +109,7 @@ parse_args() {
echo "示例:"
echo " ./deploy.sh # 交互式选择通道"
echo " ./deploy.sh --channel lts # 部署 LTS 版本"
echo " ./deploy.sh --channel preview # 部署 Preview 版本"
echo " ./deploy.sh --yes # 无人值守部署"
exit 0
;;
@@ -283,28 +284,43 @@ compare_version() {
fi
}
# ---------- 通道选择 ----------
# ---------- 通道选择(含分支切换)----------
select_channel() {
if [ -n "$CHANNEL" ]; then
if [ "$CHANNEL" != "lts" ] && [ "$CHANNEL" != "preview" ]; then
print_error "无效通道: $CHANNEL (仅支持 lts / preview)"
exit 1
fi
if [ "$CHANNEL" = "preview" ]; then
BRANCH="test"
else
BRANCH="main"
fi
return
fi
echo ""
echo -e "${CYAN}请选择部署通道:${NC}"
echo " 1. LTS (稳定版,生产推荐) [默认]"
echo " 2. Preview (技术预览版,包含新特性)"
echo " 1. LTS (稳定版,生产推荐) [默认] → main 分支"
echo " 2. Preview (技术预览版,包含新特性) → test 分支"
echo ""
read -p "请选择 [1]: " CHANNEL_INPUT </dev/tty
CHANNEL_INPUT=${CHANNEL_INPUT:-1}
case $CHANNEL_INPUT in
1|"") CHANNEL="lts" ;;
2) CHANNEL="preview" ;;
*) print_error "无效选择"; exit 1 ;;
1|"")
CHANNEL="lts"
BRANCH="main"
;;
2)
CHANNEL="preview"
BRANCH="test"
;;
*)
print_error "无效选择"
exit 1
;;
esac
print_info "已选择: ${CHANNEL} 通道 (${BRANCH} 分支)"
}
# ---------- 检测结果汇总 ----------
@@ -399,6 +415,7 @@ print_deployment_plan() {
echo -e " 部署目录 : ${DEPLOY_DIR}"
echo -e " 目标版本 : ${TARGET_VERSION}"
echo -e " 镜像标签 : ${IMAGE_TAG}"
echo -e " 源码分支 : ${BRANCH}"
echo -e " ────────────────────────────────────"
if [ "$CONTAINER_EXISTS" = true ]; then
@@ -535,7 +552,7 @@ do_deploy() {
git clone --depth 1 --branch "$BRANCH" "$REPO_URL" "$WORK_DIR"
cd "$WORK_DIR"
mkdir -p bin static
print_success "代码拉取完成"
print_success "代码拉取完成 (分支: ${BRANCH})"
# ----- 停止旧容器(拉取代码之后)-----
if [ "$CONTAINER_EXISTS" = true ]; then
@@ -552,7 +569,7 @@ do_deploy() {
mkdir -p "$DEPLOY_DIR"
mkdir -p "$DATA_DIR"
# ----- 构建 Docker 镜像Dockerfile 内部完成编译)-----
# ----- 构建 Docker 镜像 -----
print_step "构建 Docker 镜像..."
docker build -t "${IMAGE_NAME}:${IMAGE_TAG}" \
--build-arg VERSION="${TARGET_VERSION}" \
@@ -644,6 +661,7 @@ do_deploy() {
echo -e " ${CYAN}📦 备份目录:${NC} /tmp/frpc-console/db-backups"
echo -e " ${CYAN}🐳 容器名称:${NC} frpc-console"
echo -e " ${CYAN}🏷️ 版本:${NC} ${TARGET_VERSION}"
echo -e " ${CYAN}🌿 分支:${NC} ${BRANCH}"
echo ""
echo -e " ${CYAN}常用命令:${NC}"
echo " docker logs frpc-console # 查看日志"
+2 -2
View File
@@ -14,9 +14,9 @@ var (
)
func main() {
// ---- 写入 VERSION.ini 文件到持久化目录 ----
// 写入 VERSION.ini 到持久化目录
if err := os.WriteFile("./VERSION.ini", []byte(buildVersion+"\n"), 0644); err != nil {
log.Printf("⚠️ 写入 VERSION.ini 文件失败: %v", err)
log.Printf("⚠️ 写入 VERSION.ini 失败: %v", err)
} else {
log.Printf("📌 版本: %s", buildVersion)
}
-16
View File
@@ -35,15 +35,11 @@ const (
// 版本管理核心
// ============================================================
// readVersion 读取仓库根目录的 VERSION.ini 文件
// Preview 格式: "2.4"
// LTS 格式: "2.5 20260729"
func readVersion() (semver string, ltsDate string) {
data, err := os.ReadFile("./VERSION.ini")
if err != nil {
return "0.0.0", ""
}
// 去掉注释行(以 ; 或 # 开头)
lines := strings.Split(string(data), "\n")
var content string
for _, line := range lines {
@@ -65,8 +61,6 @@ func readVersion() (semver string, ltsDate string) {
return semver, ltsDate
}
// getVersionType 判断版本类型
// 规则: X.0 或 X.5 → LTS,其他 → Preview
func getVersionType(semver string) string {
parts := strings.Split(semver, ".")
if len(parts) < 2 {
@@ -79,9 +73,6 @@ func getVersionType(semver string) string {
return "preview"
}
// getFullVersion 生成完整版本字符串
// LTS (X.0/X.5): {semver}-lts-{ltsDate} (必须有日期)
// Preview (其他): {semver}-preview-{buildTimestamp}
func getFullVersion() string {
semver, ltsDate := readVersion()
vType := getVersionType(semver)
@@ -98,9 +89,6 @@ func getFullVersion() string {
}
}
// getImageTag 生成镜像标签
// LTS: {semver}-lts-{ltsDate}
// Preview: preview-{buildTimestamp}
func getImageTag() string {
semver, ltsDate := readVersion()
vType := getVersionType(semver)
@@ -150,10 +138,6 @@ func main() {
interactiveMenu()
}
// ============================================================
// 构建函数
// ============================================================
func listPlatforms() {
fmt.Println("可用平台:")
for i, p := range platforms {