- master
上面代码指定,只有master
分支发生push
事件时,才会触发 workflow
jobs
字段,表示要执行的一项或多项任务
|
2
3
4
5
6
7
8
9
10
11
12
13
obs:
my-job:
name: My Job
runs-on: ubuntu-latest
steps:
- name: Print a greeting
env:
MY_VAR: Hi there! My name is
FIRST_NAME: Mona
MIDDLE_NAME: The
LAST_NAME: Octocat
run: |
echo $MY_VAR $FIRST_NAME $MIDDLE_NAME $LAST_NAME
needs
字段指定当前任务的依赖关系,即运行顺序
runs-on
字段指定运行所需要的虚拟机环境
steps
字段指定每个 Job 的运行步骤,可以包含一个或多个步骤
3.3 GitHub Actions 站点更新原理
-
在项目根目录下新建.github/workflows文件夹,并添加一个action.yml文件
-
打开action.yml文件,编写工作流workflow(监控分支,何时执行,配置,执行)
-
当GitHub源码发生改变,触发Action执行,自动部署站点
三 准备工作
3.1 Github pages项目
仓库名称为:用户名.github.io,且仓库下有2个分支
-
master分支:项目源码
-
hexo分支:源码执行hexo generate后渲染markdown文件生成的public文件夹下内容
3.2 将GitHub关联和授权的Netlify取消
进入Github后依次点击:个人资料(右上角)——>Settings(设置)——>Applications(左侧),将Applications下的
-
Installed Github Apps
-
Authorized Github Apps
-
Authorized OAuth Apps
关联的Netlify取消授权,否则提交代码后会执行Netlify编译更新
3.3 Access Token
3.3.1 创建 GitHub Access Token
-
进入Github后依次点击:个人资料(右上角)——>Settings(设置)——>Developer settings(左侧)——> 单击 Personal access tokens(个人访问令牌)——> 单击 Generate new token(生成新令牌) ——>填写令牌名称和令牌权限
-
Personal Access Token 的生成教程见 Creating a personal access token
3.3.2 创建Coding Access Token
-
进入Coding后依次点击:个人资料(右上角)——>个人账户设置——>访问令牌——>新建令牌——>填写令牌名和权限
-
个人访问令牌的创建教程见:个人访问令牌
3.4 设置Pages仓库Secrets
- 依次点击:用户名.github.io仓库——>Settings——>Secrets,将GitHub和Coding Access Token添加进来
3.5 编写workflow 脚本
在项目根目录下新建.github/workflows/action.yml文件,并编写任务执行脚本
3.5.1 action.yml脚本
|
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
name: Hexo Auto-Deploy
on:
push:
branches:
- master
jobs:
build:
name: Hexo Auto-Deploy by GitHub Actions
runs-on: ubuntu-latest
steps:
- name: 1. git checkout…
uses: actions/checkout@v1
- name: 2. setup nodejs…
uses: actions/setup-node@v1
with:
node-version: ‘12.x’
- name: 3. Cache node modules
uses: actions/cache@v1
with:
path: ~/.npm
key: < ! − − − − > r u n n e r . o s − n o d e − {<!-- -->{ runner.os }}-node- <!−−−−>runner.os−node−{ { hashFiles(‘**/package-lock.json’) }}
- name: 4. Install hexo dependencies
run: |
npm install hexo-cli -g
npm install
- name: 5. hexo generate public files…
run: |
hexo clean
hexo generate
- name: 6. hexo deploy …
env:
Github 仓库
GITHUB_REPO: github.com/用户名/用户名.github.io.git
Coding 仓库
CODING_REPO: e.coding.net/用户名/文件夹/仓库名.git
将编译后的博客文件推送到指定仓库
run: |
cd ./public && git init && git add .
git config user.name “用户名”
git config user.email “注册邮箱”
git add .
git commit -m “GitHub Actions Auto Builder at $(date +‘%Y-%m-%d %H:%M:%S’)”
总结:
面试是一个不断学习、不断自我提升的过程,有机会还是出去面面,至少能想到查漏补缺效果,而且有些知识点,可能你自以为知道,但让你说,并不一定能说得很好。
有些东西有压力才有动力,而学到的知识点,都是钱(因为技术人员大部分情况是根据你的能力来定级、来发薪水的),技多不压身。
附上我的面试各大专题整理: 面试指南,满满的都是干货,希望对大家有帮助!
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门,即可获取!
ub Actions Auto Builder at $(date +‘%Y-%m-%d %H:%M:%S’)"
总结:
面试是一个不断学习、不断自我提升的过程,有机会还是出去面面,至少能想到查漏补缺效果,而且有些知识点,可能你自以为知道,但让你说,并不一定能说得很好。
有些东西有压力才有动力,而学到的知识点,都是钱(因为技术人员大部分情况是根据你的能力来定级、来发薪水的),技多不压身。
附上我的面试各大专题整理: 面试指南,满满的都是干货,希望对大家有帮助!
[外链图片转存中…(img-x3JWlf9p-1714754790040)]
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门,即可获取!