首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >在持续集成 (CI) 中使用 .NET SDK 和工具

在持续集成 (CI) 中使用 .NET SDK 和工具

作者头像
用户4268038
发布于 2022-01-05 10:43:01
发布于 2022-01-05 10:43:01
6270
举报
文章被收录于专栏:stcnbstcnb

本文档概述了如何在生成服务器上使用 .NET SDK 及其工具。 .NET 工具集既能以交互方式运行(当开发人员在命令提示符处键入命令时),也可以自动运行(当持续集成 (CI) 服务器运行生成脚本时)。 命令、选项、输入和输出都相同,可通过提供的唯一内容来获取用于生成应用的工具和系统。 本文档重点介绍了 CI 工具获取方案,并提供了有关如何设计和构建生成脚本的建议。

CI 生成服务器的安装选项

使用本机安装程序

本机安装程序适用于 macOS、LinuxWindows。 安装程序需要拥有对生成服务器的管理员 (sudo) 访问权限。 使用本机安装程序的优势在于,可以安装运行工具所需的全部本机依赖项。 本机安装程序还可以在整个系统内安装 SDK。

macOS 用户应使用 PKG 安装程序。 在 Linux 上,可选择使用基于源的包管理器(如用于 Ubuntu 的 apt-get 或用于 CentOS 的 yum),也可以选择使用包本身(即 DEB 或 RPM)。 在 Windows 上,使用 MSI 安装程序。

有关最新的稳定二进制文件,请参阅 .NET 下载。 若要使用最新(但可能不稳定)的预览版工具,请使用 dotnet/core-sdk GitHub 存储库中提供的链接。 对于 Linux 发行版本,可以使用 tar.gz 存档(亦称为 tarballs);使用存档中的安装脚本来安装 .NET Core。

使用安装程序脚本

使用安装程序脚本,可以在生成服务器上执行非管理员安装,并能轻松实现自动化,以便获取工具。 安装程序脚本负责下载并将工具提取到默认或指定位置,以供使用。 还可以指定要安装的工具版本,以及是要安装整个 SDK,还是仅安装共享运行时。

安装程序脚本在开始生成时自动运行,以提取和安装相应版本的 SDK。 相应版本 是指生成项目所需的任意 SDK 版本。 使用安装程序脚本,可以在服务器的本地目录中安装 SDK,并能从安装位置运行工具,还可以在生成后进行清理(或让 CI 服务进行清理)。 这样,可以封装和隔离整个生成进程。 有关安装脚本参考,请参阅 dotnet-install 一文。

备注

Azure DevOps Services

使用安装程序脚本时,不会自动安装本机依赖项。 如果操作系统没有本机依赖项,必须手动安装。 有关详细信息,请参阅 .NET 依赖项和要求。

CI 安装示例

此部分介绍了如何使用 PowerShell 或 bash 脚本进行手动安装,同时还介绍了多个服务型软件 (SaaS) CI 解决方案。 涵盖的 SaaS CI 解决方案包括 Travis CI、AppVeyor 和 Azure Pipelines。

手动安装

每个 SaaS 服务都有自己的生成进程创建和配置方法。 如果使用与所列不同的 SaaS 解决方案,或需要超越预封装支持范围的自定义设置,至少必须执行一些手动配置。

一般来说,手动安装需要获取一个版本的工具(或最新每日版工具),再运行生成脚本。 可以使用 PowerShell 或 bash 脚本安排 .NET 命令,也可以使用概述生成进程的项目文件。 业务流程部分详细介绍了这些选项。

创建执行手动 CI 生成服务器安装的脚本后,在开发计算机上使用它来生成本地代码以供测试。 确认此脚本可以在本地正常运行后,将它部署到 CI 生成服务器。 下面是一相对简单的 PowerShell 脚本,说明了如何获取 .NET SDK,以及如何将它安装到 Windows 生成服务器上:

本文系外文翻译,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系外文翻译,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
.NET平台系列26:在 Windows 上安装 .NET Core/.NET5/.NET6
  本文介绍如何在 Windows 上安装 .NET。 .NET 由运行时和 SDK 组成。 运行时用于运行 .NET 应用,应用可能包含也可能不包含它。 SDK 用于创建 .NET 应用和库。 .NET 运行时始终随 SDK 一起安装。当前最新版本的 .NET 是 5.0。点击此处,下载.NET Core/.NET。
