问题标签 [auto-versioning]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
86 浏览

c# - 这是在 ASP.NET 网页上进行自动版本控制的一种安全、廉价的方法吗?还是会咬我?

我有一个 ASP.NET 网页,我想确保用户在每次加载页面时都能获得最新版本的 javascript 文件,但我不希望他们下载该文件,除非它实际上已更改。它是一个不断发展的网络应用程序,js 文件经常被修改。我在手动更新的 url 中有一个版本号。但是当我更改js文件时,我总是忘记更新它。

所以在搜索自动版本控制方法时,我发现了一种使用 re-writes 和 php 的方法,这让我想到了我的环境。我想出的唯一方法是使用 js 文件的 LastWriteTime 作为版本。所以我建立了一个函数:

并在页面中更改了我的脚本网址:

它似乎在我的开发服务器上运行良好。浏览器看到这个:

我已经通过许多页面加载对其进行了测试,并且数量保持不变,直到我对文件进行更改。

所以这似乎是一个很好的解决方案。我查看了 FileInfo,它从磁盘读取文件元数据并且不打开或锁定文件。但是当我将它放在大约 1000 个用户的生产服务器上时,是否存在性能或其他问题的可能性?

0 投票
1 回答
216 浏览

release - NPM 与 NuGet 包自动版本控制

我们的目标是在 Azure Pipelines 的发布定义中对 npm 和 NuGet 包进行自动版本控制

到目前为止,我们正在使用基于 rev 值的标记化任务,我们替换了 nuspec 和 package.json 文件中的版本号。所以我们得到了像 1.0.1、1.0.2……这样的版本号,并且在发布定义中实现了自动版本控制

但问题是,每当发布失败时,我们都会丢失这些数字作为我们的版本号,因为 rev 值正在增加

示例:如果我发布的工件版本是 1.0.1.. 为我发布的下一个版本是 1.0.2

但是,如果 1.0.2 发布失败并且 1.0.3 成功,我们将在此处获得发布编号为 1.0.3,因为最终用户 1.0.2 缺失

现在我们需要帮助来根据上次成功发布增加我的版本号或根据成功发布重置 rev 值或获取已发布的工件版本并增加该数字

或者任何其他完成此任务的最佳实践都会有所帮助。

先感谢您。

0 投票
0 回答
149 浏览

c - Code::Blocks IDE 输出文件中的软件版本

我希望我的输出文件包含版本号。我正在使用 Code::Blocks 中的自动版本控制功能,所以我有 version.h,其中包含一些与软件的当前版本/构建相关的定义和变量。

我可以看到构建选项或全局编译器设置中有自定义变量选项卡,我在其中设置了一个名为“版本”的变量,然后我可以在输出文件名中使用它。我不知道如何使该变量等于 version.h 中代表软件当前版本的任何定义或变量。

如果有人可以帮助我,将不胜感激。

我确实意识到我也可以使用后期构建脚本来做到这一点,但如果有一种方法可以使用 IDE 中的功能来做到这一点,那么此时对我来说似乎更容易。

诚然,这是这个问题的直接副本(.exe-filename 中的项目版本),但它已有 5 年历史,似乎对我不起作用(甚至是原始海报)所以我问它作为一个新问题。

有了上面问题中给出的答案,我得到的结果与原始提问者在评论中列出的结果相同:编译时说没有这样的文件或目录。

谢谢

0 投票
1 回答
55 浏览

javascript - 如何在客户端浏览器中中止“新 WebSocket”

new Websocket(socketUrl)如果服务器拒绝打开 websocket,Javascript可能会永远运行,并且根据设计,周围的脚本不会获得有关服务器拒绝打开它的原因的信息。我已经看到客户端浏览器每隔几秒钟发送一次 websocket 请求超过 10 周(我想一个选项卡一直处于打开状态并且一直未使用)。

我已经在周围的客户端脚本中实现了一个更改,该脚本检测(通过正常的 http 请求)websocket 请求何时变得无用,然后关闭套接字。从这一点开始,重新加载其 javascript 文件的客户端将不再引起问题。

但是,我想知道是否有一种方法可以肯定地处理那些从不重新加载的客户端中被遗忘的选项卡,或者我唯一能做的就是通过阻止负载均衡器中的多余请求(haproxy )。

0 投票
0 回答
309 浏览

automation - 如何在 Gitlab 或 App Center 中自动增加 React Native Apps 版本

