删除项目、创建状态徽章和配置环境保护

已完成

本单元介绍如何从 GitHub 中移除工作流项目,以及如何更改默认保持期。 接下来,了解如何创建工作流状态徽章并将其添加到 README.md 文件。 最后,确定一些重要的工作流环境保护,并学习如何启用这些保护。

从 GitHub 中删除工作流项目

默认情况下,GitHub 将任何生成日志和上传的项目保留 90 天,然后将其删除。 可以根据存储库的类型以及为特定 GitHub 产品设置的用量限制自定义此保留期。 有很多关于使用限制和项目保留的详细信息。 有关详细信息,请参阅使用限制、计费和管理

但是,假设你已达到所在组织的 GitHub 项目和包的存储限制。 你想要在调高使用限制和阻止工作流的情况下移除旧项目。 可以通过在项目到期之前从 GitHub 中删除这些项目,回收已使用的 GitHub Actions 存储。 执行此操作的方法有两种,如以下各节所述。 这两种方法都需要对存储库的写入访问权限。

警告

请记住,一旦删除项目,将无法还原。

手动从存储库中删除项目

若要手动从 GitHub 中删除项目,请导航到“操作”选项卡,从左侧边栏中选择工作流,然后选择要查看的运行。

显示了 GitHub 上的一个示例工作流运行的屏幕截图。

在“项目”下,删除相关项目。

显示了用于删除 GitHub 上的项目的垃圾桶图标的屏幕截图。

也可以使用 Artifacts REST API 来删除项目。 此 API 还可用于下载和检索有关工作项目的信息。

更改默认保留期

可以更改存储库、组织或企业帐户的项目和日志默认保留期。 请记住,更改保持期仅适用于新的项目和日志文件。 它不适用于现有对象。 对于存储库、组织和企业帐户来说,配置这些设置的过程稍有不同。 有关配置项目和日志保留期的详细信息,请查看本模块末尾的摘要。

除了跨存储库、组织或企业帐户配置设置外,还可以在工作流文件中为单个项目定义自定义保留期。 对于希望特定项目的保留期不同于默认保留期或已配置的设置的各个用例,这种做法很有用。 可通过在步骤中使用 retention-days 值并执行 upload-artifact 操作来实现这一点。

以下示例会上传一个项目,该项目保留 10 天,而不是保留默认的 90 天:

- name: 'Upload Artifact'
  uses: actions/upload-artifact@v2
  with:
    name: my-artifact
    path: my_file.txt
    retention-days: 10

将工作流状态徽章添加到存储库

这有助于了解工作流的状态,无需访问“操作”选项卡即可查看工作流是否成功完成。 通过将工作流状态徽章添加到存储库 README.md 文件,可以快速查看工作流是通过还是失败。 虽然通常会将状态徽章添加到存储库 README.md 文件,但也可以将其添加到任何网页。 默认情况下,状态徽章显示默认分支的工作流状态,但通过使用 branchevent 参数,也可以显示其他分支的工作流状态徽章。

以下示例演示了需要将什么内容添加到文件才能查看工作流状态徽章:

![example branch parameter.](https://github.com/mona/special-octo-eureka/actions/workflows/grading.yml/badge.svg?branch=my-workflow)

例如,通过将 branch 参数和所需的分支名称添加到 URL 末尾,会显示该分支(而非默认分支)的工作流状态徽章。 通过这样做,可在 README.md 文件中轻松创建一个表格式视图,从而根据分支、事件、服务或环境等显示工作流状态。

显示了 my-workflow 分支的示例工作流状态徽章的屏幕截图。

还可以使用 GitHub 来创建状态徽章。 导航到“操作”选项卡中的“工作流”部分,然后选择特定工作流。 选择“创建状态徽章”选项可为该工作流生成 Markdown,并设置 branchevent 参数。

显示了用于从 GitHub 上的“工作流”部分创建状态徽章的选项的屏幕截图。

添加工作流环境保护

安全性非常重要,因此,为工作流环境配置保护规则和机密是有意义的。 配置这些元素后,除非环境的所有保护规则都已通过,否则作业不会启动,也不会访问环境中已定义的任何机密。 目前,保护规则和环境机密仅适用于公共存储库。

有两个环境保护规则可应用于公共存储库中的工作流:“必需审阅者”和“等待计时器”。

  • “必需审阅者”可用于指定由特定人员或团队批准引用作业环境的工作流作业。
  • “等待计时器”可用于在触发作业后将作业延迟一段特定时间。

假设你需要为生产环境创建一个工作流,并指定必须由开发团队批准该工作流才能进行部署。 请使用以下步骤:

  1. 在存储库中创建一个生产环境。
  2. 配置“必需审阅者”环境保护,以要求特定开发团队进行批准。
  3. 在工作流中配置用于查找生产环境的特定作业。

可以在存储库的“设置”选项卡中的“环境”下创建并配置新的存储库环境。