首页
学习
活动
专区
工具
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,那么如何在自己服务器上操作

41910
  • 使用Github创建自己小博客

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

    62820

    使用Github创建自己小博客

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

    60120

    使用Github创建自己小博客

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

    60520

    【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 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

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

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

    1.1K50

    何在 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外联地址 ?

    1.9K10

    何在自己代码应用 CAS 操作

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

    3.1K21

    GitHubIssue使用

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

    3.9K10

    使用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/

    48220

    如何使用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搭建自己博客就先说到这里

    48230
    领券