问题标签 [octopus-deploy]

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 投票
1 回答
1849 浏览

octopus-deploy - 将机器名称传递到 Octopus Deploy 中的变量字符串

我有一个 Web 服务器和一个应用服务器,它们被设置为两个独立的角色,我可以在 Octopus Deploy 中部署它们,分别命名为“My-Web-Sever”和“My-App-Server”。

我有一个变量,它是我的应用服务器上的文件共享路径。这是我的 Web 项目的 Web 配置中的应用程序设置,我想将此设置转换为部署的一部分。

应用服务器的机器名称将根据我部署到的环境而有所不同,因此我想通过引用应用服务器角色名称将机器名称传递给变量,例如:

这可能吗?否则,我将不得不为每个环境创建一个变量,并明确设置机器名称。

0 投票
2 回答
8700 浏览

deployment - 如何让章鱼部署在多个环境中选择包版本?

我们正在使用 TeamCity 服务器和 OctoPack 为多个部署环境构建包。问题是 tentacle 代理选择了最新版本的包,所以它是部署在所有环境中的相同(最新)包。这是我们设置的摘要:

  • 环境 DEV 和 STAGE;
  • 部署到 DEV 是从 Git "dev" 分支触发的;
  • 从 Git “stage” 分支触发部署到 STAGE;
  • OctoPack 被配置为生成包 MyProduct.1.0.0.dev-%build_counter% 用于 DEV 构建配置;
  • OctoPack 配置为生成包 MyProduct.1.0.0.%build_counter% 用于 STAGE 构建配置;
  • TeamCity 配置为通过其 NuGet 源公开 OctoPack 人工制品(NuGet 包);
  • Octopus 项目配置为使用来自 TeamCity NuGet 源的 NuGet Id MyProduct 部署包。

所以发生的情况是,由于 DEV 构建运行更频繁,它们具有更大的 %build_counter%,并且 STAGE 没有机会部署自己的包 - Octopus 触手更喜欢带有 1.0.0.dev-* 后缀的包.

这一定是相当普遍的情况,但我还没有找到一种简单的方法来解决它。

0 投票
2 回答
3542 浏览

xml - 如何在 XML 配置文件中指定 Octopus 内置变量名称?

我们正在测试 Octopus Deploy,所以我们制作了一个示例 web.config 文件,我们在不同的环境中安装和转换。web.config 转换和自定义变量的使用工作正常,但我无法替换内置的 Octopus 变量。这是 web.config 中 XML 部分的示例:

这里是 web.Dev.config,以环境命名:

结果如下:

如您所见,章鱼变量没有被替换。知道为什么吗?

0 投票
1 回答
1565 浏览

octopus-deploy - 八达通部署;使用参数在转换中定义配置文件?

我们正在测试 Octopus Deploy 2.0 (OD) 以部署 Web 服务、Windows 服务和 citrix 应用程序。

快速问题: 使用配置转换时,是否可以使用参数来指示应该使用哪个配置文件进行转换?

更多详细信息: 在设置配置转换时,我们希望将文件命名为

  • MyApp.DEV_US.config
  • MyApp.DEV_CANADA.config
  • MyApp.DEV_AUSTRALIA.config
  • TEST、STAGE 和 PRODUCTION 等等

例如,我们对 DEV 的部署始终包括对所有区域的部署。因此,如果 OD 环境是 DEV、TEST、STAGE 和 PRODUCTION,我们会更喜欢。然后在每个部署中,我们有多个步骤部署到每个区域。

但是,OD 配置转换仅在查找要用作转换的一部分的配置文件时查找 OD 环境。看起来 OD 需要我们将每个区域提升到环境级别,从我们的 POV 来看,这并不理想,并且会使仪表板变得混乱。

我们可以将参数传递到配置转换过程中,以便我们可以指示要用于转换的文件吗?

0 投票
1 回答
3210 浏览

deployment - 在 Octopus Deploy 中为多个项目定义角色和环境

我们已完成对 Octopus Deploy 的评估,并对我们在单个项目中的体验感到非常满意。现在我们正在将 Octopus Deploy 的使用扩展到多个项目,这一步为我们的 Octopus 体验带来了新的维度。所以我们必须验证以下断言:

  1. 虽然每个环境只有一个实例(例如 DEV、STAGE、PROD)会很好,但单个环境会限制同时发布:给定项目的发布会部署到共享相同角色的所有机器上,所以如果我们的生产环境由多台机器组成,但是我们其中一些必须运行不同的发布版本,那么我们不能只有 Prod 环境,我们需要将它分成几个组,例如 PROD_OSLO 和 PROD_BERGEN 这样我们才能在生产中发布新版本在奥斯陆。

  2. 机器角色在所有项目之间共享,因此如果一台机器在 STAGE 环境中有一个角色 web-server,那么任何项目的任何版本的 web 应用程序都将部署在这台机器上。这意味着如果不同的项目应该为他们的 STAGE 环境使用不同的机器,那么这可以通过创建不同的角色(proj1-web-server 和 proj2-web-server)或通过将 STAGE 环境一分为二(STAGE_PROJ1 和 STAGE_PROJ2)来实现. 我想知道这些替代方案之一是否有任何优势。

如果我忽略或误解了某些内容并且上述结论不正确,请详细说明。

0 投票
1 回答
1176 浏览

teamcity - Teamcity - Octopus:未找到包裹

我有一个相当复杂的 TeamCity-Solution。

