常用的workflow(workflow step)
常用的workflow(workflow step),本文通过数据整理汇集了常用的workflow(workflow step)相关信息,下面一起看看。
GitHub Actions是GitHub于2018年10月推出的持续集成服务。我以前用过特拉维斯CI。昨天体验了一次GitHub动作,感觉更厉害了,可以玩的地方也多了。我我将介绍我第一次使用它的经验。
GitHub Actions可以参考的类似对象有Jenkins、Azure Pelines、CircleCI、TravisCI等。所有这些都是持续集成(CI)服务的提供商。事实上,持续集成意味着它根据每次提交的更改在设计、开发、测试和发布中保持滚动:
持续集成的过程是由很多步骤组成的,比如首先构建一个现成的运行环境,从Git的指定分支拉取代码,编译打包,运行单元测试,登录远程服务器,发布给第三方等等。GitHub将这些动作称为actions actions,因此由多个动作组成的工作流被命名为GitHub Actions。
为了重用动作,GitHub还提供了一个官方市场,你可以在这里搜索别人提交的动作脚本,以及别人收藏的动作仓库:牛逼动作。
GitHub Actions由以下部分组成:
工作流:持续集成和运行的过程就是工作流。作业:一个工作流由一个或多个作业组成,这意味着一个连续和集成的操作,可以完成多个任务。步骤:每项工作都由多个步骤组成,按部就班地完成。动作:每个步骤可以依次执行一个或多个命令。要配置GitHub动作的工作流,我们只需要定义一个YAML文件,它存储在。代码库的github/workflows目录。比如我的工作流文件:https://github。/任飞-net/Winteree/blob/513214 d5e 7288 CEE 65721 C9 d 05 aebd ff 18 d60 a 04/。github/workflows/build.yml,文件名可以自己定义,没有要求。工作流中有很多语法字段,请参考官方文档。以下是我自己写的一个工作流文件:
名称:buildon: [push,pull _ request]jobs:build:name:building runs-on:Ubuntu-最新服务:MYSQL:image:MYSQL:5.7 ports:-3306:3306 env:MYSQL _ ALLOW _ EMPTY _ PASSWORD:yes MYSQL _ DATABASE:winteree MYSQL _ ROOT _ PASSWORD:ROOT options:-health-cmd=MYSQL管理ping # -health-interval=5s-health-time out=2s-health-retries=3 rabbit MQ:image:rabbit MQ:3.7 my SQL admin ping-h 127 .0 .0 .1 #;-P $ PORT # -沉默;do sleep 1 done - name:正在加载数据库env:PORT:$ { { job。服务。MySQL。ports[3306]} } run:MySQL-h 127。0 .0 .1-P $ PORT-ur oot-proot-default-character-set=utf8 winteree environment/db/winteree。SQL-name:缓存Maven包使用:actions/Cache @ v2 with:path:~/。m2键:$ { { runner。OS } }-m2-$ { { hash files(* */POM .是我给这个工作流起的名字,你可以起一个属于你的名字,这个没有要求于:是指定触发工作流程的条件,通常是某些事件,我这里定义了推和拉取请求事件就会触发这个工作流工作:是工作流程文件的主体,表示要执行的一项或多项任务作业.构建:是我自己给这个任务起的身份证明叫构建下面我使用来代替这个任务ID,你可以给你的任务起一个你自己的任务身份证。工作.名称:是我自己给这个任务起的名字叫建筑你可以给你的任务起一个你自己的任务名称工作。连续运行:是指定运行所需要的虚拟机环境。它是必填字段。目前可用的虚拟机有:ubuntu、windows、macOS。工作.服务:是声明运行环境所需要的服务,我这里使用了MySQL,RabbitMQ,Zipkin,Redis。工作.步骤:指定每个职位的运行步骤,可以包含一个或多个步骤工作。步骤名称:指这个不步奏的名称工作。步骤。运行:指该步骤运行的命令或者行动。工作.steps.env:指该步骤所需的环境变量。密码是不应该公开在代码仓库里的,所以需要先到项目仓库的设置-秘密中添加你的密码,例如我添加了名为工作服_令牌的密码:
然后在工作流程流程文件中使用$ { { secrets . workalls _ token } } ;这样的格式来使用。
以后,每次修改后推送源码,GitHub操作都会自动运行,那怎么知道运行的结果呢,GitHub操作为我们提供了徽标图标,可以加入到你的项目主页中,图标地址语法如下:
https://github .///workflows//badge.svg?分支=:所有者的用户名:项目仓库名称:工作流名称:分支名称,如果不写默认是掌握分支所以我的图标地址就是:https://github ./任飞-net/WinterEE/workflows/build/badge。挽救(saving的简写)
我我以前用过TravisCI。这次用了GitHub Actions之后,感觉它它比TravisCI快得多,支持的东西也比TravisCI多。它它的配置并不复杂,而且s可玩性很强,可以实现很多自动化的东西。以后CI/CD主要用GitHub动作。
更多常用的workflow(workflow step)相关信息请关注本站。