zoukankan      html  css  js  c++  java
  • Hugo博客搭建

    HUGO + Github + Github Action持续集成部署个人博客

    HUGO本地环境

    首先在HUGO的官网下载Hugo的Windows安装包,然后将路径添加到环境变量即可。

    step1:下载hugo

    step2:配置环境变量

    HUGO站点配置及主题配置

    创建站点

    在目录下直接输入下面的代码即可创建一个名为blog的hugo站点(注意:新建的站点是没有自带主题的)

    hugo new site blog
    

    或者进入blog文件夹内直接输入以下语句:

    hugo new site .
    

    下载主题

    可以在hugo theme下载主题,然后根据主题的文档进行配置

    放到站点文件夹themes内,配置config.toml

    本地测试运行

    输入hugo server测试

    Github配置

    创建站点仓库并且设置GithubPage

    可以在Setting中看见如下:

    创建一个存储项目的仓库

    配置Github Action

    首先在项目仓库点击action,选择Simple workflow,输入一下的配置代码:

    name: CI #自动化的名称
    on:
      push: # push的时候触发
        branches: # 那些分支需要触发
          - master
    jobs:
      build:
        runs-on: ubuntu-latest # 镜像市场
        steps:
          - name: checkout # 步骤的名称
            uses: actions/checkout@v1 #软件市场的名称
            with: # 参数
              submodules: true
          - name: Setup Hugo
            uses: peaceiris/actions-hugo@v2.2.2
            with:
              hugo-version: '0.64.1'
              extended: true
          - name: Build
            run: hugo -D
          - name: Deploy
            uses: peaceiris/actions-gh-pages@v2.5.1
            env:
              ACTIONS_DEPLOY_KEY: ${{ secrets.ACTIONS_DEPLOY_KEY }}
              EXTERNAL_REPOSITORY: redisread/redisread.github.io
              PUBLISH_BRANCH: master
              PUBLISH_DIR: ./public
    
    

    准备部署,我们开发的项目及github pages实际是分开的,一个用于保存项目,相当于源代码,另外一个用于保存最终的网页文件。

    1. 使用git生成ssh key(相当于生成对密钥)

      ssh-keygen -t rsa -b 4096 -C "$(git config user.email)" -f gh-pages -N ""
      # You will get 2 files:
      #   gh-pages.pub (public key)
      #   gh-pages     (private key)
      

      假设 开发项目为 HUGO_blog 部署的项目为 redisread.github.io

    2. 打开HUGO_blog仓库的settings,再点击Secrets,然后添加刚刚生成的私钥,name为ACTIONS_DEPLOY_KEY

    3. 同理,打开redisread.github.io,点击Deploy keys,添加公钥,Allow write access一定要勾上,否则会无法提交

    然后,你就可以提交代码了,push成功后,打开仓库actions,至此部署成功,大功告成!

  • 相关阅读:
    Ubuntu 14.04 apt-get update失效解决(转)
    linux内核动态调试技术
    Ubuntu18.04开机挂载硬盘
    valgrind memcheck使用方法及效果(转)
    网络测试工具netperf(转)
    开发pc端项目可支持多个窗口登陆
    sql常用语句
    包装类和基础类的区别
    @param
    前台后台的顺序
  • 原文地址:https://www.cnblogs.com/jiahongwu/p/hugo-first.html
Copyright © 2011-2022 走看看