zoukankan      html  css  js  c++  java
  • 一个最简单的 Github workflow 例子

    源代码:

    name: learn-github-actions
    on: [push]
    jobs:
      check-bats-version:
        runs-on: ubuntu-latest
        steps:
          - uses: actions/checkout@v2
          - uses: actions/setup-node@v2
            with:
              node-version: '14'
          - run: npm install -g bats
          - run: bats -v
    

    workflow

    工作流程是您添加到仓库的自动化过程。

    工作流程由一项或多项 jobs 组成,可以计划或由事件触发。

    工作流程可用于在 GitHub 上构建、测试、打包、发布或部署项目。

    本文例子里,我们创建了一个名称叫做 learn-github-actions 的 工作流。

    event

    事件是触发工作流程的特定活动。 例如,当有推送提交到仓库或者创建议题或拉取请求时,GitHub 就可能产生活动。 您还可以使用仓库分发 web 挂钩在发生外部事件时触发工作流程。 有关可用于触发工作流程的事件的完整列表,请参阅触发工作流程的事件。

    本文例子,on: [push], 意思是有代码 push 到 Github 仓库时,触发该工作流。

    Jobs

    作业是在同一运行服务器上执行的一组步骤的集合。 默认情况下,包含多个作业的工作流程将同时运行这些作业。 您也可以配置工作流程按顺序运行作业。 例如,工作流程可以有两个连续的任务来构建和测试代码,其中测试作业取决于构建作业的状态。 如果构建作业失败,测试作业将不会运行。

    本文例子,定义了一个叫做 check-bats-version 的作业。

    steps

    步骤是可以在作业中运行命令的单个任务。 步骤可以是操作或 shell 命令。 作业中的每个步骤在同一运行器上执行,可让该作业中的操作互相共享数据。

    一个作业可以包含多个步骤。

    action 操作

    操作是独立命令,它们组合到步骤以创建作业。 操作是工作流程最小的便携式构建块。 您可以创建自己的操作,也可以使用 GitHub 社区创建的操作。 要在工作流程中使用操作,必须将其作为一个步骤,即放到一个 step 中去。

    本文例子内包含的 actin 见下图高亮:

    runner

    运行器是安装了 GitHub Actions 运行器应用程序的服务器。 您可以使用 GitHub 托管的运行器或托管您自己的运行器。 运行器将侦听可用的作业,每次运行一个作业,并将进度、日志和结果报告回 GitHub。 GitHub 托管的运行器基于 Ubuntu Linux、Microsoft Windows 和 macOS,并且工作流程中的每个作业都在新的虚拟环境中运行。

    本文例子的工作流,通过 yml 文件里的定义:

    runs-on: ubuntu-latest

    工作于 Github 托管的 Ubuntu 服务器上。

    代码第7行:

    - uses: actions/checkout@v2
    

    uses 关键字指示作业检索名为 actions/checkout@v2 的社区操作的 v2。

    这是检出仓库并将其下载到运行器的操作,允许针对您的代码运行操作(例如测试工具)。 只要工作流程针对仓库的代码运行,或者您使用仓库中定义的操作,您都必须使用检出操作。

    - uses: actions/setup-node@v2
            with:
              node-version: '14'
    

    安装 Node.js 运行环境到托管服务器上,版本为 14

    这个工作流逻辑的可视化版本如下:

    更多Jerry的原创文章,尽在:"汪子熙":

  • 相关阅读:
    [翻译]理解offsetWidth,clientWidth,scrollWidth以及Height
    [翻译]Chrome控制台API参考
    前端最新面试题
    前端面试题HTML+CSS
    css代码优化的12个技巧
    重构、标准、布局
    跨域的场景及跨域方式
    ajax
    那些我们该知道的数组操作
    全国最新行政区划省市区三级数据表(2018年9月),可直接用Python处理后导入数据库
  • 原文地址:https://www.cnblogs.com/sap-jerry/p/15395304.html
Copyright © 2011-2022 走看看