ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Github Actions是干什么用的,一文带你了解

2021-03-17 22:57:22  阅读:235  来源: 互联网

标签:GitHub name job1 workflow Actions Github actions 一文


1. Github Actions

在这里插入图片描述

Github Actions 是GitHub的持续集成服务。持续集成由很多操作组成,比如登录远程服务器,发布内容到第三方服务等等,GitHub把这些操作称为actions。

GitHub还有actions的官方市场

在这里插入图片描述

每个action就是一个独立脚本。引用一个action,可以直接actions/repoName,比如:

actions/setup-node

这引用github.com/actions/setup-node仓库,作用是安装 Node.js。

GitHub Actions包含几大要素:

(1)workflow:工作流程,持续集成一次运行的过程。
(2)job:任务,一个workflow由一个或多个jobs构成,含义是一次持续集成的运行,可以完成多个任务。
(3)step:步骤,每个job由多个step构成,一步步完成。
(4)action:动作,每个step可以依次执行一个或多个命令。

2. workflow 文件

GitHub Actions的配置文件叫做 workflow 文件,存放在代码仓库的.github/workflows 目录。

workflow文件采用 YAML 格式,文件后缀.yml,一个仓库可以有多个workflow文件,GitHub Actions会自动运行这些文件。

(1)name

name字段是workflow的名称。

name: Actions Demo

(2)on

on 字段指定触发workflow的条件,通常是某些事件。

on: push

上面代码指定push事件触发workflow。

(3)jobs
jobs字段需要写出每一项任务的job_id,可指定任务间的依赖关系。

jobs:
	job1:
	job2:
		needs: job1
	job3:
		needs: [job1, job2]

上面代码指明,job1先于job2完成,job3等待job1和job2的完成才执行。

(4)runs-on

runs-on 字段指定运行需要的虚拟机环境,必填。

目前可用的虚拟机:

ubuntu-latest, ubuntu-18.04或ubuntu-16.04
windows-latest, windows-2019或windows-2016
macOS-latest或macOS-10.14

3. 示例

(1)创建一个GitHub 仓库
(2)在.github/workflows/目录下创建testActions.yml

name: Test run v1

on:
  workflow_dispatch:

jobs:
  test:
    runs-on: ubuntu-18.04
    steps:
      - name: Show environment v1
        run: env | grep ^GITHUB
      - name: Show ref v1
        run: echo "---> Version from $Github_REF"

(3)运行workflows

在仓库的Actions中找到 run workflows按钮。

在这里插入图片描述
(4)查看运行结果
在这里插入图片描述


参考:

  1. 阮一峰 GitHub Actions 入门教程;
  2. Github testWorkflow

标签:GitHub,name,job1,workflow,Actions,Github,actions,一文
来源: https://blog.csdn.net/rosefun96/article/details/114953371

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有