在使用之前,我们了解一下什么是 Github Actions。

在 GitHub Actions 的仓库中自动化、自定义和执行软件开发工作流程。 您可以发现、创建和共享操作以执行您喜欢的任何作业(包括 CI/CD),并将操作合并到完全自定义的工作流程中。

点击开始入门如果打不开的小伙伴按照一下步骤一起来开始使用简单的。

  1. 如果 .github/workflows 目录不存在,请在 GitHub 的仓库项目中创建此目录。
  2. 在 .github/workflow 目录中,创建一个名为 github-actions-demo.yml 的文件。(文件命名随便,后缀必须为.yml)
  3. 将以下 YAML 内容复制到 github-actions-demo.yml 文件中:
name: GitHub Actions Demo
on: [push]
jobs:
Explore-GitHub-Actions:
runs-on: ubuntu-latest
steps:
- run: echo " The job was automatically triggered by a ${{ github.event_name }} event."
- run: echo " This job is now running on a ${{ runner.os }} server hosted by GitHub!"
- run: echo " The name of your branch is ${{ github.ref }} and your repository is ${{ github.repository }}."
- name: Check out repository code
uses: actions/checkout@v3
- run: echo " The ${{ github.repository }} repository has been cloned to the runner."
- run: echo "️ The workflow is now ready to test your code on the runner."
- name: List files in the repository
run: |
ls ${{ github.workspace }}
- run: echo " This job's status is ${{ job.status }}."
  1. 提交这个文件,并且推送到远程仓库去。

  2. 你将会在远程仓库的Actions中看到运行的日志。

  3. 现在你已经掌握了一个简单的自动化工作流程

react,vue 项目提交代码自动更新 GitHub Pages

若你是一个前端开发或者喜欢自己开发网站,你肯定想拥有一个属于自己的网站。把自己的项目或者博客,放在网络上,任何人都可以看见。接下来,是使用 前端框架 项目提交代码自动更新pages

在使用之前

请检查一下信息:

  1. 确保有一个新的分支专门用来存放Pages项目的代码。
git checkout -b gh-pages #创建 gh-pages分支 并切换到 gh-pages
git push origin gh-pages:gh-pages #把本地分支推送到 远程仓库
  1. Github 仓库是否开启 GitHub Pages

在浏览器打开你的 Github 仓库, 找到 Settings 选项 点击进入,在左侧寻找到 Pages 栏目,点击之后,出现一个 Source 标题,下面有个 选择框,当前是 None,表示你还未开启Pages功能。点击 None 选择框 选择你 创建的分支,这里选择 刚刚创建的gh-pages,选择完之后 还有个文件夹选择,意思是这个分支的文件夹作为入口来显示你的项目,我们就按照默认的root/目录就行了,点击 save 即可。点击完成之后会有个提示:

Your site is ready to be published at https://{username}.github.io/{store_name}/

说明你的pages开启成功,不过点击进去是 404 ,因为你gh-pages分支还没资源所以找不到访问信息。

开始部署前端框架(react)项目

在完成了上面的步骤之后,开始编写Actions。你可以阅读以下文档:触发工作流程

  1. 在当前项目代码运行所在的分支,创建.github文件夹,再在.github文件夹下创建workflows文件夹,在此目录下新建.yml格式文件。
├─ .github        #文件夹
└─ workflows #文件夹
└─ autoUpdatePages.yml # actions文件 后缀.yml
  1. 编写autoUpdatePages.yml文件

    代码如下:
name: update pages #名称 随意

on: # 触发条件
push: # 当推送的时候
branches: [master] # 分支 可以有多个 且为 master 触发
paths: ["src/**"] # 且 推送的文件在此目录下 触发 jobs: #要运行的任务
build: #任务名 随意
runs-on: ubuntu-latest # 运行的机器环境 可以是 linux 等等 具体请查阅文档
# 用到的 node 版本
strategy:
matrix:
node-version: [12]
# 运行步骤
steps:
# 一些检查 输出
- uses: actions/checkout@v3 - name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
# 开始 打包
- name: Build
# run 下面 是需要运行的命令行 按照命令行步骤执行 先安装依赖 再 打包 你也可以自定义
run: |
npm install
npm build
# 完成打包之后 使用 github-pages-deploy-action 去自己把打包后的产物发布上去
- name: Deploy
uses: JamesIves/github-pages-deploy-action@v4.3.0
with:
branch: gh-pages # 发布到哪个分支?
folder: build # 打包的文件目录
clean-exclude: | # 忽略清除的文件 可以是文件名路径等 每次发布前都会清除所有文件所以需要 屏蔽一些文件或者目录不要清除。
.gitignore
  1. 完成以上文件之后,推送到远程仓库即可。

  2. 注意触发条件。

