@Author:Outman
@Date:2023-01-28
Github Actions 相关介绍
Github Actions 介绍
- 背景
- 持续集成往往和代码的版本管理流程紧密结合,CI的过程往往由Git操作触发
- 特点
- Github 提供慷慨的计算资源
- 广泛支持各种语言和框架
- 实时日志,为你的构建行为提供丰富的反馈
- 可以自由地创造和分析Actions
Github Actions 概念
- workflow
- 持续集成一次运行的过程,就是一个workflow
- job
- 一个workflow由一个或多个jobs构成
- job是一系列完成某一目的的步骤
- job是并行运行的,除非你指定依赖关系
- step
- 组成job的步骤。可以包含自己写的命令(run),也可以引入其他仓库的action
- action
- 对某一种逻辑的封装,每个step可以依次执行一个或多个action
Github Actions 使用
- 起步
- 在代码仓库中,新建.github/workflows的目录
- 目录中的每一个.yml文件,就是一个Github Action 的 workflow
- name
- name字段是当前workflow的名称,如果没有,就取.yml的文件名
- on
- on字段指定触发workflow的条件,可以是某个事件,也可以定时,甚至手动触发
name: descriptive-workflow-name
on: push
# -----------------------------
name: descriptive-workflow-name
on: [push,pull_request]
# -----------------------------
name: descriptive-workflow-name
on:
schedule:
- cron: '0 * * *'
# -----------------------------
name: Manually triggered workflow
on:
workflow_dispatch:
inputs:
name:
description: 'Person to greet'
required: true
default: 'Mona the Octocat'
- job & steps
- workflow 文件的主体是jobs字段,表示要执行的一项或多项任务
jobs:
my-base-job:
name: My Base Job
steps:
- name: do something
run: xxxxx
my-job:
name: My Job # job的名称
runs-on: ubuntu-latest # 运行所需要的虚拟机环境
needs: [job1, job2] # 指定当前任务的依赖关系
steps: # 运行的步骤
- name:Print a greeting
env:
MY_VAR: Hi there! My name is
FIRST_NAME: Mona
MIDDLE_NAME: The
LAST_NAME: Octocat
run:
echo $MY_VAR $FIRST_NAME $MIDDLE_NAME $LAST_NAME.


423

被折叠的 条评论
为什么被折叠?



