使用 DevOps 项目部署到 Azure Kubernetes 服务 (AKS) - VSTS 冲刺 134 更新
Visual Studio Team Services (VSTS) 的 Sprint 134 更新为生成中的 Ruby、Python 和 Java 语言提供了更好的支持,以及发布更多部署选项。 其中一个选项是在 Azure DevOps Projects 中添加Azure Kubernetes 服务 (AKS),以帮助开始使用已准备好进行缩放的容器化应用程序。 我们还宣布 ,过去几个月一直处于预览状态的发布入口现已正式发布,可帮助你自动控制发布环境中的渐进式部署。
还可以使用新版本的 VSTS 演示生成器 ,通过丰富的示例数据和配置轻松演示和学习 VSTS。
VSTS 中的新增功能
功能
工作
生成
- 基于各种 Ruby 版本生成 Ruby 应用
- 基于各种 Python 版本生成、测试和发布 Python 应用
- 使用 Java 10 在托管代理上生成 Java 应用
- 利用 xcpretty 中改进的 Xcode 生成和测试输出
版本
- 使用发布入口逐步公开和阶段部署,现已正式发布
- 使用 Azure DevOps Projects 部署到 Azure Kubernetes 服务 (AKS) 和 Azure Service Fabric
- 使用 Azure DevOps Projects 部署到Azure SQL 数据库
- 将混合应用程序发布到 Azure Stack
- 控制发布中使用的 Helm 版本
程序包
测试
Wiki
工作
查询空的格式文本字段
使用新的 IsEmpty 查询运算符可查找具有空格式文本字段(例如“说明”)的工作项。 此功能基于建议确定优先级。
生成
基于各种 Ruby 版本生成 Ruby 应用
Ruby 版本 2.3.7、2.4.4 和 2.5.1 已添加到托管代理。 通过将“使用 Ruby 版本”任务添加到 生成步骤来设置管道使用的 Ruby 版本 。 指定的 Ruby 版本将从代理的工具缓存中安装,并选择性地添加到生成的 PATH 环境变量中。 甚至可以为版本号设置范围,例如 >= 2.4
。
基于各种 Python 版本生成、测试和发布 Python 应用
托管代理现在提供 Python 版本 2.7.14、3.3.7、3.4.8、3.5.5、3.6.4 和 3.7.0-b2。 通过将“使用 Python 版本”任务添加到 生成步骤来设置管道使用的 Python 版本 。 指定的 Python 版本将从代理的工具缓存中安装,并选择性地添加到生成的 PATH 环境变量中。 甚至可以为版本号设置范围,例如 >= 3.3
。
对于在多个版本的 Python 上测试 Python 包的常见方案,请在创建生成管道时选择 Python 包 模板。 它将提供一组初始步骤,用于在 Python 版本的矩阵上运行测试,并选择性地发布包。
使用 Java 10 在托管代理上生成 Java 应用
运行 Linux、macOS 和 Windows 的托管代理计算机现在预安装了 Java 10。 Ant、Gradle 和 Maven 生成任务简化了 Java 10 及其构建体系结构的选择。
利用 xcpretty 中改进的 Xcode 生成和测试输出
xcpretty 增强了 xcodebuild 输出的可读性,并以 JUnit 格式生成了测试结果。 现在,Xcode 生成任务与在托管的 macOS 代理上一样,在代理计算机上(如果可用)自动使用 xcpretty。 尽管 xcpretty 输出可能不同于 xcodebuild 输出,但 VSTS 仍使完整的 xcodebuild 日志可用于每个生成。
版本
使用发布入口逐步公开和阶段部署,现已正式发布
发布入口(支持数据驱动的部署审批)现已正式发布! 使用发布入口,可以指定将发布提升到下一个环境之前必须满足的应用程序运行状况条件。 在部署之前或之后将定期评估所有指定入口,直到全部部署成功。 四种类型的入口立即可用,并且可以从市场添加更多入口。 你可以审核是否满足部署的所有必需条件。 请参阅发布入口文档获取详细信息。
使用 Azure DevOps Projects 部署到 Azure Kubernetes 服务 (AKS) 和 Azure Service Fabric
Azure Kubernetes 服务(AKS)是 Azure 中完全托管的 Kubernetes 服务,现在可以在 DevOps Projects 中启动基于 Java 的新Node.js、.NET Core 或基于 Java 的应用。 还可以通过自带代码来开始使用现有应用程序。 只需选择应用程序语言、运行时和 AKS 即可。 DevOps 项目将创建 AKS 群集,并使用 Helm Chart 设置持续交付管道。
还可以针对 DevOps Projects 中的新 .NET Core 应用面向 Azure Service Fabric 。 这为你提供了另一个选项来开始使用包含完整 DevOps 管道的新项目,无论你是要保留 VM 的控制、保持 Web 应用的简单性,还是针对大规模进行优化。 有关详细信息,请参阅 AKS 和 Service Fabric 文档的教程文档。
使用 Azure DevOps Projects 部署到Azure SQL 数据库
Azure SQL 数据库,完全托管的关系云数据库,现在可以在 DevOps Projects 中作为目标,启动新的 .NET 应用并选择 ASP.NET 作为运行时。 只需选择“添加数据库”即可将SQL 数据库添加到 .NET 应用。 DevOps 项目将创建一个示例的两层连接应用程序,包括这两个层的持续交付管道。 有关详细信息, 请参阅教程 文档。
将混合应用程序发布到 Azure Stack
对 Azure Stack 的支持已退出个人预览版,现已正式发布! Azure Stack 是一个集成的软件和经验证的硬件系统,可扩展本地 Azure 服务和功能。 现在,你可以拥有一个更加一致的 DevOps 过程,其中包含所有元素的生成、部署和测试是运行云、本地还是混合应用程序。 无需更改代码- 只需 使用与任何其他部署目标相同的工具和功能连接到 Azure Stack 。 现在,从项目管理员设置或生成或发布定义添加新服务时,“添加 Azure 资源管理器服务终结点”对话框的“环境”字段中会显示“AzureStack”选项。 有关详细信息,请参阅“ 将应用部署到 Azure Stack ”文档。
控制发布中使用的 Helm 版本
Helm 工具安装程序任务从 Internet 或工具缓存获取特定版本的 Helm,并将它添加到代理(托管或专用)的路径。 使用此任务可更改在后续任务(如 .NET Core cli 任务)中使用的 Helm 版本。 在生成或发布定义中于 Helm 部署任务之前添加此任务可确保使用正确的 Helm 版本对应用进行打包和部署。 此任务还可帮助有选择地安装 kubectl 工具,后者是 Helm 正常运行的先决条件。
程序包
关注包
我们发布了新的包通知类型,通过设置通知设置新订阅,可以获取有关包和源的更新。 现在,我们已使在每个包上直接使用新的 “关注 ”按钮设置通知更加容易。 关注按钮也与发布视图兼容。 如果在通过视图查看包的同时关注该包,则你只能获得提升到该视图的新版本的更新。
控制谁可以从上游源拉取包
使用上次更新发布的新的上游源功能,现在可以通过源使用来自其他团队源的 NuGet 和 npm 包。 当我们听取你的反馈时,我们听说上游源的当前权限(要求你是参与者)从上游保存包,在某些情况下不够精细。
此更新我们在包管理中引入了名为 “协作者”的新角色。 协作者可以从上游源保存包,但不能将包直接发布到源(例如,通过使用 nuget push
)。 这样,便可以将包发布到信任的包或生成系统,同时允许工程师使用上游源中的新包。
无需手动保存即可更改源设置
已改进源设置页面上的一些交互。 现在,你进行的更改(例如添加上游或权限)可立即保存。 这意味着在设置透视图之间切换时无需担心丢失更改。
测试
使用新的测试计划中心管理测试计划
重要
若要使用此功能,必须在配置文件或帐户上启用新的测试计划体验预览功能。
测试计划的新中心简介! 不仅可以从此页面添加、编辑和删除计划,还可以在团队和项目中查找和收藏计划。 我们在仪表板、查询和计划中率先推出了这种类型的体验。 这是在产品中实现此一致性的另一个步骤。
Wiki
在移动页面时修复断开的链接
页面链接断开是所有文档解决方案中页面质量不佳的主要原因之一。 以前在 Wiki 中,当移动树结构中的某个页面或重命名某个页面时,它可能是从其他页面和工作项到该页面的断开的链接。 现在,你可以在链接断开之前对其进行检查和修复。
重要
请记住, []()
在工作项中使用页面链接的 Markdown 语法和 Wiki 页面 链接类型,以允许 Wiki 查找和修复这些可能损坏的链接。 此功能不会选取工作项中的纯文本 URL 和超链接。
重命名或移动页面时,系统会提示你检查受影响的绝对或相对链接。
随后会在执行操作之前显示受影响的页面链接和工作项的列表。
VSTS 演示生成器
演示 生成器 可帮助你在 VSTS 帐户上创建项目,其中包含预填充的示例内容,包括源代码、工作项、迭代、服务终结点,以及基于所选模板生成和发布定义。 这些项目可用于关注动手实验、演示和其他教育材料。
最新版本提供简单的登录、自动安装扩展、新模板和支持 TFS。
有关使用生成器的分步说明,请查看 文档 。
后续步骤和反馈
我们很想听听你对这些功能的看法。 如果你对想要查看我们优先顺序的事情有想法,请通过反馈菜单报告问题或提供建议。
你还可以在 Stack Overflow 上获得社区的建议和问题的答案。
此致
Jamie Cool