Posted on:
Last modified:
GitHub Actions 使用 yaml 配置,必须放置在 .github/workflows
目录。
# 名字
name: hello-world-example
# 环境变量
env:
FOO: bar
# 触发条件
on:
# 最常用的是 push 条件,如果留空,表示每次 push 都执行。
# 任意满足这里列出的一个条件即会匹配。也就是 master 或者 v tag 都会执行。
push:
# 表示在这些分支推送的时候执行
branches:
- master
- feature/*
# 在这些 tag 推送的时候执行
tags:
- v*
# 在有人提交 PR 时运行
pull_request:
branches:
- master
# 定时运行
schedule:
- cron: '*/15 * * * *'
# 要运行的任务
jobs:
# 任务名字
say-hello:
# 也可以在这里设置环境变量
env:
FOO: bar
# 运行环境
runs-on: ubuntu-latest
steps:
# 可以使用一些现成的操作,比如 checkout 当前仓库
- uses: actions/checkout@v2
# 安装 node
- uses: actions/setup-node@v1
# actions 的参数
with:
node-version: '15.8.0'
- name: Say Hello
env:
FOO: bar
run: echo "Hello $FOO"
- name: Do stuff
run: |
echo "Step 1..."
echo "Step 2..."
echo "Step 3..."
- name: Say Goodbye
run: echo "Goodbye!"
# 任务之间默认是并发执行的
another-job:
# 依赖另一个 job
needs: say-hello
strategy:
# CI 的常见应用是在不同的环境下测试,使用 matrix 来定义一组环境
matrix:
os: [ubuntu-16.04, ubuntu-18.04]
node: [16, 18, 20]
# 排除掉某个环境
exclude:
- os: ubuntu-16.04
node: 16
# 额外包含某个环境
include:
- os: macos-latest
node: 16
# 使用变量
runs-on: ${{matrix.os}}
steps:
# 读取密钥
- name: use secrets
run: echo ${{secrets.ACCESS_KEY}}
# 条件执行
- name: Run only for pulls
if: ${{ github.event == 'pull'}}
run: echo pulling
可以使用 tmate ssh 进机器,查看情况
name: CI
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup tmate session
uses: mxschmitt/action-tmate@v3
调大虚拟内存(PageFile)就行了
- name: configure Pagefile
uses: al-cheb/configure-pagefile-action@v1.2
with:
minimum-size: 16GB
maximum-size: 16GB
disk-root: "C:"
© 2016-2022 Yifei Kong. Powered by ynotes
All contents are under the CC-BY-NC-SA license, if not otherwise specified.
Opinions expressed here are solely my own and do not express the views or opinions of my employer.
友情链接: MySQL 教程站