github ations 入门使用的更多相关文章

  1. 专为设计师而写的GitHub快速入门教程

    专为设计师而写的GitHub快速入门教程 来源: 伯乐在线 作者:Kevin Li     原文出处: Kevin Li 在互联网行业工作的想必都多多少少听说过GitHub的大名,除了是最大的开源项目 ...

  2. Git版本控制软件结合GitHub从入门到精通常用命令学习手册(转)

    简要参考:http://www.tuicool.com/articles/mEvaq2 http://gitref.org/zh/index.html GIT 学习手册简介 本站为 Git 学习参考手 ...

  3. github菜鸟入门

    github菜鸟入门教程 闲来无事,研究了下github的玩法,完毕总结:简单好玩,上档次! 一.首先注册github的账号 二.下载安装git 三.新建仓库 1.点击右上方的+号选择首项新建仓库 2 ...

  4. github使用入门

    连接地址 github使用入门 连接地址: https://zhuanlan.zhihu.com/p/21193604?refer=passer

  5. Github快速入门手册

    最近在试用Github,开源的思想也让人觉得把一些经验分享出来是非常好的事情.附件是doc文件,如有需要请注意查收.希望能对你有帮助. GITHUB基于互联网的版本控制快速入门手册 如有不妥,欢迎指正 ...

  6. Python开发【笔记】:git&github 快速入门

    github入门 简介: 很多人都知道,Linus在1991年创建了开源的Linux,从此,Linux系统不断发展,已经成为最大的服务器系统软件了. Linus虽然创建了Linux,但Linux的壮大 ...

  7. git及github配置入门

    github是一个有海量开源代码库的网站,同时也是一个软件开发管理软件,作为软件来说它集成了git这个分布式的版本控制系统,可以上传.下载和管理自己的代码. 笔者刚接触不久,把认为入门应该知道的东西稍 ...

  8. 最详细的github快速入门教程

    一:下载github 二:安装GitHub 下载之后点击 进行安装过程,安装之后桌面上会有两个图标,如下图 三:新建项目 GitHub是图形界面模式,Git Shell是命令行模式,在Windows系 ...

  9. Github新手入门

    git入门项目:https://guides.github.com/activities/hello-world/ 创建存储库 创建一个分支 进行并提交更改 打开拉取请求 合并您的拉取请求

随机推荐

  1. 端口转发工具--lcx

    简介 lcx是一款强大的内网端口转发工具,用于将内网主机开放的内部端口映射到外网主机(有公网IP)任意端口.它是一款命令行工具,当然也可以在有权限的webshell下执行,正因如此lcx常被认为是一款 ...

  2. JDK API文档_1.6.0 中文版

    链接:https://pan.baidu.com/s/1b0inUgYvEfjeusa3z_2p-g  密码:f8jk

  3. Java基础知识 String StringBuffer StringBuilder三者的区别(面试题)

    相同点:String.StringBuffer.StringBuilder最终底层存储与操作的都是char数组,StringBuffer和StringBuilder都继承了AbstractString ...

  4. ::before和:after中的的双冒号和单冒号有什么区别及这两个伪元素的作用

    ::before和:after中的的双冒号和单冒号有什么区别及这两个伪元素的作用 单冒号(:)用于CSS3伪类,双冒号(::)用于CSS3伪元素(伪元素由双冒号和伪元素名称组成),为了兼容已有的伪元素 ...

  5. Pytorch自动混合精度(AMP)介绍与使用

    背景: pytorch从1.6版本开始,已经内置了torch.cuda.amp,采用自动混合精度训练就不需要加载第三方NVIDIA的apex库了.本文主要从三个方面来介绍AMP: 一.什么是AMP? ...

  6. redis 淘汰策略有哪些?

    noeviction: 不删除策略, 达到最大内存限制时, 如果需要更多内存, 直接返回错误信息. 大多数写命令都会导致占用更多的内存(有极少数会例外, 如 DEL ). allkeys-lru: 所 ...

  7. linux上使用nginx、uwsgi部署django项目

    参考:CentOS7下部署Django项目详细操作步骤 注意事项: 在虚拟环境中操作,虚拟环境中安装nginx.uwsgi,虚拟环境外需安装uwsgi -- 临时关闭防火墙:systemctl sto ...

  8. 面试问题之C++语言:C与C++的区别

    C是C++的基础,C++语言和C语言在很多方面是兼容的. C是结构化语言,它的重点在于算法和数据结构.C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出或实现过程(事务 ...

  9. (转载) MOS管区分NP沟道

    三极管是流控型器件,MOS管是压控型器件,两者存在相似之处.三极管机可能经常用,但MOS管你用的可能较少.对于MOS管先抛出几个问题: 如何区分P-MOS和N-MOS:   如何区分MOS的G.D.S ...

  10. 如何通过HibernateDaoSupport将Spring和Hibernate?

    用 Spring 的 SessionFactory 调用 LocalSessionFactory.集成过程分三步: 配置 the Hibernate SessionFactory. 继承 Hibern ...