首页 > 其他分享 >5 分钟快速入门 Github Action

5 分钟快速入门 Github Action

时间:2024-09-27 10:15:50浏览次数:1  
标签:GitHub 入门 Actions Github 构建 Action commit

Github Action 是一种自动化构建工具。

介绍

什么是 GitHub Action?来看看阮一峰大佬的介绍

GitHub Actions 是 GitHub 的持续集成服务,于 2018 年 10 月推出

大家知道,持续集成由很多操作组成,比如抓取代码、运行测试、登录远程服务器,发布到第三方服务等等。GitHub 把这些操作就称为 actions。

很多操作在不同项目里面是类似的,完全可以共享。GitHub 注意到了这一点,想出了一个很妙的点子,允许开发者把每个操作写成独立的脚本文件,存放到代码仓库,使得其他开发者可以引用。

如果你需要某个 action,不必自己写复杂的脚本,直接引用他人写好的 action 即可,整个持续集成过程,就变成了一个 actions 的组合。这就是 GitHub Actions 最特别的地方。

.............................

使用 GitHub Action 能做什么事呢?比如我的博客就使用了 GitHub Action,在我每次 commit 之后,就能自动编译并打包,然后部署到我的服务器上;

这样我就不用自己打包,然后部署到服务器上了,节省了很多时间;如果部署失败了,也会有邮件提醒;例如:

因此,我们只需关注代码本身,构建的事情不用管。在笔者工作的公司里,也有这样的平台,大大节省了开发人员用于构建的时间。

如何学习

那么如何学习和使用 GitHub Action 呢?笔者并未深入学习和使用,基本上入门看几篇博客即可:

除此之外,官方文档也是少不了的:

感兴趣的同学可以看看我的个人搭建博客中的部署篇,里面就写的很详细。

如果遇到了问题

如果 GitHub Action 遇到了问题,不要怕,要采取不解决誓不罢休的态度。

一般来说,构建失败会有邮件提醒,可以直接通过邮件里的链接来跳转到相应的页面;我们也可以一步步进去看。首先打开自己的仓库选择 Git Action:

如果构建成功,是有一个绿色 √ 标记的,否则是一个 ❌ 标记。我们可以通过翻页来查看错误的构建:

对于错误的构建,可以点进去看具体的报错信息:

再点进去看报错信息:

可以看到是报错依赖没有找到,经过检查,Action 里没有安装依赖导致:

遇到什么问题,就解决什么问题,不管是搜索引擎,还是咨询他人,总能解决。

根据表达式执行

有些情况下,并不是需要每次有提交都运行 GitHub Action。

例如我的博客,由于更新频繁,一般是 2 ~ 3 天才更新一次 CDN,所以并不需要每次提交后都运行 Action

为此,GitHub 提供了 expressions 功能,根据表达式来决定是否运行。

快速入门

例如,我想要当 commit msg 里包含某些关键字(例如 deploy)的时候,才运行 GitHub Action,那么我可以这样写:

jobs:
  build:
    runs-on: ubuntu-latest
    # 当 commit msg 里包含 deploy 的时候才运行
    if: ${{ contains(github.event.head_commit.message, 'deploy')}}
    # 省略....

之后再次提交时,只要 commit msg 中不带关键字 deploy,则不会运行 GitHub Action。在后台也能看到这个 action 是被跳过(Skipped)的:

如何撰写表达式

这个请参考官网文档:

文档写的很详细,我就不赘述了,点到为止。

标签:GitHub,入门,Actions,Github,构建,Action,commit
From: https://www.cnblogs.com/PeterJXL/p/18435128

相关文章

  • SpringBoot+Activiti7工作流入门实例
    目录文章目录目录准备Activiti建模工具1、BPMN-js在线设计器1.1安装1.2使用说明1.3运行截图2、IDEA安装ActivitiDesigner插件2.1安装插件2.2设置编码格式防止中文乱码2.3截图简单工作流入门实例1.新建SpringBoot工程2.引入Activiti相关依赖添加版本属性指定......
  • 《HelloGitHub》第 102 期
    兴趣是最好的老师,HelloGitHub让你对编程感兴趣!简介HelloGitHub分享GitHub上有趣、入门级的开源项目。github.com/521xueweihan/HelloGitHub这里有实战项目、入门教程、黑科技、开源书籍、大厂开源项目等,涵盖多种编程语言Python、Java、Go、C/C++、Swift...让你在短......
  • C语言入门到精通(第六版)——第七章
    7.1、循环语句    C语言中程序可以通过判断、检验条件做出选择,帮我们解决很多问题,除此之外,程序还可以执行重复,直到满足条件为止,例如,while、do...while和for语句。7.2、while语句    使用while语句可以解决某个条件满足时需要反复执行某个循环体的问题,表达式......
  • 《HelloGitHub》第 102 期
    兴趣是最好的老师,HelloGitHub让你对编程感兴趣!简介HelloGitHub分享GitHub上有趣、入门级的开源项目。github.com/521xueweihan/HelloGitHub这里有实战项目、入门教程、黑科技、开源书籍、大厂开源项目等,涵盖多种编程语言Python、Java、Go、C/C++、Swift...让你在短......
  • TCP编程:从入门到实践
    本文将带领大家了解TCP编程的基本概念、原理及其在实战中的应用。通过学习本文,读者可以掌握TCP编程的核心技术,并在实际项目中熟练运用。一、引言TCP(传输控制协议)是一种面向连接、可靠、基于字节流的传输层通信协议。在互联网、局域网等网络环境中,TCP编程具有广泛的应用。掌握......
  • kettle从入门到精通 第八十八课 ETL之kettle kettle连接sqlserver彻底搞明白
    场景:时不时群里面会有小伙伴咨询使用kettle连接mssqlserver数据库,折腾很久浪费时间,今天刚好有时间把这一块梳理下,希望能让大家节省时间提高效率。 1、首先要知道连接sqlserver有两种方式,JTDSjdbc驱动和微软的原装驱动,如下图所示: 兼容性:jTDS:jTDS兼容旧版本的SQLSer......
  • Selenium入门
    Selenium是一个用于自动化web应用程序测试的工具,它支持多种浏览器和编程语言。下载驱动程序:根据你的浏览器类型和版本,下载相应的WebDriver。例如,Chrome浏览器需要ChromeDriver。安装Selenium库pipinstallselenium导入fromseleniumimportwebdriver创建浏览器......
  • 零基础入门大语言模型
    阶段1:数学基础学习大语言模型的核心在于对以下数学概念的掌握:线性代数(矩阵、向量、矩阵乘法、特征值与特征向量)微积分(导数、偏导数、链式法则)概率与统计(条件概率、贝叶斯定理、期望值、方差)优化(梯度下降、凸优化)推荐学习资源:“MathematicsforMachineLearning”专......
  • 学编程难吗?多久能入门?
    当然,让我们继续补充并深化这篇文章的内容,探讨学习编程过程中的一些关键要素和心态调整。学习编程的心态调整学习编程不仅仅是掌握一门技术,更是一场心态的修行。在这个过程中,你可能会遇到各种挑战和挫折,比如代码bug难以解决、项目进展缓慢、新知识层出不穷等。面对这些困难,保......
  • 如何投IEEE论文(Transactions on Cybernetics为例)
    文章目录1.下载对应的论文模板2.进入提交论文信息的界面3.填写论文中必要的信息3.1ArticleType3.2UploadManuscript3.3Title3.4Abstract3.5Authors3.6AuthorDetails3.7MathOrganizations3.8AdditionalInformation3.9FinalReview终审1.下载对应的论......