了解常见发布管理工具
以下工具是当前生态系统中的主流工具。 你将能看到指向产品网站的链接,可以用来探索产品,看看是否符合前一章描述的需求。
- 工具支持哪些源和项目源?
- 哪些触发器和计划?
- 工具是否支持审批和入口?
- 可以定义多个阶段吗?
- 生成任务和发布任务如何工作?
- 工具如何处理可跟踪性、可审核性和安全性?
- 什么是扩展性模型?
会指示每个工具是否属于更大的套件。 与更大的套件集成在可跟踪性、安全性和可审核性方面提供了许多优势。 许多集成已开箱即用。
GitHub 操作
GitHub Actions 可帮助生成、测试和部署代码。 可以实施持续集成和持续交付 (CI/CD),使代码评审、分支管理和问题分类按所需方式运行。
- 使用各种事件触发工作流。
- 配置环境以在作业可以继续之前设置规则,并限制对机密的访问。
- 使用并发性来控制一次运行的部署数。
链接
Azure Pipelines
Azure Pipelines 可帮助你为任何应用实现生成、测试和部署管道。
教程、参考和其他文档介绍了如何为选择的应用和平台配置和管理持续集成和持续交付 (CI/CD)。
- 在多个区域作为 SaaS 托管在 Azure 上,并作为本地产品提供。
- 完整的 Rest API,适用于生成和发布管理的所有内容。
- 与许多生成和源代码管理系统集成
- GitHub。
- Azure Repos。
- Jenkins。
- Bitbucket。
- 等等。
- 跨平台支持、所有语言和平台。
- 丰富的市场,包含额外的插件、生成任务和发布任务以及仪表板小组件。
- 属于 Azure DevOps 套件。 紧密集成。
- 完全可自定义。
- 支持手动审批和发布质量门。
- 与 (Azure) Active Directory 集成。
- 广泛的角色和权限。
链接
Jenkins
Jenkins 领先的开放源代码的自动化服务器提供数百个插件,用于支持生成、部署和自动化任何项目。
- 本地系统。 它们由第三方以 SaaS 提供。
- 不属于更大的套件。
- 行业标准,尤其是在全堆栈空间中。
- 与几乎每个源代码管理系统集成。
- 丰富的插件生态系统。
- 具有部署可能性的 CI/生成工具。
- 无发布管理功能。
链接
- Jenkins。
- 教程:使用 Jenkins CI/CD 将 ASP.NET Core 应用程序部署到 Azure Web 应用服务。
- Azure Friday - Jenkins CI/CD 与 Service Fabric。
Circle CI
CircleCI 的持续集成和交付平台通过自动执行生成、测试和部署过程,帮助软件团队自信地快速发布代码。
CircleCI 提供了一个新式软件开发平台,可让团队每天快速提升、轻松缩放和自信地生成。
- CircleCI 是基于云的系统或本地系统。
- Rest API - 你可以访问项目、生成和工件。
- 生成的结果将是一个工件。
- 与 GitHub 和 BitBucket 集成。
- 与各种云集成。
- 不属于更大的套件。
- 不可完全自定义。
链接
GitLab Pipelines
GitLab 可帮助团队自动发布和交付其应用程序,以缩短交付生命周期、简化手动流程并提升团队速度。
借助内置在管道中的持续交付 (CD),可以自动部署到多个环境(如过渡和生产),部署还支持高级功能,例如 Canary 部署。
由于应用程序的配置和定义受版本控制和管理,因此你可以轻松按需配置和部署应用程序。
链接
Atlassian Bamboo
Bamboo 是持续集成 (CI) 服务器,可自动执行软件应用程序的发布管理,从而创建持续交付管道。