tags
type
status
date
slug
summary
category
password
icon
GitHub Actions是一个用于持续集成和持续交付的平台,可自动执行生成、测试和部署流程。通过创建工作流程,您可以对每个拉取请求进行构建和测试,或将合并的请求部署到生产环境。
此外,GitHub Actions不仅仅适用于DevOps,还可在存储库发生其他事件时触发工作流程。例如,当有人在您的存储库中创建新问题时,您可以自动添加相应的标签。
GitHub提供了Linux、Windows和macOS虚拟机来运行工作流程,同时还支持自托管运行器,可以在您自己的数据中心或云基础架构中进行托管。
Github Actions 是很好用的工具,博主鳄鱼儿也写过几篇 Github Actions 文章。
定时任务——schedule
Github Actions 是可以执行定时任务,并且每月有免费额度,对于每日重复任务有奇妙之处,各位程序猿,想必都懂。
Github Actions 核心的能力在于触发工作流里的事件,
schedule
这种类型可以定时执行任务事件。特别注意:
- 因为 Github 是国际网站,默认时区是 UTC 时间(协调世界时间),大致时间是冰岛和英国的时区。UTC 比北京时间慢 8 小时,用目标时间减 8 就可以了。
- schedule 延迟问题:GitHub 的官方文档明确写了,schedule 是无法保证准时执行的。
冷知识UTC(Coodinated Universal Time),协调世界时,又称世界统一时间、世界标准时间、国际协调时间。由于英文(CUT)和法文(TUC)的缩写不同,作为妥协,简称 UTC。UTC 是现在全球通用的时间标准,全球各地都同意将各自的时间进行同步协调。UTC 时间是经过平均太阳时(以格林威治时间 GMT 为准)、地轴运动修正后的新时标以及以秒为单位的国际原子时所综合精算而成。在军事中,协调世界时会使用“Z”来表示。又由于Z在无线电联络中使用“Zulu”作代称,协调世界时也会被称为"Zulu time"。
虚拟环境的时区设置
cron
字段的时区是无法更改的,但虚拟环境的时区,是能修改的。set-timezone
是一个可以设置环境时区的 action。set-timezone: https://github.com/szenius/set-timezone