首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在github操作中使用自己的Makefile?

在 GitHub Actions 中使用自己的 Makefile 是一个常见的需求,特别是当您希望自动化构建、测试或部署过程时。以下是一个详细的指南,介绍如何在 GitHub Actions 中使用 Makefile。

1. 创建 Makefile

首先,确保您的项目根目录中有一个 Makefile。这是一个简单的示例 Makefile

代码语言:javascript
复制
# Makefile

.PHONY: all build test

all: build test

build:
    echo "Building the project..."
    # 这里可以添加实际的构建命令,例如:gcc main.c -o main

test:
    echo "Running tests..."
    # 这里可以添加实际的测试命令,例如:./run_tests.sh

2. 创建 GitHub Actions 工作流文件

在您的项目中,创建一个 GitHub Actions 工作流文件。工作流文件通常位于 .github/workflows/ 目录下,并以 .yml.yaml 作为扩展名。

以下是一个示例工作流文件,名为 ci.yml

代码语言:javascript
复制
# .github/workflows/ci.yml

name: CI

on:
  push:
    branches:
      - main
  pull_request:
    branches:
      - main

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
    - name: Checkout code
      uses: actions/checkout@v2

    - name: Set up Make
      run: sudo apt-get install -y make

    - name: Run Makefile
      run: make all

3. 解释工作流文件

  • name: CI:定义工作流的名称。
  • on:指定何时触发工作流。在这个示例中,工作流会在推送到 main 分支或创建针对 main 分支的拉取请求时触发。
  • jobs:定义工作流中的一个或多个作业。
    • build:作业的名称。
    • runs-on: ubuntu-latest:指定作业运行的环境。在这个示例中,使用最新的 Ubuntu 版本。
    • steps:定义作业中的步骤。
      • name: Checkout code:使用 actions/checkout@v2 操作从 GitHub 仓库中检出代码。
      • name: Set up Make:安装 make 工具。
      • name: Run Makefile:运行 make all 命令,这将执行 Makefile 中的 all 目标。

4. 提交更改

将您的 Makefile 和 GitHub Actions 工作流文件提交到您的 GitHub 仓库:

代码语言:javascript
复制
git add Makefile .github/workflows/ci.yml
git commit -m "Add Makefile and GitHub Actions workflow"
git push origin main

5. 查看工作流运行结果

推送更改后,您可以在 GitHub 仓库的 "Actions" 选项卡中查看工作流的运行结果。工作流会自动运行,并显示每个步骤的输出和状态。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

不想用github action,那么如何在自己服务器上操作!

书籍笔记 因为这个项目基于vuepress驱动,是一个静态项目,因此,最好的方法就是github action集成在git时候自动触发然后帮我们自动部署打包项目发布;但是这有一个缺点,那就是github...# deploy to github echo 'booknote.jiangkk.com' > CNAME   # 判断本地是否有token变量,有则是github自动部署 没有则是本地推送到仓库 if...[ -z "$GITHUB_TOKEN" ]; then   msg='deploy'   githubUrl=git@github.com:feijiang00/code-learn.git else...  msg='来自github actions的自动部署'   githubUrl=https://feijiang00:${GITHUB_TOKEN}@github.com/feijiang00/booknote.git...invite_code=frng879nago3 废江博客 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 转载请注明原文链接:不想用github action,那么如何在自己服务器上操作

