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

Github持续集成Profile

Github Actions
CI
ascii
README.md
共660个字,阅读时间 3 分钟
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://icebreaker.top/articles/2021/1/15-CI-public-profile

构建自己的 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