fix:修改 https
All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 6m36s
All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 6m36s
This commit is contained in:
parent
1d81df6664
commit
5def1cf6d8
@ -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 \
|
echo "PPANEL_SERVER_TAG=${{ env.DOCKER_TAG_SUFFIX }}" > .env
|
||||||
--network host \
|
|
||||||
-v ./config/ppanel.yaml:/app/etc/ppanel.yaml \
|
# 拉取最新镜像
|
||||||
-v ./logs:/app/logs \
|
echo "📥 拉取镜像..."
|
||||||
${{ env.REPO }}:${{ env.DOCKER_TAG_SUFFIX }}
|
docker-compose -f docker-compose.cloud.yml pull ppanel-server
|
||||||
|
|
||||||
# 检查容器状态
|
# 启动服务
|
||||||
sleep 5
|
echo "🚀 启动服务..."
|
||||||
if docker ps | grep -q ${{ env.CONTAINER_NAME }}; then
|
docker-compose -f docker-compose.cloud.yml up -d ppanel-server
|
||||||
echo "✅ 容器启动成功"
|
|
||||||
else
|
# 清理未使用的镜像
|
||||||
echo "❌ 容器启动失败"
|
docker image prune -f || true
|
||||||
docker logs ${{ env.CONTAINER_NAME }}
|
|
||||||
exit 1
|
echo "✅ 部署命令执行完成"
|
||||||
fi
|
|
||||||
|
|
||||||
# 步骤6: TG通知 (成功)
|
# 步骤6: TG通知 (成功)
|
||||||
- name: 📱 发送成功通知到Telegram
|
- name: 📱 发送成功通知到Telegram
|
||||||
|
|||||||
@ -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:
|
||||||
|
|||||||
@ -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
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user