Skip to main content

关于使用 GitHub Actions 打包

您可以在 GitHub Actions 中设置工作流程生成包并将其上传到 GitHub Packages 或其他包托管提供程序。

Note

GitHub Enterprise Server 目前不支持 GitHub 托管的运行器。 可以在 GitHub public roadmap 上查看有关未来支持计划的更多信息。

持续集成工作流程中的打包

打包步骤是持续集成或持续交付工作流程的常见部分。 在持续集成工作流程结束时创建包有助于拉取请求的代码审查。

构建并测试代码后,打包步骤可以生成可运行或可部署的构件。 根据您构建的应用程序类型,此包可本地下载以进行手动测试、可供用户下载或部署到暂存或生产环境。

例如,Java 项目的连续集成工作流可能运行 mvn package 来生成 JAR 文件。 或者,Node.js 应用程序的 CI 工作流程可能会创建 Docker 容器。

现在,在审查拉取请求时,您将能够查看工作流程运行并下载生成的构件。

工作流运行的“工件”部分的屏幕截图。 该运行生成的工件名称“artifact”以深橙色轮廓突出显示。

这将允许您在计算机上运行拉取请求中的代码,有助于调试或测试拉取请求。

发布包的工作流程

除了上传打包构件以测试持续集成工作流程之外, 您还可以创建工作流程来构建项目并发布包到软件包注册表。

  • 将包发布到 GitHub Packages GitHub Packages 可以充当多类包的包托管服务。 您可以选择与所有 GitHub 共享您的软件包,或者与合作者或组织共享私有软件包。 有关详细信息,请参阅“GitHub Packages 简介”。

    每次推送到默认分支,您可能想将软件包发布到 GitHub Packages。 这可让项目开发者始终能够通过从 GitHub Packages 安装,很容易地运行和测试默认分支中的最新构建版本。

  • 将包发布到包注册表 对于许多项目,每当发布项目的新版本时,都会执行发布到包注册表。 例如,生成 JAR 文件的项目可能会将新版本上传到 Maven Central 仓库。 或者,.NET 项目可能会生成一个微件包并上传到 Nuget Gallery。

    您可以创建一个工作流程来自动执行此操作,在每次创建版本时将软件包发布到软件包注册表。 有关详细信息,请参阅“管理仓库中的发行版”。

其他阅读材料