我们将 Gitlab 用于我们的 VCS 并将代码推送到 App Center;Gitlab-ci.yml 将只执行安全检查并在共享运行器上运行单元测试,然后 App Center 将拾取构建,并将 iOS 和 Android 应用程序构建并部署到其各自的分支,然后最终部署到 Prod。我的任务是使用以下规则自动化应用程序版本号(maj.min.pat.build):

  1. 从develop合并到qa时,将develop的次要版本提高1并将补丁版本重置为0。
  2. 分支应根据提交次数增加自己的内部版本号。
  3. 当从 feature/* 分支合并到 develop 时,将 develop 增加提交的数量。
  4. 从 hotfix/* 合并到 master 时,将补丁版本提高 1。
  5. 此版本控制方法应该与分支无关,并且不能硬编码。

我想了解的是 Gitlab 如何知道 Develop 分支正在合并到 QA 中,或者 feature/* 分支何时合并到 develop 中,然后提高 iOS 和 Android 应用程序的版本号?因为所有代码合并都在 Gitlab 中进行,而 App Center 只构建其配置的内容。所以我需要想出一种方法,在 App Center 中构建应用程序之前发生版本冲突。我搜索了 Gitlab 文档,但没有说任何关于构建增量的内容。这甚至可以用 Gitlab 实现吗?是否有一些 Gitlab 功能可以自动执行此过程?

在 Fastlane 的帮助下,我想出了一个 appcenter-post-clone-pre-build-script,它会根据分支调整 maj.min.pat 版本。在我回去阅读要求后,这不是正确的方法。

我被难住了,继续寻找答案。任何帮助,将不胜感激。

提前感谢,贾马尔。

0 投票
0 回答
30 浏览

c# - 有没有办法在合并到源代码控制开发分支时自动化程序集版本控制?

鉴于我在 GIT 存储库中有一些 C# 和 C++ 库,并且我有一个“开发”分支,所有功能和错误修复分支都来自该分支。

我怎样才能做到这一点,以便当开发人员将他们的功能/错误修复分支合并到“开发”然后推送它(以确保他们首先从其他开发人员那里提取最新版本信息)时,他们会提示他们制作的每个库更改,以指定他们希望如何为其项目增加程序集版本(例如“这是什么类型的更改?主要、次要、构建或修订”)。理想情况下,新版本信息应该在推送发生之前自动提交。

我这样做是为了无法对程序集进行更改,并且该程序集在没有从先前版本更改版本号的情况下发布给客户。我还想避免*在 Visual Studio 中为构建和修订组件使用语法,这样数字中就不会出现无法解释的巨大差距。

如果开发人员不止一次将他们的分支合并到 Development 中,我很高兴版本号可以更改或保持不变。

具体来说,我想在 C# 程序集中更改的属性位于以下AssemblyInfo.cs位置:

  • [assembly: AssemblyVersion("0.0.0.0")]
  • [assembly: AssemblyFileVersion("0.0.0.0")]

在 C++ 中,它将是.rc通过Add → Resource → Version → New.

0 投票
1 回答
153 浏览

javascript - 如何自动增加版本控制以便浏览器可以自动重新加载 JS/CSS 文件而无需手动清除缓存

我是 React Js 的新手。目前我需要在每次构建时自动更新版本号,以便浏览器可以自动重新加载 JS/CSS 文件,而无需手动清除缓存。有没有办法做到这一点?我进行了搜索,但其中大部分是针对 .net 的答案。非常感谢任何指导和帮助..谢谢

0 投票
1 回答
39 浏览

php - PHP 从 url 获取版本

如何从链接下载版本?我试图用 regEx 来做,但它没有按我的意愿工作。

我希望它能像这样工作(我给了NULL,没有什么可供选择的)

我的正则表达式:/([0-9]+\.?)+/

预先感谢您的帮助 :)

0 投票
1 回答
209 浏览

java - 使用父 pom、Java+maven 的子模块中的自动版本控制依赖项

我有 3 个存储库。其中一个是 parent-pom.xml,它是 A1 和 B1 存储库的父级。B1 存储库在依赖项中也有 A1 存储库。如果我在 parent-pom.xml 中更改版本,我还必须在 A1-pom.xml 和 B1-pom.xml 中手动更改它。它可以以某种方式自动化吗?

0 投票
0 回答
31 浏览

git - 使用无服务器框架开发的版本控制微服务

我们的项目结构是:

我们有以下分支机构:

开发、登台、掌握 -> 部署到各自的环境

应该如何自动处理微服务版本控制?

我们为 CI/CD 使用 CodePipeline/代码构建,每个分支策略都有一个管道。当代码从功能分支 -> 开发或开发 -> staging 或 staging -> ,master 合并时触发相应的管道

我们如何自动对微服务进行版本控制?