Github Actions自动生成Hugo站点并部署到Github Pages

使用hugo建立建立个人网站可以参考Hugo安装使用实例

使用github pages来部署个人网站可以参考GithubPages部署免费网站

下面将会介绍如何通过github actions来将以上两个操作关联在一起并自动化完成!

建立Repositories

建立一个unixetc/ghsource.git属性为私有(private)的用来放置Hugo源码,然后再建一个unixetc/unixetc.gihub.io.git属性为公有(public)并设置Github Pages服务。

设置Deploy keys与Secrets

使用ssh-keygen命令来生成私钥公钥。

$ ssh-keygen.exe -t rsa -b 4096 -C "alairs@live.cn"  #邮箱自定义Generating public/private rsa key pair.Enter file in which to save the key (/c/Users/alair/.ssh/id_rsa):   #存放目录,可自定义Created directory '/c/Users/alair/.ssh'.Enter passphrase (empty for no passphrase):Enter same passphrase again:Your identification has been saved in /c/Users/alair/.ssh/id_rsa  #私钥Your public key has been saved in /c/Users/alair/.ssh/id_rsa.pub  #公钥 The key fingerprint is:SHA256:ZiNPDGtAKC6MA alairs@live.cnThe key's randomart image is:+---[RSA 4096]----+|      ..  +o.    ||     .  .  o..   ||  .   +  .... .  ||o+ o o =  .o .   ||+EO o = S . .    ||o  B . % + .     || .o .oB *        || ...++ B         || ... .. o        |+----[SHA256]-----+

unixetc/unixetc.gihub.io.git的设置中将公钥内容添加至Deploy keys,名称自定义,并勾选allow write access


unixetc/hgsource.git的设置中将私钥内容添加至Secrets,命名为ACTIONSDEPLOYKEY,这个后面要用到。


设置Github Actions

unixetc/hgsource.git设置Github Actions


在新建的hgsource/.github/workfows/main.yml中填入以下内容:

name: Auto Build and Deploy  #actions名称,可自定义on:  push:    branches:      - masterjobs:  build-deploy:    runs-on: ubuntu-18.04    steps:      - uses: actions/checkout@v2         # with:       #   submodules: true
- name: Setup Hugo uses: peaceiris/actions-hugo@v2 with: hugo-version: 'latest' extended: true
- name: Build Hugo Site run: hugo --minify #生成站点
- name: Deploy to GitHub pages uses: peaceiris/actions-gh-pages@v3 with: deploy_key: ${{ secrets.ACTIONSDEPLOYKEY }} # 同上面私钥(Private Key)变量名 external_repository: unixetc/unixetc.github.io # Github Pages远程地址 publish_dir: "./public" #推送目录 keep_files: false # 删除已存在文件 publish_branch: master # 推送 commit_message: ${{ github.event.head_commit.message }}

完成后保存即可。

自动生成并部署

unixetc/ghsource.git Clone下来。

$git clone https://github.com/unixetc/hgsource.git

参考Hugo安装使用实例生成站点。

$git add .$git commit -m "update"$ git pushEnumerating objects: 360, done.Counting objects: 100% (360/360), done.Delta compression using up to 4 threadsCompressing objects: 100% (355/355), done.Writing objects: 100% (360/360), 3.09 MiB | 1.13 MiB/s, done.Total 360 (delta 3), reused 0 (delta 0), pack-reused 0remote: Resolving deltas: 100% (3/3), done.To https://github.com/unixetc/hgsource.git * [new branch]      master -> master
Push完后,即可触发github actions,生成后的站点可以通过https://unixetc.github.io查看。

本文分享自微信公众号 - unixetc(unixetc)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

优秀的个人博客,低调大师

微信关注我们

原文链接:https://my.oschina.net/wrchiu/blog/4691978

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario,低调大师唯一一个Java游戏作品

Mario,低调大师唯一一个Java游戏作品

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

Sublime Text 一个代码编辑器

Sublime Text 一个代码编辑器

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。