张传宁IT讲堂
2021/06/21
3.8K0
.NET平台系列26:在 Windows 上安装 .NET Core/.NET5/.NET6
.NET SDK 概述
.NET SDK 是一组库和工具,允许开发人员创建 .NET 应用程序和库。它包含以下用于构建和运行应用程序的组件: .NET CLI。 .NET 库和运行时。 该dotnet 驱动程序。 获取 .NET SDK 与任何工具一样,第一件事是将工具安装到您的机器上。根据您的场景,您可以使用以下方法之一安装 SDK: 使用本机安装程序。 使用安装 shell 脚本。 本机安装程序主要用于开发人员的机器。SDK 使用每个受支持平台的本机安装机制进行分发,例如 Ubuntu 上的 DEB 包或 Windows 上的 MSI 包。这些安装程序根据需要安装和设置环境,以便用户在安装后立即使用 SDK。但是,它们还需要机器的管理权限。您可以在.NET 下载页面上找到要安装的 SDK 。 另一方面,安装脚本不需要管理权限。但是,它们也不会在机器上安装任何先决条件;您需要手动安装所有先决条件。这些脚本主要用于设置构建服务器或当您希望在没有管理员权限的情况下安装工具时(请注意上面的先决条件警告)。您可以在安装脚本参考文章中找到更多信息。如果您对如何在 CI 构建服务器上设置 SDK 感兴趣,请参阅在持续集成 (CI) 中使用 .NET SDK 和工具一文。 默认情况下,SDK 以“并行”(SxS) 方式安装,这意味着多个版本可以在任何给定时间在一台机器上共存。选择要使用的 .NET 版本一文中更详细地解释了在运行 CLI 命令时如何选择版本。
呆呆
2022/01/04
1.2K0
.NET SDK 遥测
.NET SDK 包含遥测功能,可在 .NET CLI 崩溃时收集使用情况数据和异常信息。 .NET CLI 附带 .NET SDK,是一组用于生成、测试和发布 .NET 应用的谓词。 请务必让 .NET 团队了解到工具使用情况,以便我们对其做出改进。 有关故障的信息可帮助团队解决问题并修复 bug。 收集的数据根据 Creative Commons Attribution 许可证以汇总形式发布。 范围 dotnet 具有两个功能:运行应用程序和执行 CLI 命令。 按以下格式使用 dotnet 来启动应用程序时,不会收集遥测数据: dotnet [path-to-app].dll 使用任何 .NET CLI 命令时,都会收集遥测数据,如: dotnet build dotnet pack dotnet run 如何选择退出 .NET SDK 遥测功能默认处于启用状态。 要选择退出遥测功能,请将 DOTNET_CLI_TELEMETRY_OPTOUT 环境变量设置为 1 或 true。 如果安装成功,.NET SDK 安装程序也会发送一个遥测条目。 若要选择退出,请在安装 .NET SDK 之前设置 DOTNET_CLI_TELEMETRY_OPTOUT 环境变量。 重要 要在启动安装程序后选择退出,请执行以下操作:关闭安装程序,设置环境变量,然后使用该值集再次运行安装程序。 公开 首次运行其中一个 .NET CLI 命令(如 dotnet build)时,.NET SDK 显示以下类似文本。 文本可能会因运行的 SDK 版本而略有不同。 此“首次运行”体验是 Microsoft 通知用户有关数据收集信息的方式。 Telemetry --------- The .NET tools collect usage data in order to help us improve your experience. The data is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. Read more about .NET CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry 若要禁用此消息和 .NET 欢迎消息,请将 DOTNET_NOLOGO 环境变量设置为 true。 请注意,此变量在遥测选择退出时不起作用。 数据点 遥测功能不收集用户名或电子邮件地址等个人数据。 也不会扫描代码,更不会提取项目级敏感数据,如名称、存储库或作者。 数据通过 Azure Monitor 技术安全地发送到 Microsoft 服务器,提供对保留数据的受限访问权限,并在严格的安全控制下从安全的 Azure 存储系统发布。 保护你的隐私对我们很重要。 如果你怀疑遥测在收集敏感数据,或认为处理数据的方式不安全或不恰当,请在 dotnet/sdk 存储库中记录问题或发送电子邮件至 dotnet@microsoft.com 以供我们展开调查。 遥测功能收集以下数据: SDK 版本 数据 全部 调用时间戳。 全部 调用的命令(例如,“build”),从 2.1 开始进行哈希处理。 全部 用于确定地理位置的三个八进制数 IP 地址。 全部 操作系统和版本。 全部 运行 SDK 的运行时 ID (RID)。 全部 .NET SDK 版本。 全部 遥测配置文件:一个可选值,仅在用户显式选择加入时可用,并在 Microsoft 内部使用。 >=2.0 命令参数和选项:收集若干参数和选项(非任意字符串)。 请参阅收集的选项。 从 2.1.300 后进行哈希处理。 >=2.0 SDK 是否在容器中运行。 >=2.0 目标框架(来自 TargetFramework 事件),从 2.1 开始进行哈希处理。 >=2.0 经过哈希处理的媒体访问控制 (MAC) 地址 (SHA256)。 >=2.0 经过哈希处理的当前工作目录。 >=2.0 安装成功报告,包含进行了哈希处理的安装程序 exe 文件名。 >=2.1.300 内核版本。 >=2.1.300 Libc 发行/版本。 >=3.0.100 是否已重定向输出(true 或 false)。 >=3.0.100 CLI/SDK 故障时的异常类型及其堆栈跟踪(发送的堆栈跟踪中仅包含 CLI/SDK 代码)。 有关详细信息,请参阅收集的 .NET CLI/SDK 故障异常遥测。 >=5.0.100 用于生成的经过哈希处理的 TargetFr
呆呆
2022/01/05
1K0
.NET平台系列28:在 macOS 上安装 .NET Core/.NET5/.NET6
  在本文中,你将了解如何在 macOS 上安装 .NET。 .NET 由运行时和 SDK 组成。 运行时用于运行 .NET 应用,应用可能包含也可能不包含它。 SDK 用于创建 .NET 应用和库。 .NET 运行时始终随 SDK 一起安装。最新版本的 .NET 是 5.0。点击此处,下载.NET Core/.NET。
