论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
开源技术
›
开源技术
›
Github Actions自动发布release
Github Actions自动发布release
宁睿
金牌会员
|
2024-10-5 12:40:02
|
显示全部楼层
|
阅读模式
楼主
主题
948
|
帖子
948
|
积分
2854
说明
GitHub Actions 是 GitHub 的连续集成服务,于2018年10月推出。通过Github Actions可以实现诸多自动化功能,比如自动打包,自动发布Release等等。除此之外,GitHub Actions完全免费。
GitHub Actions 文档:
正文
1.设置仓库密钥
GitHub Actions多数时候会调用一个叫做github-actions的呆板人进行工作,这意味着我们必须为仓库添加Token才能让GitHub Actions正常工作。
访问你的settings页面,找到Developer settings,选中Personal access tokens,选中子选项Token (classic),点击右上角Generate后再次选择classic,在密钥的设置界面取个名字,设置日期,
勾选框图中的三个权限
即可。
拉到最下方点击generate后,复制密钥信息:
打开你的项目标settings页面,找到Secrets选项卡,选中Actions,选中下方New secret,
名字不重要可以任意取
,填入刚刚的密钥后保存即可。
2.打开仓库权限
由于Release涉及文件读取,因此要把setings-Action-general中的读写权限开启:
3.配置自动化文件
GitHub Actions的自动化信息来自项目根目次下.github/workflows文件夹下后缀为.yml的文件(其文件格式遵循yaml)
Yaml文件在GitHub Actions中具有条件判断本领,你可以设置多个文件来满足差别的必要。
新建一个Release文件,填入以下内容即可:
name: Build and Release
on:
push:
tags:
- "v*"
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Install gcc
run: sudo apt install -y gcc
- name: Make Build dir
run: mkdir build
- name: Build
run: gcc a.c -o ./build/release
- name: Release
uses: softprops/action-gh-release@v2
with:
token: ${{ secrets.123dsa }}
body_path: ./CHANGELOG.md
files: |
./build/**
./CHANGELOG.md
复制代码
我不会过细地解释为什么如许写,在说明的文档超链接里有所有内容。
name:这个自动化的名称,会在GitHub Actions中作为分别选项卡进行区分
on:执行条件。由于支持通配符,这里的设置为
当此push的标签为v开头时执行
jobs:很显然是做些什么
build:其中的runs-on指定在最新的ubuntu体系上运行
steps:执行内容,其中name指名称(不是很重要),run指定执行的代码。必要注意的是所有run命令的工作目次都是项目根目次
第一步为
通用步骤
,复制源代码并查抄哈希值。
二三四步为一个简朴的gcc构建。
第五步为构建发布,使用了GH Release这个Action,with指定了参数,token指定给呆板人用的token,与上文添加的同等(实在你不加这一行都可以),body_path指定从根目次的CHANGELOG.md文件读取内容作为Release的内容(不加这一行也可以),files指定Release的文件,|为Yaml的特定符号,其下可以使用多行笔墨。通配符**代表build目次下所有文件。
效果:
4.写在最后
GitHub Actions自带有很多的参数,例如github.ref代表本次执行时传入的标签,并且GH Release这个Action还具有设置pre-release等等功能,可以自定义出相当实用的自动化。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
宁睿
金牌会员
这个人很懒什么都没写!
楼主热帖
java前置学习
【RocketMQ】消息的存储
简单的用Python对手机号进行加密 ...
k8s v-1.20版本部署详细过程[实测可用 ...
【PostgreSQL】PostgreSQL重建与主库不 ...
iOS Widget
net core 3.1使用identityServer登录时 ...
Unity 将是驱动 C# 增长的引擎吗 ? ...
❤️肝下25万字的《决战Linux到精通》 ...
离线数仓建设,企业大数据的业务驱动与 ...
标签云
存储
挺好的
服务器
快速回复
返回顶部
返回列表