fix:修改 https
All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 6m36s

This commit is contained in:
shanshanzhong 2026-01-24 00:41:02 -08:00
parent 1d81df6664
commit 5def1cf6d8
3 changed files with 40 additions and 56 deletions

View File

@ -49,7 +49,7 @@ jobs:
if [ "${{ github.ref_name }}" = "main" ]; then if [ "${{ github.ref_name }}" = "main" ]; then
echo "DOCKER_TAG_SUFFIX=latest" >> $GITHUB_ENV echo "DOCKER_TAG_SUFFIX=latest" >> $GITHUB_ENV
echo "CONTAINER_NAME=ppanel-server" >> $GITHUB_ENV echo "CONTAINER_NAME=ppanel-server" >> $GITHUB_ENV
echo "DEPLOY_PATH=/root/vpn_server" >> $GITHUB_ENV echo "DEPLOY_PATH=/root/bindbox" >> $GITHUB_ENV
echo "为 main 分支设置生产环境变量" echo "为 main 分支设置生产环境变量"
elif [ "${{ github.ref_name }}" = "dev" ]; then elif [ "${{ github.ref_name }}" = "dev" ]; then
echo "DOCKER_TAG_SUFFIX=dev" >> $GITHUB_ENV echo "DOCKER_TAG_SUFFIX=dev" >> $GITHUB_ENV
@ -137,8 +137,19 @@ jobs:
echo "镜像推送完成" echo "镜像推送完成"
# 步骤5: 连接服务器拉镜像启动 # 步骤5: 传输配置文件
- name: 🚀 连接服务器拉镜像启动 - name: 📂 传输配置文件
uses: appleboy/scp-action@v0.1.7
with:
host: ${{ env.SSH_HOST }}
username: ${{ env.SSH_USER }}
password: ${{ env.SSH_PASSWORD }}
port: ${{ env.SSH_PORT }}
source: "docker-compose.cloud.yml"
target: "${{ env.DEPLOY_PATH }}/"
# 步骤6: 连接服务器更新并启动
- name: 🚀 连接服务器更新并启动
uses: appleboy/ssh-action@v1.0.3 uses: appleboy/ssh-action@v1.0.3
with: with:
host: ${{ env.SSH_HOST }} host: ${{ env.SSH_HOST }}
@ -149,60 +160,27 @@ jobs:
command_timeout: 600s command_timeout: 600s
script: | script: |
echo "连接服务器成功,开始部署..." echo "连接服务器成功,开始部署..."
echo "部署容器名: ${{ env.CONTAINER_NAME }}" echo "部署目录: ${{ env.DEPLOY_PATH }}"
echo "部署路径: ${{ env.DEPLOY_PATH }}" echo "部署标签: ${{ env.DOCKER_TAG_SUFFIX }}"
echo "部署镜像: ${{ env.REPO }}:${{ env.DOCKER_TAG_SUFFIX }}"
# 确保部署目录存在 # 进入部署目录
mkdir -p ${{ env.DEPLOY_PATH }}/config
mkdir -p ${{ env.DEPLOY_PATH }}/logs
# 停止并删除旧容器(忽略所有错误)
if docker ps -a | grep -q ${{ env.CONTAINER_NAME }} 2>/dev/null; then
echo "停止旧容器..."
docker stop ${{ env.CONTAINER_NAME }} >/dev/null 2>&1 || true
echo "等待容器完全停止..."
sleep 5
echo "删除旧容器..."
# 静默删除,完全忽略错误输出
docker rm ${{ env.CONTAINER_NAME }} >/dev/null 2>&1 || true
sleep 2
# 如果仍然存在,尝试强制删除(静默)
if docker ps -a | grep -q ${{ env.CONTAINER_NAME }} 2>/dev/null; then
echo "尝试强制删除..."
docker rm -f ${{ env.CONTAINER_NAME }} >/dev/null 2>&1 || true
sleep 3
fi
echo "容器清理完成,继续部署..."
fi
# 拉取最新分支镜像
echo "拉取镜像: ${{ env.REPO }}:${{ env.DOCKER_TAG_SUFFIX }}..."
docker pull ${{ env.REPO }}:${{ env.DOCKER_TAG_SUFFIX }}
# 启动新容器
echo "启动新容器..."
cd ${{ env.DEPLOY_PATH }} cd ${{ env.DEPLOY_PATH }}
docker run -d \
--name ${{ env.CONTAINER_NAME }} \
--restart unless-stopped \
--network host \
-v ./config/ppanel.yaml:/app/etc/ppanel.yaml \
-v ./logs:/app/logs \
${{ env.REPO }}:${{ env.DOCKER_TAG_SUFFIX }}
# 检查容器状态 # 创建/更新环境变量文件
sleep 5 echo "PPANEL_SERVER_TAG=${{ env.DOCKER_TAG_SUFFIX }}" > .env
if docker ps | grep -q ${{ env.CONTAINER_NAME }}; then
echo "✅ 容器启动成功" # 拉取最新镜像
else echo "📥 拉取镜像..."
echo "❌ 容器启动失败" docker-compose -f docker-compose.cloud.yml pull ppanel-server
docker logs ${{ env.CONTAINER_NAME }}
exit 1 # 启动服务
fi echo "🚀 启动服务..."
docker-compose -f docker-compose.cloud.yml up -d ppanel-server
# 清理未使用的镜像
docker image prune -f || true
echo "✅ 部署命令执行完成"
# 步骤6: TG通知 (成功) # 步骤6: TG通知 (成功)
- name: 📱 发送成功通知到Telegram - name: 📱 发送成功通知到Telegram

View File

@ -10,7 +10,7 @@ services:
# 1. 业务后端 (PPanel Server) # 1. 业务后端 (PPanel Server)
# ---------------------------------------------------- # ----------------------------------------------------
ppanel-server: ppanel-server:
image: registry.kxsw.us/ario-server:latest image: registry.kxsw.us/ario-server:${PPANEL_SERVER_TAG:-latest}
container_name: ppanel-server container_name: ppanel-server
restart: always restart: always
ports: ports:

View File

@ -7,6 +7,7 @@ import (
"fmt" "fmt"
"io" "io"
"net/http" "net/http"
"strings"
"time" "time"
) )
@ -153,5 +154,10 @@ func (c *Client) CreateInviteShortLink(ctx context.Context, baseURL, inviteCode,
return "", err return "", err
} }
// 强制使用 HTTPS
if strings.HasPrefix(link.Link, "http://") {
link.Link = strings.Replace(link.Link, "http://", "https://", 1)
}
return link.Link, nil return link.Link, nil
} }