GitHub Actions发现、自定义actions
发现、自定义actionsAtions是驱动Workflow的基础,一个Workflow可以包含由社区所创建的actions,也可以直接repo内自己创建actions。用于Workflow的actions可以被定义于:公开的repo引用此action的Workflow所处的repo公开的Docker HUB内的容器镜像在编辑Workflow时浏览市场在repo中编辑workflow页面时,右侧会
发现、自定义actions
Ations是驱动Workflow的基础,一个Workflow可以包含由社区所创建的actions,也可以直接repo内自己创建actions。
用于Workflow的actions可以被定义于:
- 公开的repo
- 引用此action的Workflow所处的repo
- 公开的Docker HUB内的容器镜像
在repo中编辑workflow页面时,右侧会出现MArketPlace,可以用来搜索action
选择好action后直接点击进入,可以看到下面有一个复制的图标。将这些复制的信息作为一个新的Step粘贴至你的Workflow中
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
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)