张传宁IT讲堂
2021/06/21
6.1K0
.NET平台系列28:在 macOS 上安装 .NET Core/.NET5/.NET6
dotnet-install 脚本参考
名称 dotnet-install.ps1| dotnet-install.sh- 用于安装 .NET SDK 和共享运行时的脚本。 概要 视窗: 电源外壳 复制 dotnet-install.ps1 [-Architecture <ARCHITECTURE>] [-AzureFeed] [-Channel <CHANNEL>] [-DryRun] [-FeedCredential] [-InstallDir <DIRECTORY>] [-JSonFile <JSONFILE>]
呆呆
2022/01/05
1.8K0
推介7个CI / CD(持续集成和持续部署)工具
越来越多的工程团队正在采用敏捷开发,推动更短,更快的发布周期。代码库增长和创建新生产构建的频率导致持续集成和持续部署/交付工具的兴起。
Java架构师历程
2018/09/26
26.6K0
推介7个CI / CD(持续集成和持续部署)工具
超简单!asp.net core前后端分离项目使用gitlab-ci持续集成到IIS
网上有很多安装gitlab的方法,这里推荐使用docker安装,真的超级超级方便。 这里有一篇文章 docker安装配置gitlab详细过程 https://www.cnblogs.com/zuxing/articles/9329152.html 这里就不细说了。毕竟重点不是说怎么安装gitlab哈哈哈。
饭勺oO
2023/10/18
8170
超简单!asp.net core前后端分离项目使用gitlab-ci持续集成到IIS
六款不容错过的开源持续集成工具
持续集成是敏捷软件开发工作当中的一大组成部分。从一轮冲刺到下一轮冲刺,技术团队在“不断前进”的同时持续推出各类增量化功能。不过当开发人员高度专注于添加功能的同时,代码错误有时候也会不期而至、并导致软件无法正常使用。为了阻止此类错误被集成至软件配置管理(简称SCM)方案当中,持续集成服务器则扮演守门人的角色,帮助我们对代码质量进行把关。即使糟糕代码已经被集成到SCM当中,持续集成服务器仍然能够快速告诉我们是哪里出了问题。在今天的文章中,我们就将共同了解六款开源持续集成服务器工具,相信它们能帮助大家在自己的
静一
2018/03/23
1.1K0
六款不容错过的开源持续集成工具
如何在Ubuntu 16.04上使用Concourse CI设置持续集成管道
Concourse CI是一个现代的,可扩展的集成系统,旨在通过可组合的声明性语法自动测试管道。
GeekZ
2018/08/10
4.8K0
Ubuntu上如何使用GitLab CI搭建持续集成Pipeline
GitLab Community Edition是一个自托管的Git存储库提供程序,具有帮助项目管理和软件开发的附加功能。GitLab提供的最有价值的功能之一是内置的持续集成和交付工具GitLab CI。
爆栈工程师
2018/08/13
4.4K0
Ubuntu上如何使用GitLab CI搭建持续集成Pipeline
Gitlab CI 搭建持续集成环境
在软件工程里,持续集成(Continuous Integration, CI)是指这样的一种实践:在一天里多次将所有开发人员的代码合并到一个共享的主干里,每次合并都会触发持续集成服务器进行自动构建,这个过程包括了编译、单元测试、集成测试、质量分析等步骤,结果只有两个:成功或者失败。如果得到失败的结果,说明有人提交了不合格的代码,这就能及时发现问题。
YP小站
2020/06/04
2.9K0
Gitlab CI 搭建持续集成环境
21 个好用的持续集成工具,总有一款适合你
市场上持续集成工具众多,找到一个合适的工具并非易事,下面介绍了 21 个比较受欢迎的 CI 工具,并附上了下载链接。
DevOps时代
2019/05/17
3.1K0
Azure DevOps+Docker+Asp.NET Core 实现CI/CD(二.创建CI持续集成管道)
本文主要是讲解如何使用Azure DevOps+Docker 来实现持续集成Asp.NET Core项目(当然 也可以是任意项目).
GuZhenYin
2020/08/11
7940
Azure DevOps+Docker+Asp.NET Core 实现CI/CD(二.创建CI持续集成管道)
.NET 简介
.NET 是一个免费的开源开发平台,用于构建多种应用,例如: Web 应用程序、Web API 和微服务 云中的无服务器功能 云原生应用 移动应用 桌面应用程序 视窗 WPF Windows 窗体 通用 Windows 平台 (UWP) 游戏 物联网 (IoT) 机器学习 控制台应用程序 视窗服务 使用类库在不同的应用程序和应用程序类型之间共享功能。 使用 .NET,无论您正在构建哪种类型的应用程序,您的代码和项目文件的外观和感觉都相同。您可以使用每个应用程序访问相同的运行时、API 和语言功能。 跨平台 您可以为许多操作系统创建 .NET 应用程序,包括: 视窗 苹果系统 Linux 安卓 IOS 操作系统 手表操作系统 支持的处理器架构包括: x64 x86 ARM32 ARM64 .NET 允许您使用特定于平台的功能,例如操作系统 API。示例是 Windows 上的 Windows 窗体和 WPF,以及从 Xamarin 到每个移动平台的本机绑定。 有关更多信息,请参阅支持的操作系统生命周期策略和.NET RID 目录。 开源 .NET 是开源的,使用MIT 和 Apache 2 许可证。.NET 是.NET 基金会的一个项目。 有关更多信息,请参阅GitHub.com 上的项目存储库列表。 支持 Microsoft 在 Windows、macOS 和 Linux 上支持 .NET。它会在每个月的第二个星期二定期更新以确保安全性和质量。 Microsoft 的 .NET 二进制发行版在 Azure 中由 Microsoft 维护的服务器上构建和测试,并遵循 Microsoft 工程和安全实践。 Red Hat在 Red Hat Enterprise Linux (RHEL) 上支持 .NET。Red Hat 和 Microsoft 合作确保 .NET Core 在 RHEL 上运行良好。 Tizen 支持Tizen 平台上的.NET。 有关详细信息,请参阅.NET Core 和 .NET 5 的版本和支持。 工具和生产力 .NET 为您提供了多种语言、集成开发环境 (IDE) 和其他工具的选择。 编程语言 .NET 支持三种编程语言: C# C#(发音为“See Sharp”)是一种现代的、面向对象的、类型安全的编程语言。C# 起源于 C 语言家族,C、C++、Java 和 JavaScript 程序员很快就会熟悉 C#。 F# F# 语言支持函数式、面向对象和命令式编程模型。 视觉基础 在 .NET 语言中,Visual Basic 的语法是最接近普通人类语言的,这使得它更容易学习。与微软正在积极开发新功能的 C# 和 F# 不同,Visual Basic 语言是稳定的。Web 应用不支持 Visual Basic,但 Web API 支持它。 以下是 .NET 语言支持的一些功能: 类型安全 类型推断 - C#、F#、Visual Basic 通用类型 代表 拉姆达 活动 例外 属性 异步代码 并行编程 代码分析器 集成开发环境 .NET 的集成开发环境包括: 视觉工作室 仅在 Windows 上运行。具有广泛的内置功能,旨在与 .NET 一起使用。社区版对学生、开源贡献者和个人免费。 视觉工作室代码 在 Windows、macOS 和 Linux 上运行。免费和开源。扩展可用于使用 .NET 语言。 适用于 Mac 的 Visual Studio 仅在 macOS 上运行。用于为 iOS、Android 和 Web 开发 .NET 应用程序和游戏。 GitHub 代码空间 在线 Visual Studio Code 环境,目前处于测试阶段。 SDK 和运行时 在.NET SDK是一套库和工具的开发和运行.NET应用程序的。 当你下载.NET,您可以选择SDK或运行时,如.NET运行时或ASP.NET核心运行时。在要准备运行 .NET 应用程序的计算机上安装运行时。在要用于开发的机器上安装 SDK。当您下载 SDK 时,您会自动获得运行时。 SDK 下载包括以下组件: 在.NET CLI。可用于本地开发和持续集成脚本的命令行工具。 该dotnet 驱动程序。运行依赖于框架的应用程序的 CLI 命令。 在罗斯林和F#编程语言编译器。 该MSBuild的生成引擎。 在.NET运行库。提供类型系统、程序集加载、垃圾收集器、本地互操作和其他基本服务。 运行时库。提供原始数据类型和基本实用程序。 ASP.NET Core 运行时。为连接互联网的应用程序提供基本服务,例如 Web 应用程序、IoT 应用程序和移动后端。 桌面运行时。为 Windows 桌面应用程序提供基本服务,包括 Windows 窗体和 WPF。 运行时下载包括以下组件: (可选)
呆呆
2022/01/04
2.3K0
2020年10种最佳持续集成工具
技术正呈指数级增长,并且要参与其中,组织别无选择,只能采用技术。谈论“技术”基本上意味着创建“更快,更方便”和“定性”的解决方案。为了跟上高要求的技术动态,不仅人力资源需要与这个行业的同时发展相适应,而且迫切需要高度标准化的流程以提供一流的结果。那时就出现了DevOps的需求。从计划到交付,引入DevOps的想法是通过持续交付和持续集成之间的开发和自动化系统协作来保持质量。为了简化起见,必须有一种便捷的方法来处理复杂的情况,而不会拖延并按时交付。因此,持续集成工具的引入使开发人员可以更轻松地简化开发流程。
DevOps云学堂
2020/03/24
8K0
CI持续集成介绍
互联网软件的开发和发布,已经形成了一套标准流程,最重要的组成部分就是持续集成(Continuous integration,简称CI)。 一、概念 持续集成(Continuous Integratio
若与
2018/04/25
1K0
CI持续集成介绍
Web持续集成工作实践
摘要 如果团队开发成员经常集成他们的工作,每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建来验证,从而尽快地发现集成错误。那么这个过程可以大大减少集成的问题,让团
IT大咖说
2018/04/03
1.2K0
Web持续集成工作实践
持续集成(译)
持续集成是一种软件开发实践,团队成员经常集成他们的工作,通常每个人至少每天集成 - 导致每天进行多次集成。每个集成都通过自动构建(包括测试)进行验证,以尽快检测集成错误。许多团队发现这种方法可以显着减少集成问题,并允许团队更快地开发有凝聚力的软件。本文是对持续集成的快速概述,总结了该技术及其当前使用情况。
测试加
2022/12/05
9890
C# 一分钟浅谈:自动化部署与持续集成
在现代软件开发中,自动化部署和持续集成(Continuous Integration, CI)已经成为提高开发效率、减少错误、加快产品迭代速度的重要手段。本文将从基础概念出发,逐步深入探讨自动化部署与持续集成在C#项目中的应用,包括常见的问题、易错点以及如何避免这些问题。
Jimaks
2024/11/03
3240
基于Jenkins Pipeline的ASP.NET Core持续集成实践
最近在公司实践持续集成,使用到了Jenkins的Pipeline来提高团队基于ASP.NET Core API服务的集成与部署,因此这里总结一下。
Edison Zhou
2019/04/21
1.7K0
相关推荐
.NET平台系列26:在 Windows 上安装 .NET Core/.NET5/.NET6
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档