问题标签 [octopack]

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 投票
2 回答
830 浏览

jenkins - octo.exe 的 create-release 和 octopack 作为 msbuild 的参数有什么区别

我无法理解章鱼部署的基础知识。我正在使用带有create-releaseanddeploy-release命令的 octo.exe。我也在使用 octopack 插件。

我遇到了一个错误,但这并不是重点——我想了解这些碎片是如何组合在一起的。我已经搜索并搜索了这个主题,但每篇文章似乎都假设读者已经拥有大量关于章鱼和自动部署的背景信息,而我没有。

我的问题是:通过将 octopack 参数传递给 msbuild 来使用 octopack 和使用 octo.exe 简单地创建一个版本有什么区别?我需要两者都做,还是其中一个就足够了?如果两者都需要,他们每个人究竟做了什么?

0 投票
2 回答
612 浏览

angular - 当有子文件夹时,Octopack 不会打包 ng build 输出

这里的 gulp-octo 版本是 0.0.10,不再是当前版本。这可能适用于也可能不适用于较新的版本

angular-cli 命令ng-build将我的 Angular 应用程序构建到/dist文件夹中。

我最终得到一个平面 dist 文件夹,其中包含我的 js、html 等文件。

然后我可以使用gulp-octo将我的包发布到我的章鱼部署主机,如下所示:

哪个有效。

然后我将一个文件assetFile.png 添加到资产文件中。这会改变/dist的外观。它不再是完全平坦的:

突然之间,gulp publish失败并出现此错误:

它显然对包含子文件夹的/dist文件夹不满意(如果我在构建后将文件夹添加到 dist 中,我会得到同样的错误)。但我不确定为什么,以及该怎么做。

到底是怎么回事?如何修复此部署?

Github上的一个最小示例是我使用ng init(angular-cli) 创建的空白应用程序,然后添加了 gulp 和 octopus。

0 投票
2 回答
756 浏览

powershell - 如何从 VSTS 执行 Octo.exe?

我希望从 VSTS 上的 powershell 脚本执行 Octo.exe。像这样

但我不知道 Octo.exe 的正确路径,或者它是否存在于 VSTS 上?可以在那里安装吗?还是我必须将 octo.exe 添加到我的源并从那里调用它?

0 投票
1 回答
209 浏览

nuget - TFS2017 - 使用 octopack 凭据进行 NuGet 推送

我在将我的包推送到我使用 TFS2017 包选项卡创建的内部 NuGet 提要时遇到问题。

我收到以下错误:

我想使用以下构建参数使用 OctoPack 将包推送到它:

我尝试使用以下内容:

两个参数都不起作用..

我也不介意从提要中删除 apikey / 凭据,但实际上没有文档如何在 TFS 2017 的新包功能中执行此操作。

这是我刚刚-Verbosity detailed在 nuget 推送参数中使用的堆栈跟踪:

0 投票
1 回答
170 浏览

gulp - 整个 Habitat 解决方案的 Nuget 包

我们遵循具有三层功能、基础和项目的 Habitat Struture。因此,所有项目都可以使用 Octo 包生成单独的 .Nuget 包,但是我们可以创建整个解决方案的 Nuget 包,就像我们使用任务运行器中的 Gulp 任务一起发布所有项目一样Visual Studio 中的资源管理器?有什么方法可以创建包含 Feature、Foundation 和项目层中的所有 WebProject dll 的整个解决方案的 Nuget 包?

在此处输入图像描述

0 投票
1 回答
368 浏览

nuget - octopack nuget 包版本

无论我做什么,我的 nupkg 文件似乎都是 1.0.0.0 版本。我想使用我的 nuspec 文件中的 version 元素指定包的版本,如下所示。

我的 msbuild 命令是

0 投票
1 回答
110 浏览

c# - Octopack 工件包括源代码

我有以下问题。

我正在使用带有 octopack 的 teamcity 构建服务器,我的构建工件 nouget 包包含我们项目的所有源代码。

我不希望它们可见。

我该如何看待这些东西?

这甚至是项目设置还是 octopack 的设置?我尝试在 Visual Studio 中的 c# 文件上将构建操作设置为无,但这没有任何效果。

我也尝试<file src=".\Views\**\*.*" exclude=".\Views\." target="Views" /> 在我的 nuspec 文件中使用。这导致构建失败并出现错误

