问题描述
我使用 Jenkins 和 Octopus 插件在 Octopus 中创建 Release。这很好用。但是,在 Octopus 中,更具体地说,在我的第一个“脚本”步骤中,我无法获得 Release 包。我似乎能够得到的唯一变量是:
$OctopusParameters["Octopus.Release.Number"]
我需要的是同一版本的原始路径。我在 powershell 脚本中的脚本步骤解压缩了 nuget 包,添加了一个额外的级别/文件夹,在部署到 API 之前将其压缩。如果我在 Octopus 步骤中指定“参考包”(sourcepackage),那么 Jenkins 将不会构建它的 Post-Build 步骤并抱怨缺少“sourcepackage”。我想像这样获得我的包的原始路径:
$OctopusParameters["Octopus.Action.Package[sourcepackage].OriginalPath"]
但是我找不到没有“引用包”的方法,如果我使用它,Jenkins 将不会构建。 :(
解决方法
我最终做了一个工作。我添加了指向“D:\Octopus\Packages\Spaces-1\feeds-builtin[packagename]”的八达通变量“FeedPath”。在 powershell 中,我只是将“FeedPath”与版本号结合起来以获得完整的 nuget 文件路径:
$packagepath = $OctopusParameters["FeedPath"] + "[packagename]." + $OctopusParameters["Octopus.Release.Number"] + ".nupkg"