配置“tcBuild”构建并创建 nuget-packages,并修改程序集的版本号。配置“tcDeploy”依赖于“tcBuild”,获取 nuget-packages 并使用 octopus 发送。

tcBuild 工作正常,还创建了想要的包。

tcDeploy 为每个包抛出以下错误:

(其中“packagename”是包的名称)错误消息的版本号与 nuget 包的“core-properties”文件夹的版本号相同。

该机器上的其他非常相似的构建工作得很好。告诉我是否需要提供更多信息。

0 投票
2 回答
3287 浏览

nuget-package - OctoPack vs nuget.exe - 哪个更快?

我目前正在尝试加快我们的 Team City 构建速度。

在成功执行 msbuild 步骤后,我们使用 nuget.exe 打包我们的解决方案,然后发布到 nuget 提要,以允许 Octopus Deploy 执行此操作。

我现在处于 nuget 包步骤大约需要 4 分钟(我们有大量资产)和 nuget 发布步骤大约需要 30 秒的阶段。这占用了我们整个构建时间的大约 75%,所以任何时候我都可以减少这将是一个很好的进展。

我想知道是否有人对 OctoPack 和 nuget.exe 有任何经验,并且能够告诉我这两种方法中的任何一种是否比另一种更快?不需要硬性数字,只需轶事证据就足够了。

0 投票
2 回答
669 浏览

c# - Selenium Internet Explorer 驱动程序、Kendo Mobile 和 Octopus Deploy

我们有一个使用 Kendo Mobile UI 组件的 MVC 5 C# Web 应用程序,我们使用 Octopus Deploy(测试、暂存、生产)部署它,并有一个步骤来运行 Selenium UI 测试。

该过程适用于使用 Selenium Chrome 驱动程序的所有环境,但是服务器上的 Selenium Internet Explorer 驱动程序存在问题。

作为 Octopus 部署过程的一部分运行时,UI 测试在服务器上失败。如果您手动执行脚本(与 Octopus 部署过程相同的脚本和用户),测试在本地开发中运行,并在服务器上运行。

我能看到的唯一区别是,一个作为触手脚本执行的一部分是无头运行的,另一个则不是。

我们收到以下错误:

触手脚本执行 OpenQA.Selenium.ElementNotVisibleException:元素不显示

我可以通过将 IE Web 驱动程序的选项更改为:

导致问题的元素是 Kendo 移动按钮:

0 投票
3 回答
739 浏览

configuration - Octopus 中的 DTSConfiguration 文件转换

我正在使用 Octopus,我想转换我的文件。但是,这些文件不是 .config 文件。这些在某种程度上有所不同,报告文件是准确的 .dtsConfig 和 .dtsx

我已经像 .config 文件一样尝试过它,但它不起作用。我所做的是在我的部署 nuget 包步骤中选中“XML 配置-XML 变量”中的框,并在变量中添加一个 configurationString 变量。

我怎样才能用我的章鱼改造这些?

0 投票
1 回答
8479 浏览

teamcity - TeamCity NuGet 安装程序步骤问题

我正在 TeamCity 中构建一个启用 NuGet 包还原的项目。

我有两个构建步骤:

  • NuGet 安装程序
  • 微软构建

其中一个项目安装了来自官方提要的 log4net-package。(但不要挂在哪个包裹上)

我的问题是当 TeamCity 运行第一步时,它在 nuget-installer 步骤中失败并显示以下消息:无法找到包 'log4net' 的版本 '2.0.3'。

因此,在尽我所能找到解决方案中的任何错误之后,我尝试:

  1. 禁用 NuGet 安装程序步骤
  2. 运行我的构建——这显然失败了,因为它没有包(见下文)
  3. 启用 NuGet 安装程序步骤
  4. 重新运行构建

[编辑] 关于 3. 步骤,正如 John H. 指出的那样,MSBuild 理想情况下应该能够重建包,所以我不需要 NuGet Installer 步骤。当我尝试在没有 nuget 安装程序步骤的情况下构建解决方案时出现的错误与我安装的 OctoPack-package 有关:

OctoPack 无法运行,因为 NuGet 包在构建运行之前已还原,并且目标文件在构建开始时不可用。请重新构建项目以在构建中包含这些包。您可能还需要确保您的构建服务器不会在每次构建之前删除包

然后它成功了..为什么?

有人对我的问题有一些见解吗?

更多背景:

我认为这与章鱼部署包有关。我在 teamcity 服务器上安装了章鱼部署插件,并且在 MSBuild 步骤中勾选了运行 OctoPack 复选框。

我试图卸载 octopack 包并重新安装,但没有成功。

是不是 MSBuild 步骤上的 NuGet 包还原与章鱼插件相结合会导致我的问题?

[部分解决] 我仍然不确定为什么我在 log4net-package 上收到错误。我运行 NuGet 安装程序作为自动构建的第一步,由于构建的性质,最终证明这是正确的做法。

我承认我不(总是)在更新包时阅读“新功能”。将 Octopack 从 2.0.26 升级到 3.0.19 时,其中一项更改是您不再需要签入 .octopack 文件夹。所以我真的能理解为什么构建在签入时找不到目标文件。

现在我已经:

  • 升级到 Octopack 3
  • 从版本控制中删除 .octopack 文件夹
  • (再次)在 teamcity 中启用了 nuget 安装步骤

并且构建运行良好。

感谢大家的帮助!我现在是一个受过更好教育的人:)

[已删除] 无关信息