Files
mkdocs/更新部署脚本/部署脚本使用说明.md
2026-01-12 18:37:17 +08:00

4.6 KiB
Raw Permalink Blame History

部署脚本使用说明

概述

部署脚本将以下三个步骤合并为一个自动化流程:

  1. 执行Python脚本更新mkdocs.yml
  2. Git提交和推送代码
  3. 服务器拉取代码并重启服务

脚本版本

提供了多个版本的脚本,适用于不同环境:

  • deploy.py: Python版本推荐跨平台
  • deploy.ps1: PowerShell版本Windows
  • deploy.sh: Bash版本Linux/macOS
  • deploy.bat: 批处理版本Windows

快速开始

方法1: 使用Python脚本推荐

基本使用

# 使用默认提交信息
python deploy.py

# 指定提交信息
python deploy.py -m "更新文档内容"

# 配置服务器信息
python deploy.py --server-user your_user --server-host your_server.com

完整参数

python deploy.py \
    -m "更新文档" \
    --server-user your_user \
    --server-host your_server.com \
    --server-path ~/devops/mkdocs

跳过某些步骤

# 只更新mkdocs.yml和Git不操作服务器
python deploy.py --skip-server

# 只更新mkdocs.yml
python deploy.py --skip-git --skip-server

方法2: 使用配置文件

1. 编辑配置文件

编辑 deploy_config.json:

{
  "server": {
    "user": "your_username",
    "host": "your_server.com",
    "path": "~/devops/mkdocs"
  },
  "git": {
    "branch": "master",
    "remote": "origin"
  }
}

2. 运行脚本

# 使用配置文件中的设置
python deploy.py -m "更新文档"

方法3: Windows PowerShell

# 基本使用
.\deploy.ps1

# 指定参数
.\deploy.ps1 -CommitMessage "更新文档" -ServerUser "user" -ServerHost "host.com"

方法4: Linux/macOS Bash

# 添加执行权限
chmod +x deploy.sh

# 基本使用
./deploy.sh

# 指定参数
./deploy.sh "更新文档" "user" "host.com" "~/devops/mkdocs"

方法5: Windows批处理

# 基本使用
deploy.bat

# 指定参数
deploy.bat "更新文档" "user" "host.com" "~/devops/mkdocs"

配置说明

服务器配置

SSH密钥配置

确保已配置SSH密钥避免每次输入密码

# 生成SSH密钥如果还没有
ssh-keygen -t rsa -b 4096

# 复制公钥到服务器
ssh-copy-id user@server.com

测试SSH连接

ssh user@server.com "echo 'SSH连接成功'"

Git配置

确保Git已配置

git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"

使用示例

示例1: 完整部署流程

# 使用配置文件
python deploy.py -m "完善Obsidian笔记体系文档"

示例2: 只更新本地

# 跳过服务器操作
python deploy.py -m "本地更新" --skip-server

示例3: 只更新服务器

# 跳过mkdocs和Git操作
python deploy.py --skip-mkdocs --skip-git

错误处理

常见问题

1. Python脚本执行失败

  • 检查Python环境
  • 检查add_docs_to_mkdocs.py是否存在
  • 检查mkdocs.yml格式

2. Git操作失败

  • 检查Git配置
  • 检查网络连接
  • 检查远程仓库权限

3. 服务器操作失败

  • 检查SSH连接
  • 检查服务器路径
  • 检查Docker服务状态

调试模式

Python脚本会输出详细的执行信息包括

  • 每个步骤的执行状态
  • 错误信息和堆栈
  • 命令执行结果

安全建议

1. 配置文件安全

  • 不要将包含敏感信息的配置文件提交到Git
  • 使用环境变量存储敏感信息
  • 将deploy_config.json添加到.gitignore

2. SSH安全

  • 使用SSH密钥而非密码
  • 限制SSH访问权限
  • 定期更新SSH密钥

3. 权限控制

  • 限制服务器操作权限
  • 使用最小权限原则
  • 审计部署操作

高级用法

自定义脚本

可以修改脚本添加自定义逻辑:

# 在deploy.py中添加自定义步骤
def custom_step():
    print_info("执行自定义操作...")
    # 自定义逻辑
    pass

集成到CI/CD

可以将脚本集成到CI/CD流程中

# .github/workflows/deploy.yml
name: Deploy
on:
  push:
    branches: [master]
jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Deploy
        run: python deploy.py -m "CI自动部署"

相关文件

  • add_docs_to_mkdocs.py: 更新mkdocs.yml的脚本
  • deploy_config.json: 配置文件
  • docker-compose.yml: Docker配置

注意事项

  1. 备份重要数据: 部署前建议备份
  2. 测试环境: 先在测试环境验证
  3. 版本控制: 确保代码已提交
  4. 服务状态: 确保服务器服务正常

相关链接