此页面需要javascript支持,请在浏览器中启用javascript

Github持续集成Profile

Github Actions
CI
ascii
README.md
阅读 

构建自己的 public profile

注册Github后,去新建 repository
有2个比较特殊:

  • {{username}}.github.io 用来创建gh-pages,github.io会帮助创建二级域名
  • {{username}} 这个 repository 的 `README.md

`中的内容会直接展示在我们的Github首页

今天我们就来玩玩这个 {{username}}/{{username}} public profile

Start

既然是只展现README.md
我们就让他好玩一点
搞个字符串画,每天都变化

我们按照渲染引擎的思路
先创建一个template.md在里面写上自个的layout
然后把需要replace的地方标识出来
这方面可以看文章最后的项目地址,我用{{xxx}}这样的方式
在markdown里面把位置给标识出来

生成字符

这里用的是ascii-art-font,
项目因为只是为了演示,越简单越好,所以没有采用读取图片生成字符画的思路,因为那种复杂度就上去了

动态的点也是越简单越好,我这里就用的是dayjs格式化一下日期,生成字符画,做字符串拼接,最终生成README.md
ps: 字符画必须用 ``` 包裹,不然会被markdown转义

让每天的日期动起来!

这时候就要请我们的 CI --> Github Actions 出场了
哪里进入?点进项目里面,上面和CodeIssues,并列的部分,有个Actions,里面就是Github自带CI的配置

先上一个配置大全

我用Nodejs写的
Node Guide

.github/workflows/main.yml

name: 'Change Date Everyday'

on:
  # git push 到 main 分支触发
  push:
    branches:
      - main
  # 定时任务触发
  schedule:
    # 时区是UTC世界,我们中国在东八区,所以要加8
    # 下面指我们这的凌晨5点
    # - cron: '0 21 * * *'
    # 早上9点触发把
    # - cron: '0 1 * * *'
    # UTC时间触发
    - cron: '5 0 * * *'

jobs:
  # build job
  build:
    # 环境
    runs-on: ubuntu-latest
    # 步骤
    steps:
      # git啥的
      - uses: actions/checkout@v2
      # 安装node
      - uses: actions/setup-node@v2
        with:
          # 要装就装最新稳定版
          node-version: '14'
      # 生成 README.md
      - name: generate README.md
        run: npm i --production && npm start
      # git 提交 README.md
      - name: git commit files
        # 这个action的本质
        # 就是git设置好local的name和email
        # git add
        # git commit
        uses: EndBug/add-and-commit@v6
        with:
          author_name: icebreaker-bot
          author_email: 1324318532@qq.com
          add: '*.md'

这样每天生成 README.md 就好了
网上很多的Github Actions(中文的)都太老了,不如直接看官方文档
部署的时候会出现很多的错误,可以直接在Actions里查看报错信息,并加以修改
发现Actions报错Github也会发邮件过来

总结来说就是,玩 Github Actions 多试错多部署就行

项目地址: link

效果: sonofmagic

© 2021 icebreaker 苏ICP备19002675号-2
version:1.2.2