github action 入门

入门案例

name: CI # 流程的名称
on: [push] # 触发的条件
jobs: # 具体的流程
  build: # 一个流程(名称为build)
    runs-on: ubuntu-latest # 运行的环境
    steps: # 执行的具体步
      - uses: actions/checkout@v1 # 下载下来代码
      - name: Run a one-line script # 当前步骤命名
        run: echo hello,world # 打印hello world
      - name: Run a multi-line script # 当前步骤命名(打印多行脚本)
        run: |
          echo Add other actions to build     
          echo test, and deploy your project.

在这里插入图片描述

Actions 详解

官方文档文档地址

name

你的工作流程名称。GitHub 会在存储库的操作页面上显示工作流程的名称。如果省略name,GitHub 会将其设置为相对于存储库根目录的工作流文件路径。

on

**必须要有。**触发工作流的条件。

示例 1:单个事件

# 将代码推送到存储库中的任何分支时触发
on: push

示例 2:多个事件

# 拉取代码或者发起pull_request时触发
on: [push, pull_request]

示例 3:使用具有活动类型或配置的多个事件

on:
  # 发起push或者pull_request并且是main分支时触发
  push:
    branches:
      - main
  pull_request:
    branches:
      - main

示例 4:自动触发

on:
  schedule:
    # 每天 5:30 和 17:30 触发工作流
    - cron: "30 5,17 * * *"

示例 5:设置路径

on:
  push:
    paths:
      - src/*

jobs

工作流(jobs)一般由一个或多个作业组成。默认情况下,作业并行运行。要按顺序运行作业,您可以使用jobs.<job_id>.needs关键字定义对其他作业的依赖关系。


job_id: 每个作业都必须有一个 id 与作业关联。键job_id是一个字符串,其值是作业配置数据的映射。您必须用对象<job_id>唯一的字符串替换jobs。在<job_id>必须以字母开头,或者_和只包含字母数字字符,-_

示例:

jobs:
  my_first_job:
    name: My first job
  my_second_job:
    name: My second job

name:GitHub 上显示的作业名称。


neends 标识在此作业运行之前必须成功完成的任何作业。

示例:

# job1必须在job2开始前成功完成,并job3等待job1和job2完成
jobs:
  job1:
  job2:
    needs: job1
  job3:
    needs: [job1, job2]

runs-on 必需。运行作业的机器类型。该机器可以是 GitHub 托管的运行器或自托管的运行器。

虚拟环境YAML 工作流标签笔记
Windows Server 2022 [测试版]windows-2022windows-latest标签当前使用 Windows Server 2019 运行程序映像。
视窗服务器 2019windows-latest 或者 windows-2019
视窗服务器 2016windows-2016
Ubuntu 20.04ubuntu-latest 或者 ubuntu-20.04
Ubuntu 18.04ubuntu-18.04
Ubuntu 16.04 [已弃用]ubuntu-16.04已弃用且仅限于现有客户。迁移到 Ubuntu 20.04。有关更多信息,请参阅 博客文章
macOS 大苏尔 11macos-11macos-latest标签当前使用 macOS 10.15 runner 映像。
macOS Catalina 10.15macos-latest 或者 macos-10.15

示例

runs-on: ubuntu-latest

uses :选择要作为作业步骤的一部分运行的操作。操作是可重用的代码单元。您可以使用在与工作流相同的存储库、公共存储库或已发布的 Docker 容器映像中定义的操作

示例:使用版本化操作

steps:
  # Reference a specific commit
  - uses: actions/checkout@a81bbbf8298c0fa03ea29cdc473d45769f953675
  # Reference the major version of a release
  - uses: actions/checkout@v2
  # Reference a specific version
  - uses: actions/checkout@v2.2.0
  # Reference a branch
  - uses: actions/checkout@main

示例:使用 Docker Hub 操作

{owner}/{repo}@{ref}

您可以在公共 GitHub 存储库中指定分支、引用或 SHA。

jobs:
  my_first_job:
    steps:
      - name: My first step
        # Uses the default branch of a public repository
        uses: actions/heroku@main
      - name: My second step
        # Uses a specific version tag of a public repository
        uses: actions/aws@v2.0.1
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值