这两天做毕设各种改动各种提交,无奈一直是远程交流,所以每次提交完代码后,还需要手动打包再传到github page以供展示,挑刺2333.
昨天晚上翻代码时候,突然想到可以直接使用github action解决这一问题,于是在多次err之后总算调配好了参数。
整个流程参考了:
Start
github action 基本概念
workflow
:持续集成一次运行的过程,就是一个 workflowjob
:一个 workflow 由一个或多个 jobs 构成step
:每个 job 由多个 step 构成action
:每个 step 可以依次执行一个或多个命令(action)
workflow 配置文件
点进github项目首页,在
pull requests
旁边的Action
项。
配置整个流程需要github密钥,所以需要依据官方文档,生成密钥,然后添加到项目Setting/Secrets
里
在项目的package.json
文件添加一条数据
"homepage": "https://[username].github.io/[projectname]"
我这里用到的yml配置如下
name: github pages # workflow 名称,随便起
on:
push:
branches:
- master # 操作的分支,只在master分支的push操作触发
jobs:
build:
runs-on: ubuntu-latest # 运行在虚拟机ubuntu-latest
steps:
# 第一步 获取源码,使用 actions/[email protected]
- name: Checkout
uses: actions/[email protected]
with:
persist-credentials: false
# 第二布 安装和打包 使用npm install && build
- name: Install and Build
run: |
npm install
npm run build:prod
# 第三步 部署到github page 使用的action 为 JamesIves/[email protected]/v3
# 这一步需要依赖于之前配置好的密钥 ACCESS_TOKEN,构建分支BRANCH,构建目录FOLDER
- name: Deploy to GitHub Pages
uses: JamesIves/[email protected]/v3
with:
ACCESS_TOKEN: ${{ secrets.ACCESS_TOKEN }}
BRANCH: gh-pages
FOLDER: dist
后续保存该文件,github action将会自动运行
问题
为什么昨晚提交会多次出现问题呢
- 使用
actions/[email protected]
需要搭配
with:
persist-credentials: false
- 项目多次在运行到第三步出现问题
# 应该使用with: + 下方的配置变量
# 使用env出现分支错误
env:
ACCESS_TOKEN: ...
BRANCH: ...
FOLDER: ...
- 可能存在的问题
# 项目应该必须为public,而不是private
# 否则无法部署到github page .....
版权属于:ajycc20
本文链接:https://ajycc20.top/archives/18.html
所有原创文章采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可。 您可以自由的转载和修改,但请务必注明文章来源并且不可用于商业目的。