42710
  • 使用Github创建自己的小博客

    懒人攻略 只有四步: 找到自己喜欢的别人的博客的Github地址,一般为username.github.io结尾。...Fork一份对方的源码,之后把仓库名改为YourGithubName.github.io 在_config.yaml中更改个人信息,同时把_posts中的文章都删了,注意别人的文章格式,之后仿照对方的格式写即可...评论插件 特别一提,如果出现Validation Error是因为博客标题的名字编码后太长了,参考这个Issue中mr-wind的使用 id: decodeURI(location.pathname...最后题外话 所有的配置基本上都可以在_config.yaml中设置,同时在博客中\代表的就是根目录,这样子你自己在配置其他的功能的时候就可以轻松愉悦的配置。...值得一提的是css文件和js文件都在assets文件夹中,自己DIY的时候最好不要打乱目录结构。

    63020

    使用Github创建自己的小博客

    懒人攻略 只有四步: 找到自己喜欢的别人的博客的Github地址,一般为username.github.io结尾。...Fork一份对方的源码,之后把仓库名改为YourGithubName.github.io 在_config.yaml中更改个人信息,同时把_posts中的文章都删了,注意别人的文章格式,之后仿照对方的格式写即可...评论插件 特别一提,如果出现Validation Error是因为博客标题的名字编码后太长了,参考这个Issue中mr-wind的使用 id: decodeURI(location.pathname...最后题外话 所有的配置基本上都可以在_config.yaml中设置,同时在博客中\代表的就是根目录,这样子你自己在配置其他的功能的时候就可以轻松愉悦的配置。...值得一提的是css文件和js文件都在assets文件夹中,自己DIY的时候最好不要打乱目录结构。

    60820

    使用Github创建自己的小博客

    懒人攻略 只有四步: 找到自己喜欢的别人的博客的Github地址,一般为username.github.io结尾。...Fork一份对方的源码,之后把仓库名改为YourGithubName.github.io 在_config.yaml中更改个人信息,同时把_posts中的文章都删了,注意别人的文章格式,之后仿照对方的格式写即可...给你Fork的原作者写封邮件表达感谢!说不定就这么勾搭了一个大佬也不一定呢。 完成了四步后,浏览器输入YourGithubName.github.io就能在晚上看到自己的博客啦。...评论插件 特别一提,如果出现Validation Error是因为博客标题的名字编码后太长了,参考这个Issue中mr-wind的使用 id: decodeURI(location.pathname...最后题外话 所有的配置基本上都可以在_config.yaml中设置,同时在博客中\代表的就是根目录,这样子你自己在配置其他的功能的时候就可以轻松愉悦的配置。

    61020

    【DB笔试面试511】如何在Oracle中写操作系统文件,如写日志?

    题目部分 如何在Oracle中写操作系统文件,如写日志? 答案部分 可以利用UTL_FILE包,但是,在此之前,要注意设置好UTL_FILE_DIR初始化参数。...报警是基于事务的并且是异步的(也就是它们的操作与定时机制无关)。 程序包DBMS_APPLICATION_INFO.READ_MODULE的作用是什么?...在CLIENT_INFO列中存放程序的客户端信息;MODULE列存放主程序名,如包的名称;ACTION列存放程序包中的过程名。该包不仅提供了设置这些列值的过程,还提供了返回这些列值的过程。...如何在存储过程中暂停指定时间? DBMS_LOCK包的SLEEP过程。例如:“DBMS_LOCK.SLEEP(5);”表示暂停5秒。 DBMS_OUTPUT提示缓冲区不够,怎么增加?...如何在Oracle中写操作系统文件,如写日志? 可以利用UTL_FILE包,但是,在此之前,要注意设置好UTL_FILE_DIR初始化参数。

    28.8K30

    如何使用docsify搭建自己的github文档?

    ): D:\nodejs\node_global\node_modules [20210106235744.png] 5.然后如果使用npm安装了东西,但是找不到该命令,则还需要在Path中,把我们node...的全局文件夹添加进去环境变量中。...下面讲讲如何部署,首先我们需要有一个远程的仓库,我默认你有了,使用命令初始化文件夹,关联远程仓库 git init git remote add origin "自己在三方代码托管平台上所创建仓库对应的地址..." push代码到远程仓库就可以了,git的操作就不仔细讲了,或者自己把远程的仓库先clone下来,再用docsify创建文档,然后提交,也是ok的。...提交上去之后,我们需要做一个操作,在settings下有一个GitHub Pages,选择构建分支和文件目录即可。我使用的是master,根目录的docs文件夹。

    1.7K00

    如何使用GitHub搭建自己的个人博客

    大家都知道,阿粉有自己的博客,而且博客的地址,也是托管在Github上面的,而且很多的小伙伴们也想问怎么搭建这个,毕竟如果要是自己做个网站,弄个域名,再弄个服务器,这也是一笔不小的花费,但是使用GitHub...如何搭建一套自己的博客 今天阿粉就教大家如何建立一个自己的博客页面,并且把它托管到 GitHub 上,这样就不用自己去再弄服务器了,直接把Github 当作一个中转了。...,使用的是GitHub Page 加 jekyll 的方式进行的博客搭建。...已经成功的安排到我们自己的github里面了。...Jekyll语法 _config.yml jekyll的全局配置在_config.yml文件中配置。比如网站的名字,网站的域名,网站的链接格式等等。

    1.2K50

    使用GitHub page搭建自己的静态网页

    环境 mac os ,终端, 文件路径:桌面 Hexo文件夹. 1 安装 Node.js 2 安装git 使用git init 全局初始化 3 安装Hexo sudo npm install -g hexo...Latex处理数学公式的时候 会出现兼容问题例如 :h_\theta (x) 单个 Github Pages 配置 在github上创建repository 创建成功后 可以使用 http://...-m "Initial commit" git push -u origin master 同步本地的 hexo 博客 到 github 上 1 安装一个扩展(hexo/blog)下 sudo npm...g hexo d 关于配置Hexo可能出现的一些错误 1 权限问题 sudo chown -R 路径/Hexo/blog 2 无法更新到GitHub pages 很多情况是配置自己的git...如果遇到类似情况, 可以尝试使用 “提交内容到Github Pages” 步骤先提交一个 hello word 试试。

    1.2K30

    如何在 Discourse 中配置使用 GitHub 登录和创建用户

    本文章用于指导你如何在 Discourse 中配置使用 GitHub 的用户名进行登录。...需要注意的是你的回调地址为: /auth/github/callback 的后缀,针对你的网站的域名不同,回调地址的后缀也是不同的。.../callback 上传 Logo(可选) 这一步是可选的,你可以在这一步上传你网站的 Logo,那么用户在使用的时候就可以在 GitHub 登录的时候看到你网站使用的 logo 了。...启用服务 在 Discourse 站点中,启用 enable github logins 这个设置。 下图显示了需要配置的从 GitHub 上获得的配置信息。...当你完成上面的操作后,你的站点应该就可以使用 GitHub 来进行登录了。 通过前端来校验登录的配置已经成功了。

    3.7K20

    如何在Github提交图片,做一个自己的图片仓库

    本博客 猫叔的博客,转载请申明出处 因项目需要,出了这个教程,主要是让大家对于将图片/gif等提交的GitHub上,产生一个外网链接的方式。...本文为HMStrange项目组的第二个入门任务。 接下来按照教程步骤开始吧。 一、在Github上选择新建一个项目 ?...三、建立项目后,将项目clone到自己本地。 ? 四、在自己适合的文件夹下,将项目clone下来,这里有点重复,不过希望大家能看清晰一点。 ?...五、准备一张自己的ID(组员昵称)手写签名,然后再项目中新建一个文件夹,将图片存放在这个文件夹中。 ? ? 六、在项目根路径下,打开git bash ?...八、重新到自己的GitHub项目,刷新一下,看到自己提交的信息,然后找到图片位置 ? ? 九、点击Download,获取图片在GitHub上的外联地址 ?

    2K10

    如何在自己代码中应用 CAS 操作

    如何在自己代码中应用 CAS 操作?...而在精简指令集的体系架构中,则通常是靠一对儿指令(如" load and reserve"和" store conditional")实现的,在大多数处理器上CAS都是个非常轻量级的操作,这也是其优势所在...CAS 使用场景 可以设想这样一个场景:在数据库产品中,为保证索引的一致性,一个常见的选择是,保证只有一个线程能够排他性地修改一个索引分区,如何在数据库抽象层实现?...比如 Semaphore 就选择了将基础的同步相关操作抽象在 AbstractQueuedSynchronizer 中,利用AQS为我们构建冋步结构握供了范本。 ?...,tryAcquire是按照特定场景需要开发者去实现的部分,而线程间竞争则是AQS通过Waiter队列与 acquire在 release方法中,同样会对队列进行对应操作。

    3.2K21

    使用Hexo在Github上搭建自己的博客

    以前的博客是使用Jekyll托管在github上,后来用着越来越不方便,比如没有自动生成post,不能一键部署,文件结构和配置也是比较繁琐,更重要的是有时候用markdown写一篇文章,生成的静态文件很乱...现在下决心换成了hexo Nodejs安装 因为hexo是基于nodejs的应用,所以要先安装nodejs才可以。我这里以ubuntu为例,因为我自己一直在使用ubuntu。...permalink详情参见: http://hexo.io/zh-cn/docs/permalinks.html 新增一篇文章 使用如下命令即可新增一篇md格式的文章 hexo new 'github-page-with-hexo...Front-matter 是文件最上方以 — 分隔的区域,用于指定个别文件的变量,举例来说: title: "使用Hexo在Github上搭建自己的博客" date: 2015-03-10 22:30:...如http://www.flysnow.org/ 。关于更多的Hexo请参考官方文档,以后有时间也会介绍 http://hexo.io/zh-cn/docs/

    48520

    GitHub中Issue的使用

    遇到下面几种情况时,各位就可以使用这个功能。 发现软件的BUG并报告 有事想向作者询问、探讨 事先列出今后准备实施的任务 Issue除BUG管理之外还有许多其他用途。...在软件开发者圈子中,将Issue用于多种用途的情况已经司空见惯。作为GitHub的功能之一,我们来学习Issue的一些简单用法。...简洁且表现力丰富的描述方法 GitHub的Issue及评论可以使用GFM(Github Flavored Markdown)语法进行描述,从而获得丰富的表现力。...5.Tasklist语法 我们使用GFM的一项独有功能,那就是Tasklist(任务列表)语法。首先试着按下面的格式进行描述。...7.png 通过提交信息操作Issue 在GitHub上,只要按照特定的格式描述提交信息,就可以像一般BTS带有的功能那样对Issue进行操作。

    4K10

    如何使用hexo与github搭建自己的博客(2)

    其他的配置就不多说,在hexo官网上面都是有具体的说明,需要的话可以自己看看。 至于主题下面的配置文件,每个主题可能不同,这个需要对照着自己的主题进行修改。...n 是 hexo new 的简写)命令所输入的title,例如我们本篇文章 hexo n 如何使用hexo与github搭建自己的博客(2) data就是发布时间,这个在配置文件里面可以设置时间格式...你可以使用hexo s进行本地浏览测试,调试,带到没有问题以后则可以进行发布了。 使用hexo d进行发布,发布的地址就是我们在_config.yml中配置的deploy里面的repo的地址。...待github上面的代码同步了,我们就可以通过访问XXX.github.io进行访问自己的博客了。...最后说明一下,这里所介绍的知识一些简单的基础,更多的命令以及配置属性都可以上hexo上面看到,希望你有时间还是能够看一看,主要就是看看Docs这一部分 关于怎么使用hexo+github搭建自己的博客就先说到这里

    48930

    如何使用 Git 和 GitHub 来管理自己的代码

    New SSH key" 按钮进行配置(其中 Title 可以自己随意起一个名字,而 Key 的内容就是将 "id_rsa.pub" 文件中的内容全部复制过来即可),点击 "Add SSH key" 按钮完成操作...在自己的 Windows 下面选一盘符用来创建 Git 本地仓库     1> 本地创建:可以在任意盘符中创建一个目录文件夹     2> 命令创建:执行下面两句命令后就会自动在电脑 E 盘创建一个 "..." 是我们在 GitHub 网站上注册时使用的用户名,"hello-word.git" 是我们为这个项目建立的仓库名。...如果在 GitHub 上创建仓库的时候将 "README" 选项选择了则就已经算是一次提交了,若需要在本地同步远程仓库的内容则使用如下命令即可     $ git pull git@github.com...,此时可以使用如下方法解决     $ git push --all -f     备注:强推即利用覆盖方式将你本地的代码替代 GitHub 仓库内的内容 6.

    1.7K20
    领券