唠唠闲话

GitHub Action

Yaml 语法文档。
官方仓库:https://github.com/actions

点击 GitHub Action,能看到很多模板。

20240508171635

先演示例子,通过例子学习语法。后边再拓展修改指南。

GitHub Pages

两种途径,一是仓库本身为网站文件。

二是启用 GitHub Action:

20240508174452

比如 mdbook.yml,根据内容修改即可。

参考仓库:https://github.com/Lean-zh/GlimpseOfLean

1
2
3
4
on:
# Runs on pushes targeting the default branch
push:
branches: ["zh_test"]

两阶段。

修改保护规则:

20240508174512

运行 shell 脚本

第一种场景,执行脚本,上传到服务器。

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
name: Deploy to Server

on:
pull_request:
branches:
- master
push:
branches:
- preview

jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Setup Node.js
uses: actions/setup-node@v2
with:
node-version: '20'
- name: Setup SSH Keys and Known Hosts
env:
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
SSH_CONFIG: ${{ secrets.SSH_CONFIG }}
run: |
mkdir -p ~/.ssh
echo "$SSH_PRIVATE_KEY" > ~/.ssh/id_rsa
echo "$SSH_CONFIG" > ~/.ssh/config
chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_rsa
ssh -vT yourhost "echo Successfully connected to yourhost"

- name: Build Project
run: npm install && npm run build

- name: Deploy to Preview Server
run: rsync -rv --no-perms --no-owner --no-group --delete ./dist/ yourhost:/path/to/the/repo

释义:

  • 使用 Ubuntu 容器运行
  • 使用 node 20 版本环境
  • 构建,上传到 yourhost:/path/to/the/repo

在仓库,填写配置,密钥:

1
2
3
env:
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
SSH_CONFIG: ${{ secrets.SSH_CONFIG }}

SSH config 使用不验证的形式,避免 KnowHost 提示,示例

1

打包 Release

修改指南

GitHub 的几个阶段。

工作区关系。并行处理。

常见触发规则。

Profile Cards

Ref: https://github.com/songquanpeng/stats-cards

仓库模板定制

Ref: https://github.com/songquanpeng/gin-template

Projects 功能

Ref: https://github.com/orgs/Lean-zh/projects/2