我们有一个 teamcity 构建服务器并使用 octopus 自动部署部署到 Windows 服务器。
该程序的本地版本很好,但部署的 exe 并未反映更改。我什至可以在 BitBucket 上看到提交的代码。
我使用 DotPeek 检查 exe 以获取更新的代码。我不想手动部署它。
我们过去曾经遇到过这个问题。它曾经通过重新运行部署来修复。我今天已经进行了 10 次这些部署,但仍然无法更改我的代码。
期望的行为是成功部署提交的代码。有没有人遇到过类似的事情?
我们有一个 teamcity 构建服务器并使用 octopus 自动部署部署到 Windows 服务器。
该程序的本地版本很好,但部署的 exe 并未反映更改。我什至可以在 BitBucket 上看到提交的代码。
我使用 DotPeek 检查 exe 以获取更新的代码。我不想手动部署它。
我们过去曾经遇到过这个问题。它曾经通过重新运行部署来修复。我今天已经进行了 10 次这些部署,但仍然无法更改我的代码。
期望的行为是成功部署提交的代码。有没有人遇到过类似的事情?
当您从构建过程中自动创建章鱼版本时,它将自动从 nuget 提要中选择“最新”代码包。这里的最新是指版本号而不是日期。
例如,在某些时候,您可能已经将版本为 1.1.222 的包推送到 octopus,然后您更改了版本控制,现在有版本为 1.0.1.223、1.0.1.224 的包。在这种情况下,八达通将继续选择 1.1.222 作为最新版本,因为它的版本号更大。
所以。1. 确保您的构建过程实际上增加了包版本。1.1 检查您的软件包提要(它是内置的章鱼提要,请转到 Octopus 的库页面)并确保最新的软件包具有更新的版本。2. 检查章鱼选择了哪个版本的包,通过项目>发布>(发布号) 3. 将构建过程中的步骤添加到版本 .exe/.DLL 文件中,这样您就可以在不反汇编的情况下检查版本(仅打开文件属性)
希望这可以帮助。
您可以强制构建 Octopus 以使用特定版本进行发布和部署
octo create-release --releaseNumber=VALUE --deployto=VALUE
这将使用特定的 releaseNumber 部署到您的目标环境,即使版本可能会更低