C:\BuildAgent\work\ab676e64aeb1c979\packages\OctoPack.1.0.109\targets\OctoPack.targets(122, 5): 错误 MSB3073: 命令 ""C:\BuildAgent\work\ab676e64aeb1c979*** *.****.****...nuget\NuGet.exe" 包 "C:\BuildAgent\work\ab676e64aeb1c979********.****.****** ******.****.nuspec" -OutputDirectory "bin" -basePath "C:\BuildAgent\work\ab676e64aeb1c979********.****.****" -版本“1.1.0.6984”-NoPackageAnalysis”以代码 1 退出。

我该如何解决这个问题?

0 投票
1 回答
280 浏览

angular - asp.net mvc + angular 4 + TFS 2013 (XAML builds) + octopack 的正确配置是什么?

为项目配置部署过程,并在使用 OctoPack 将 msbuild 的输出打包到 nuget 包时遇到一些问题。已决定获得有关该过程的反馈,可能是我做错了什么。

前提条件:

  • .net 4.6 asp.net 项目,带有 Angular 4 前端和 Angular-cli 作为构建工具
  • TFS 2013(使用 XAML 构建)作为构建机器
  • GIT 作为源代码
  • Octopus 作为部署框架
  • 有几个环境,所以有几个带有转换的 web 配置 asp.net 和 angular-cli/webpack
  • 几个发布配置文件,包括(每个环境一个):
    • 要运行的 PreBuild 事件标记:npm run build

项目结构:

  • web_project
    • \src - 打字稿、html 和 scss 文件
    • \图片
    • \assets - 此文件夹不是项目/GIT 的一部分。它由 angular-cli/webpack 创建,包含编译、缩小和捆绑的 js 代码和 css 文件
    • \其他文件(index.html、web.config 等)

构建过程:

Msbuid 编译 C# 代码,然后执行发布命令:编译 JS 代码并将所有内容复制到自定义输出文件夹中。

要运行构建和生成应用程序,我运行以下命令(本地或 TFS 服务器上):

此命令的输出包含我需要的所有内容(包括 Assets 文件夹):我可以将其复制到 IIS 中。

现在,我想集成 Octopack。我已经安装了 Octopack nuget 包并添加了附加参数 /p:RunOctoPack=true:

Octopack 创建一个 nuget 包,但它没有 Assets 文件夹。根据文档,Octopack 从 \bin 文件夹中获取所有内容,但 Assets 文件夹存在于 obj\Development 中。这不是解决方案的一部分,每次我运行 npm build 任务时都会重新创建这个文件夹。

现在,问题:

  1. 流程工作流程看起来好吗?
  2. 通过 msbuild 发布是唯一可能的选择吗?有没有其他方法可以让 msbuild 编译 C#、运行自定义 cmd/powershell 文件(运行 npm build)和转换 web 配置?
  3. 如何将其他文件夹包含到 Octopack 中(在我的例子中:带有已编译 JS 的资产)?

感谢您的反馈

0 投票
1 回答
453 浏览

octopus-deploy - 如何在octopack中使用nuspec中设置的版本号?

我有一个 nuspec 文件,其中包含有关 nuget 包的信息,它还包含一个版本。

是否可以让 OctoPack 使用 nuspec 文件中指定的版本?现在它会自动获取日期。

我已经尝试过 OctoPackNuSpecFileName 参数,但它没有从我的 nuspec 文件中接管版本。

nuspec 文件:

我的输出是 Tc_Oct_App.Release.2017.8.9.134639.nupkg。

0 投票
1 回答
270 浏览

asp.net-core - AppVeyor Octopack - GetAssemblyVersion 失败

我有一个 asp.net core 2.0 网络应用程序。我正在尝试使用 AppVeyor 使用 octopack 构建 nuget 包,因此我们的 octopus 服务器可以处理我们的部署过程。

我的 appveyor.yml 文件中列出了以下步骤来执行 nuget 还原和发布:

但是,当构建到达dotnet publish站点时,它会失败并出现以下错误:

我不确定为什么找不到 octopack 目标,因为我正在安装最新的 octopustools,并且目标应该基于引用项目。

更新:我已将 RDP 加入构建服务器,并且能够从 powershell 控制台成功运行命令,并且它们是成功的。以下是命令以及运行这些命令的结果:

这是 octopack 步骤:

*所以此时我迷失了为什么命令在appveyor运行时失败,但当我在RDP进入同一台机器时运行相同的命令时却没有。

更新#2:我现在意识到这些命令应该作为 ps (powershell) 命令运行,而不是标准的 cmd (bash) 命令。我纠正他们

但是关于上面显示的 octopack 目标,输出仍然返回相同的错误。这些命令正是我从 RDP 会话中运行它们的方式,它们正在正确构建和打包。所以迷失了为什么这个自动构建失败,但是从 RDP 手动运行相同的命令是有效的。