GitHub Actions发现、自定义actions

发现、自定义actions

Ations是驱动Workflow的基础,一个Workflow可以包含由社区所创建的actions,也可以直接repo内自己创建actions。

用于Workflow的actions可以被定义于:

  • 公开的repo
  • 引用此action的Workflow所处的repo
  • 公开的Docker HUB内的容器镜像
  1. 在编辑Workflow时浏览市场

在repo中编辑workflow页面时,右侧会出现MArketPlace,可以用来搜索action

image-20220109163458052

  1. 如何引用actions?

选择好action后直接点击进入,可以看到下面有一个复制的图标。将这些复制的信息作为一个新的Step粘贴至你的Workflow中

image-20220109163636632
3.社区actions创建者的发行管理

共有三种可选的方式来控制发行版本:

  • Tags
  • SHAs
  • Braches
4. 使用带输入输出的actions
name: "Example"
description: "Receives file and generates output"
inputs:
  file-path: # id of input
    description: "Path to test script"
    required: true
    default: "test-file.js"
outputs:
  results-file: # id of output
    description: "Path to results file"

​ 某些actions需要接收一些输入的参数,并且会给出一些输出的参数,如结果存放的路径等。

上面的例子定义需要一个输入变量:file-path,以及一个输出值:results-file

5. 引用同一个repo中的action

如果action和workflow定义在同一个repo中,可以通过两种方式来引用此action:

  • {owner}/{repo}@{ref}
  • ./path/to/dir

举例说明:

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      # This step checks out a copy of your repository.
      - uses: actions/checkout@v2
      # This step references the directory that contains the action.
      - uses: ./.github/actions/hello-world-action

这个Workflow引用同一个repo中的.github目录下的actions的目录下的hello-world-action,目录结构如下:

|-- hello-world (repository)
|   |__ .github
|       └── workflows
|           └── my-first-workflow.yml
|       └── actions
|           |__ hello-world-action
|               └── action.yml
6. 引用Docker Hub中的容器

如果aciton是定义在公开的DockerHub中的Docker容器镜像中,则需要通过下面的方式来引用:

docker://{image}:{tag},示例如下:

jobs:
  my_first_job:
    steps:
      - name: My first step
        uses: docker://alpine:3.8
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值