在软件开发领域,管理源代码仓库如GitHub或Bitbucket是至关重要的。这些工具不仅用于代码管理,还用于下游任务,比如使用不同服务管理项目的集成和交付管道。现在,可以直接使用GitHub Actions来执行开发工作流程,而不需要依赖不同的服务来处理持续集成和持续交付任务。GitHub Actions允许在代码仓库中自动化、定制和执行软件开发工作流程。可以发现、创建和分享执行任何工作的行动,包括CI/CD,并将行动组合成一个完全定制的工作流程。
GitHub Actions是一系列打包好的脚本来自动化GitHub上的软件开发工作流程中的任务。它可以配置为触发复杂的工作流程,以满足组织的需求,每次开发人员将新源代码推送、拉取或合并到特定分支,或者在定时间隔,甚至手动触发。结果是可靠和可持续的自动化工作流程,这将显著减少开发时间。
GitHub Actions有两种类型:
容器动作:环境是动作代码的一部分。这些动作只能在GitHub托管的Linux环境中运行。容器动作支持多种不同的语言。
JavaScript动作:它不包括代码中环境。需要指定执行这些动作的环境。可以在云中的虚拟机或本地运行。JavaScript动作支持Linux、macOS和Windows环境。
GitHub Actions支持Linux、macOS、Windows、ARM和容器:为每个主要操作系统提供托管运行器,使构建和测试所有项目变得容易。直接在虚拟机上运行或在容器内运行。使用自己的虚拟机,在云中或本地使用自托管运行器。
矩阵构建:通过矩阵工作流程同时测试多个操作系统和运行时版本,节省时间。
任何语言:GitHub Actions支持Node.js、Python、Java、Ruby、PHP、Go、Rust、.NET等。用选择的语言构建、测试和部署应用程序。
实时日志:实时查看工作流程运行情况,带有颜色和表情符号。一键复制链接,突出显示特定行号以分享CI/CD失败。
内置秘密存储:通过在仓库中编码Git流程的工作文件来自动化软件开发实践。
多容器测试:通过在工作流程文件中添加一些docker-compose来测试web服务及其数据库。
GitHub Actions工作流程是在代码仓库中设置的过程,用于自动化软件开发生命周期任务,包括GitHub Actions。通过工作流程,可以构建、测试、打包、发布和部署GitHub上的任何项目。要创建工作流程,需要在GitHub仓库的.github/workflows目录中添加动作到.yml文件。
首先,要更新GitHub个人资料,需要创建一个。需要创建一个与GitHub用户名同名的仓库,在该仓库中创建一个readme.md文件,并复制以下内容并提交文件:
### 最新博客文章
创建仓库和readme文件后,按照以下步骤操作:
在上述创建的仓库中创建一个.github/workflows目录。
在.github/workflows目录中,创建一个名为blog-post-workflow.yml的文件。
在文件中添加以下工作流程:
name: 最新博客文章工作流程
on:
schedule: # 根据cron作业自动运行工作流程
- cron: '0 0 * * 1' # 每周一运行
workflow_dispatch: # 通过GitHub Actions工作流程页面直接手动运行工作流程(无需等待cron作业被调用)
jobs:
update-readme-with-blog:
name: 使用最新博客文章更新此仓库的README
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: gautamkrishnar/blog-post-workflow@master
with:
feed_list: "https://www.analyticsvidhya.com/blog/author/dmoonat/feed"
max_post_count: "5"