- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试通过 Azure DevOps 上的 Nuke 和 CI/CD 自动执行 NuGet 包更新。一切都构建得很好,但在 PushNuGet 步骤中,该过程尝试通过弹出窗口向 Azure 进行身份验证,这显然从未在 [in devops] 中呈现或应答
class Build : NukeBuild
{
/// Support plugins are available for:
/// - JetBrains ReSharper https://nuke.build/resharper
/// - JetBrains Rider https://nuke.build/rider
/// - Microsoft VisualStudio https://nuke.build/visualstudio
/// - Microsoft VSCode https://nuke.build/vscode
public static int Main () => Execute<Build>(x => x.PushNuGet);
[Parameter("Configuration to build - Default is 'Debug' (local) or 'Release' (server)")]
readonly Configuration Configuration = IsLocalBuild ? Configuration.Debug : Configuration.Release;
[Solution] readonly Solution Solution;
[GitRepository] readonly GitRepository GitRepository;
AbsolutePath SourceDirectory => RootDirectory / "src";
AbsolutePath TestsDirectory => RootDirectory / "tests";
AbsolutePath ArtifactsDirectory => RootDirectory / "artifacts";
string VersionNumber = "1.0.2";
Target Clean => _ => _
.Executes(() =>
{
SourceDirectory.GlobDirectories("**/bin", "**/obj").ForEach(DeleteDirectory);
TestsDirectory.GlobDirectories("**/bin", "**/obj").ForEach(DeleteDirectory);
EnsureCleanDirectory(ArtifactsDirectory);
});
Target Restore => _ => _
.DependsOn(Clean)
.Executes(() =>
{
DotNetRestore(s => s
.SetProjectFile(Solution));
});
Target Compile => _ => _
.DependsOn(Restore)
.Executes(() =>
{
DotNetBuild(s => s
.SetProjectFile(Solution)
.SetConfiguration(Configuration)
.EnableNoRestore());
});
Target Pack => _ => _
.DependsOn(Compile)
.Executes(() =>
{
DotNetPack(s => s
.SetProject(RootDirectory + "\\Fuze.Models\\Fuze.Models.csproj")
.SetNoBuild(true)
.SetConfiguration(Configuration)
.SetVersion(VersionNumber)
);
});
Target AddSource => _ => _
.DependsOn(Pack)
.Executes(() =>
{
var sourceUrl = "https://pkgs.dev.azure.com/DataFuzionHCM/_packaging/DataFuzionHCM/nuget/v3/index.json";
var sourceName = "DataFuzionHCM";
var sources = NuGetTasks.NuGetSourcesList();
if(sources.Any(source => source.Text.Contains(sourceName)))
{
NuGetTasks.NuGetSourcesRemove(s => s.SetName(sourceName));
}
NuGetTasks.NuGetSourcesAdd(s => s
.SetName(sourceName)
.SetSource(sourceUrl)
.SetUserName("NuGet Feed Token")
.SetPassword("fakepassword")
);
});
Target PushNuGet => _ => _
.DependsOn(AddSource)
.Executes(() =>
{
NuGetTasks.NuGetPush(s => s
.SetSource("DataFuzionHCM")
.SetApiKey("az")
.SetTargetPath(RootDirectory + $"/FUZE.Models/bin/debug/Fuze.Models.{VersionNumber}.nupkg")
);
});
}
在 Azure 构建管道上,在最后一步中,可以在作业日志中看到它卡在某个使用 azure 的身份验证窗口上。
Using credentials from config. UserName: NuGet Feed Token
[CredentialProvider]Using the ADAL UI flow for uri https://pkgs.dev.[hidden]ure.com/DataFuzionHCM/_packaging/DataFuzionHCM/nuget/v3/index.json. User sign-in required in a pop-up authentication window.
[CredentialProvider]Using the ADAL UI flow for uri https://pkgs.dev.[hidden]ure.com/DataFuzionHCM/_packaging/DataFuzionHCM/nuget/v3/index.json. User sign-in required in a pop-up authentication window.
[CredentialProvider]Using the ADAL UI flow for uri https://pkgs.dev.[hidden]ure.com/DataFuzionHCM/_packaging/DataFuzionHCM/nuget/v3/index.json. User sign-in required in a pop-up authentication window.
##[error]Unable to load the service index for source https://pkgs.dev.[hidden]ure.com/DataFuzionHCM/_packaging/DataFuzionHCM/nuget/v3/index.json.
##[error] The HTTP request to 'GET https://pkgs.dev.[hidden]ure.com/DataFuzionHCM/_packaging/DataFuzionHCM/nuget/v3/index.json' has timed out after 100000ms.
##[error]Process 'NuGet.exe' exited with code 1.
是否有一种方法可以通过 Azure 进行编程身份验证,这样它就不会在弹出身份验证时挂起和超时?
最佳答案
事实证明,NuGet feed 的密码已过期,因此当身份验证失败时,它会提示进行身份验证,而不是抛出身份验证错误。我进入 DevOps 并更新了密码的到期日期,从那里开始,一切正常。
我确实觉得奇怪的是,它没有抛出身份验证错误,而是在单独的窗口上要求本地用户输入密码。也许在设计用于更新 NuGet 包的 API 时并未考虑自动化。
关于c# - 通过 Nuke.Common/NuGet.CommandLine 部署 NuGet 包时如何通过 Azure Auth,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64268831/
我正在使用 nuke build第一次。 处理 getting started向导,我运行了以下命令: dotnet tool install Nuke.GlobalTool --global nuk
我正在尝试使用 Nuke 来运行 VSTest,因为我的一些测试在 .Net Framework(非核心)中。 我有一个成功运行的测试: VSTest(@".\test\MyTestProjectFo
我有以下导致 Nuke 挂起的代码。基本上,我要做的是从文件系统中获取文件和文件夹的列表,并且我试图通过并行处理来加快速度。这在 Nuke 之外完美运行,但正如我之前所说,在 Nuke 中运行它会导致
nuke.allNodes() 可以过滤一个特定的节点类,即 nuke.allNodes("Transform")。但如果我想让它过滤更多怎么办?有解决办法吗? 也许将它们放在:var = [] 但是
为了熟悉 Nuke 的 Python,我正在创建一个在节点图中进行的小游戏,但在尝试使用函数移动我的“角色”时遇到了障碍。该角色是一个点,该函数尝试读取其在 X 和 Y 中的位置,以确定它可以移动的方
我有一个以相机作为输入的 gizmoB。 GizmoB 位于 GizmoA 中,GizmoA 也将相机作为输入。我希望 gizmoB 能够通过表达式访问相机。但是,我所做的一切似乎都没有用。 XML
有没有办法到完全删除 Subversion 存储库以便用户无法访问旧版本? PS:我在存储库机器上有 root 访问权限。 最佳答案 只需删除存储库的根文件夹,但保存 conf/里面有文件夹。然后,使
我是一名 VFX 教师,目前当我想抓取节点图的图像以在讲座幻灯片中使用时,我必须将节点图全屏显示并进行屏幕截图,但正如您可以想象的那样,我必须使用更大的脚本缩小到有时无法识别。 在我看来,当您放大和缩
作为本地颠覆沙皇,我向大家解释在存储库中仅保留源代码和非大型文本文件,而不是大型二进制数据文件。也许是测试的一部分的较小的二进制文件。 不幸的是,我与人类一起工作!有一天,有人可能会意外提交 800M
我一直使用 Nuke,并且我知道简单的 Python 可以在其中创建简单的工具。我已经能够使用面板和工具执行中等复杂的操作,但我遇到了一些应该非常简单的事情,但我似乎无法在这里或在 nukepedia
这是我的问题: 我想为每个选定的节点创建一个复选框。我已经设法为每个节点创建具有正确名称的复选框,但问题是在复选框中选择它们并打印结果的位置仅返回选定的第一个节点或 bool 结果(True 或 Fa
我正在 Nuke10 中编写时间线同步脚本。我应该更改全局框架设置。示例: nuke.root().knob('first_frame').setValue(1) nuke.root().knob('
我们丢失了匹配的加密密码,不得不破坏我们现有的配置文件。我要确保运行 fastlane nuke development fastlane nuke distribution fastlane nuk
我需要以编程方式获取 Nuke 脚本中使用的所有字体的位置。如果您在 GUI 中打开文本节点,您可以在 Font 下看到字体文件路径,但是使用以下代码我只能获得字体系列、字体样式的元组。这让我完成了部
我正在尝试运行 https://github.com/rebuy-de/aws-nuke并传递交互式提示的答案。脚本要求帐户别名(两次)。不幸的是它只通过了第一个答案,第二个答案被省略。我得到的错误:
我正在使用脚本编辑器将多个 Nuke 节点分组在一起。我想减少使用旋钮界面的输入数量。其中之一是选择图像文件。所以我正在使用 ux_File = nuke.File_Knob("my_file", "
我有一个现有模块,我在其中修改了一个包含一些 HTML 数据的用户控件。这在我的页面上显示正常。 现在,我想执行按钮点击事件。我的代码如下。 User Control .ascx Page ....
我正在使用 Lawnchair使用我的网络客户端 (Firefox 13.0) 的“dom 适配器”存储持久数据并达到存储配额。 Console.log 说 Persistent storage ma
*这更多的是一个架构级别的问题。 我是 DNN 开发的新手,我们正在尝试构建一个电子商务网站,该网站将展示与我们当前订单数据库绑定(bind)的所有产品。 我假设我通过 DNN 进行的任何自定义开发都
我正在为一个客户开发一个 .net nuke 站点,他们想要上传大约 60mbs 的文件。我已经更改了 web.config 文件以允许最大 65mbs 的文件大小,只是为了回旋余地。 httpRun
我是一名优秀的程序员,十分优秀!