# 🔆创建备份仓库
该仓库用于备份博客源码,名字可以随便起,记得与本地仓库保持一致即可,且分支必须保持与先前存放站点文件的仓库一样!!!
# 🔆持续集成配置
# 🥀登录 AppVeyor
直接使用 GitHub 授权登录即可 👉 AppVeyor 登录页
# 🥀新建项目
点击 NEW PROJECT,然后再点击 Import existing installations,将 AppVeyor 授权为 GitHub App
选定 1 中的仓库作为新项目
# 🥀编写构建脚本
新建 Access Token
略
将生成好的 Access Token 用 AppVeyor 进行 加密,随即将密文 复制保存 下来,以防备用
在 Hexo 目录中创建并编写 appveyor.yml 构建脚本,并将密文配置上去
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_EMAIL:GitHub 账号的邮箱
- GIT_USER_NAME:GitHub 账号的用户名
# 🔆上传备份
需要备份的文件有:
- source 目录的所有文件
- scaffolds 目录的所有文件
- themes 目录的所有文件
- _config.landscape.yml 文件
- _config.yml 文件
- appveyor.yml 文件
- package.json 文件
编辑 .ignore 文件,添加不需要备份的文件
.ignore文件 .DS_Store
Thumbs.db
db.json
*.log
node_modules/
public/
.deploy*/
_multiconfig.yml
package-lock.json
将本地博客源码上传到备份仓库
git 命令行窗口 git add -A
git commit -m '备份博客源码'
git push origin master
# 🔆观察构建情况
博客源码成功推送到备份仓库时,会直接触发 Appveyor 构建,执行 appveyor.yml 构建脚本
当观察到有 Build success 字样时,即为构建成功
可以来到 站点仓库 查看最新的提交记录
😎success 至此,一个完美的博客就此诞生了,感谢大家的陪伴与支持🎆🎆🎆🌸🌸🌸