# 🔆创建备份仓库

该仓库用于备份博客源码,名字可以随便起,记得与本地仓库保持一致即可,且分支必须保持与先前存放站点文件的仓库一样!!!

# 🔆持续集成配置

# 🥀登录 AppVeyor

直接使用 GitHub 授权登录即可 👉 AppVeyor 登录页

image-20241004235221432

# 🥀新建项目

  1. 点击 NEW PROJECT,然后再点击 Import existing installations,将 AppVeyor 授权为 GitHub App

    image-20241005002305224

    image-20241005001316429

  2. 选定 1 中的仓库作为新项目

    image-20241005003342842

# 🥀编写构建脚本

  1. 新建 Access Token

  2. 将生成好的 Access Token 用 AppVeyor 进行 加密,随即将密文 复制保存 下来,以防备用

    image-20241005004031868

  3. 在 Hexo 目录中创建并编写 appveyor.yml 构建脚本,并将密文配置上去

    image-20241005005145834

    appveyor.yml
    clone_depth: 5
    environment:
      access_token:
        secure: # Access Token 加密后的密文
    install:
      - node --version
      - npm --version
      - npm install
      - npm install hexo-cli -g
      - hexo --version
      - npm un hexo-renderer-marked --save
      - npm i hexo-renderer-markdown-it-plus hexo-renderer-multi-markdown-it markdown-it-prism hexo-autoprefixer hexo-algoliasearch hexo-symbols-count-time hexo-feed hexo-filter-nofollow --save
      - npm list
    build_script:
      - hexo generate
      - hexo algolia
    artifacts:
      - path: public
    on_success:
      - git config --global credential.helper store
      - ps: Add-Content "$env:USERPROFILE\.git-credentials" "https://$($env:access_token):x-oauth-basic@github.com`n"
      - git config --global user.email "%GIT_USER_EMAIL%"
      - git config --global user.name "%GIT_USER_NAME%"
      - git clone --depth 5 -q --branch=%TARGET_BRANCH% %STATIC_SITE_REPO% %TEMP%\static-site
      - cd %TEMP%\static-site
      - del * /f /q
      - for /d %%p IN (*) do rmdir "%%p" /s /q
      - SETLOCAL EnableDelayedExpansion & robocopy "%APPVEYOR_BUILD_FOLDER%\public" "%TEMP%\static-site" /e & IF !ERRORLEVEL! EQU 1 (exit 0) ELSE (IF !ERRORLEVEL! EQU 3 (exit 0) ELSE (exit 1))
      - git add -A
      - if "%APPVEYOR_REPO_BRANCH%"=="master" if not defined APPVEYOR_PULL_REQUEST_NUMBER (git diff --quiet --exit-code --cached || git commit -m "Update Static Site" && git push origin %TARGET_BRANCH% && appveyor AddMessage "Static Site Updated")

# 🥀环境变量设置

添加并设置如下 4 个环境变量:

  • STATIC_SITE_REPO博客站点 Github 仓库地址
  • TARGET_BRANCH博客站点仓库的 branch(默认是 master)
  • GIT_USER_EMAILGitHub 账号的邮箱
  • GIT_USER_NAMEGitHub 账号的用户名

image-20241005010707541

# 🔆上传备份

  1. 需要备份的文件有:

    • source 目录的所有文件
    • scaffolds 目录的所有文件
    • themes 目录的所有文件
    • _config.landscape.yml 文件
    • _config.yml 文件
    • appveyor.yml 文件
    • package.json 文件
  2. 编辑 .ignore 文件,添加不需要备份的文件

    .ignore文件
    .DS_Store
    Thumbs.db
    db.json
    *.log
    node_modules/
    public/
    .deploy*/
    _multiconfig.yml
    package-lock.json
  3. 将本地博客源码上传到备份仓库

    git 命令行窗口
    git add -A
    git commit -m '备份博客源码'
    git push origin master

# 🔆观察构建情况

博客源码成功推送到备份仓库时,会直接触发 Appveyor 构建,执行 appveyor.yml 构建脚本

当观察到有 Build success 字样时,即为构建成功

image-20241005014140785

可以来到 站点仓库 查看最新的提交记录

image-20241005014532714

😎success 至此,一个完美的博客就此诞生了,感谢大家的陪伴与支持🎆🎆🎆🌸🌸🌸

更新于 阅读次数

请我喝[茶]~( ̄▽ ̄)~*

Mr.Song 微信支付

微信支付

Mr.Song 支付宝

支付宝