什么是Github Action
- Github Actions是Github推出的一个新的功能,可以为我们的项目自动化地构建工作流,例如代码检查,自动化打包,测试,发布版本等等。入口在项目
Actions
。
该文章不涉及Github Action以及Hexo的教学。请自行查阅
添加Github Action
可以在网页上 Actions 里编辑配置文件,也可以直接在源文件的仓库的本地目录添加直接 commit。
- 本文直接在源文件的仓库的本地目录提交配置文件,将配置文件存至原文件仓库目录下的 .github/workflows/随便起名.yml。
- 脚本配置如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
| name: Hexo CI CD on: workflow_dispatch: push: branches: - main jobs: build-and-deploy: runs-on: ubuntu-latest steps: - name: Checkout 🛎️ uses: actions/checkout@v2 with: persist-credentials: false submodules: recursive - name: "Using Special Node Version" uses: actions/setup-node@v2 with: node-version: "12"
- name: Generate Hexo site ⚗️ run: | echo "Github Action Env Checking..." echo "Node Version: `node -v`" echo "Coping theme config file" CONFIG_FILE="_config.yml" NEXT_THEME_FILE="next.theme.yml" THEME_DIR="themes/next" TARGET_FILE="${THEME_DIR}/${CONFIG_FILE}" echo "Copying theme config file" cp "${NEXT_THEME_FILE}" "${TARGET_FILE}" head -n 1 "${TARGET_FILE}" # Install dependencies && update env echo "Install npm dependencies" npm i echo "Load hexo binary..." export PATH="$PATH:./node_modules/.bin" echo "Hexo version: $(hexo -v)" echo "Gulp version: $(gulp -v)" echo "Gulp Tasks" && gulp --tasks # Generate site && minify site files, such as: html, js, css hexo g --debug && gulp
- name: Deploy 🚀 uses: JamesIves/github-pages-deploy-action@3.6.2 with: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} BRANCH: gh-pages FOLDER: public/ CLEAN: true PRESERVE: true
|
后续工作
- 构建出来的文件将会部署到 gh-pages 分支,将 Github Pages 的分支设置为其即可
- 主题文件名(next.theme.yml)请自行修改
- 需要配置主题可以参考: Hexo Next 主题安装、配置及美化
-------------本文结束再接再厉-------------
微信支付
支付宝