- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
技术:
Proget – Nuget 包管理服务器
TFS – 本地 2017 更新 1
问题:当从 TFS 版本重新发布构建时,要重新打包已经进入我的 Proget 开发源的 CI Nuget 包,似乎没有办法获得自动 Semantic versioning 。关于在 Nuget 打包程序设置中设置版本的帮助对话框如下所示。
Use Date and Time If you choose 'Use the date and time', this will generate a SemVer-compliant version formatted as X.Y.Z-ci-datetime where you choose X, Y, and Z.
Use an Environment Variable If you choose 'Use an environment variable', you must select an environment variable and ensure it contains the version number you want to use.
Use the Build Number If you choose 'Use the build number', this will use the build number to version you package. Note: Under General set the build format to be '$(BuildDefinitionName)_$(Year:yyyy).$(Month).$(DayOfMonth)$(Rev:.r)
我希望能够重新发布一个 Nuget 包,该包已从 TFS 中的 CI 构建转移到我的 Proget 开发源,再转移到我的生产 Proget 源中。 Microsoft 有一篇关于 Versioning NuGet packages in a continuous delivery world 的精彩文章。在那篇文章中,他们回避了这样一个事实:他们正在做类似的事情,但他们没有提供任何关于如何实现这一目标的真正方向。
问题:
如何配置 Nuget 打包器,以便在创建包时输入构建变量?或者有没有一种方法可以设置主要版本并且每次只进行次要增量?其他人如何处理软件包从开发到生产的推广?
已尝试以下操作:
尝试将 $(Version) 作为构建和发布变量,但它似乎不起作用。包裹上贴有日期标签。此外,这似乎只在 TFS 的“构建”部分中真正起作用,其中模态窗口包含一个可以修改此值的位置。
尝试使用日期和时间方法,它将 CI 粘贴到内部版本号中。这几乎正是我们想要的减去 CI 定义的结果。因为它会自动插入 CI,所以这不适合生产。
关闭它,它会从 Nuspec 中提取版本,但这会假设在您的 CI 构建中,在推送最后一个发行版本后,您总是将版本号增加到比当前版本号大 1。这是因为 nuspec 位于您通过 TFS 发布链重新发布的构建文件中。至少可以说令人困惑。
使用设置为 $(BuildDefinitionName) 的内部版本号$(Year:yyyy).$(Month).$(DayOfMonth)$(Rev:.r) 我想要的是 $(Major) .$(次要).$(补丁)。尝试使用版本 1.0.0 的 $(Version)$ 会得到一个名为 的文件,其输出为 2017.11.3.1,似乎忽略了 $(Version) 变量。
最佳答案
不确定我是否完全明白你的意思,似乎你想在 TFS 上的 ci 进程之后创建一个语义版本化的 nupkg。
通常,nupkg 应如 MSVersioningSample 所示:1.0.8-ci-20171106-156033.nupkg
但是,您想重命名 nupgk 并将其作为发布版本重新发布到 nuget 服务器,只需 MSVersioningSample: 1.0.8.nupkg
与 $(Major).$(Minor).$( 相同补丁)。
您需要在构建代理中编辑NuGetPackager.ps1
,更改$VersionRegex
值,详细信息您可以查看此问题中的答案:How do I get TFS 2015 to parse 3 digit versioning for NuGet packaging
还可以尝试使用一些第三方扩展来处理 TFS 构建、发布任务、nuget 包中的语义版本控制,供您引用的示例:Semantic Versioning Build and Release Tasks
此外,请注意:Semantic Versioning 2.0.0 仅支持 NuGet 4.3.0+ 和 Visual Studio 2017 版本 15.3+。
关于tfs - Nuget 包版本控制和从 CI 升级到生产 Nuget 源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47104666/
我几乎不敢在这里问这个问题,因为它似乎应该很容易通过谷歌或 ravendb.net 获得。但是,我一直很难找到将我的 RavenDB 升级到新版本的正确方法。我目前正在运行 573 版并希望升级到 6
这周我需要升级当前版本的 DNN。我目前使用的是 2.1.1。我不想每件事都做两次,所以,我有几个问题。 是否有升级工具或某些脚本可以帮助我进行升级。 我最好安装 4.9 还是 5.0。这是生产。 如
将 Sugarcrm 从 6.2 升级到 6.3 版本时遇到问题。当我升级本地 Sugarcrm 安装时,它可以工作,但是当我开始升级我的 Sugarcrm 6.2 站点并上传升级包时,它不会上传。
有没有办法绕过 Meteor 的自动更新功能?我坚持 Downloading meteor-tool@1.3.0_3... \ 当我尝试运行现有项目,或创建一个新项目或只是运行“
我已将应用内集成到我的 Andorid 应用程序中,用于单个产品 productone。 为此,我在我的 Google Play 控制台中创建了不同的产品 ID,如下所示: 1。 productone
我在将 TeamCity 版本 2017.1.1 升级到 2017.1.2 时遇到问题。这个问题涉及 TeamCity 和 PostgreSQL 的工作。我的工作: 停止 teamcity 进程 /e
我寻找了这个问题的具体答案,但找不到——即使是在 WAMPSERVER 网站上也是如此。我确定我忽略了它。 我有 Wampserver 2.0、MySQL 5.0.51b、PHP 5.2.6 和 Ap
我使用 Ubuntu 软件中心默认的 Eclipse 3.7。 我想将 Eclipse 升级到 kepler 版本,所以我添加了 repository 我收到以下错误消息: Cannot comple
你好 我只想安装 mercurial,但对于它需要 python 2.6 的所有版本,我尝试使用 .rpm 文件,但我唯一得到的是很多充满错误的行,它告诉我:需要安装在 2.6 之前和 2.5 之后的
我完全知道 Gradle 网站上有一些页面说明了如何升级,但仅限于 4.x 及更高版本。 我正在尝试关注 tutorial制作一个简单的“我的第一个”Minecraft 模组。在其中,您被告知安装 f
我们想升级 Kerberos(服务器和客户端) 当前:1.6.3-133.27.1 目标:1.6.3-133.49.97.1 问题是如果我们用包管理器升级它,下面会发生什么? KDC 数据库 所有主要
背景 原计划 2019 年发布的 Vue3,又经过一年的再次打磨,终于于去年 9 月正式发布。随后,不少 UI 组件库都积极参与适配,去年 12 月,Element-plus(
我有一个版本为 2.3.4 的 grails 项目,我需要尽可能升级到最新版本。查看文档我意识到从 2.x 到 3.x 有巨大的变化。 问题是:从 2 到 3、从 3 到 4、从 4 到 5 逐步升级
我正在将 API 项目从 .net5 升级到 .net6 它以前工作,现在它崩溃 内部异常消息“抛出了‘Unity.Exceptions.InvalidRegistrationException’类型
我将我的项目从 expo 44 升级到 expo 45,现在我有无数这样的错误: The module 'MaterialIcons' can't be used as JSX component.
我已经升级了掌 Helm 模板(手动) 以前的片段depoloyment.yaml : apiVersion: apps/v1beta2 kind: Deployment metadata: na
我正在尝试将我的 Scala Play Framework 应用程序升级到 2.8,这涉及将 SBT 升级到 1.x。 在我的 build.propeties 我有 sbt.version=1.3.5
我想在我的 Windows 服务器上安装 PHPUnit 3.7。我遵循了各种说明 here并以 PHPUnit 3.4.1 结束。当我尝试使用以下方法再次安装它时: pear update chan
Microsoft.Net 4.5 即将推出,我想在 MS 发布最终版本时升级我的 clickonce 应用程序。 我的问题是:已经安装了 clickonce 应用程序(使用 .net 4.0)的用户
为了将 Angular 8 更新到 9,我正在按照官方文档升级。 这建议首先更新到最新版本的 angular 8,例如: ng update @angular/core@8 @angular/cli@
我是一名优秀的程序员,十分优秀!