使用 Cake Build (C# Make) 将提交推送到 Azure Repo

问题描述

我正在尝试用蛋糕推动项目中的变化。这是我的代码

[TaskName("GitPush")]
public sealed class GitPushTask : FrostingTask<BuildContext>
{
    public override void Run(BuildContext context)
    {
        context.GitAddAll(context.WorkDirectoryPath);
        context.GitCommit(context.WorkDirectoryPath,"user surname","[email protected]","Testing Commit");
        context.GitPush(context.WorkDirectoryPath,context.GitUsername,context.GitPassword);
    }
}

GitAddAll 和 GitCommit 工作正常,但在 GitPush 中出现此错误:

An error occurred when executing task 'GitPush'.
Error: LibGit2Sharp.LibGit2SharpException: No error message has been provided by the native library
   at LibGit2Sharp.Core.Ensure.HandleError(Int32 result)
   at LibGit2Sharp.Core.Ensure.ZeroResult(Int32 result)
   at LibGit2Sharp.Core.Proxy.git_remote_push(RemoteHandle remote,IEnumerable`1 refSpecs,GitPushOptions opts)
   at LibGit2Sharp.Network.Push(Remote remote,IEnumerable`1 pushRefSpecs,PushOptions pushOptions)
   at LibGit2Sharp.Network.Push(Remote remote,String pushRefSpec,PushOptions pushOptions)
   at LibGit2Sharp.Network.Push(IEnumerable`1 branches,PushOptions pushOptions)
   at Cake.Git.GitAliases.<>c__DisplayClass32_0.<GitPush>b__0(Repository repository)
   at Cake.Git.Extensions.RepositoryExtensions.UseRepository(ICakeContext context,DirectoryPath repositoryPath,Action`1 repositoryAction)
   at Cake.Git.GitAliases.GitPush(ICakeContext context,DirectoryPath repositoryDirectoryPath,String username,String password)
   at GitPushTask.Run(BuildContext context) in C:\Users\jmedingr\Desktop\MonEES.CICD.Cake\cake\Program.cs:line 128
   at Cake.Frosting.FrostingTask`1.Cake.Frosting.IFrostingTask.RunAsync(ICakeContext context)
   at Cake.Core.CakeTask.Execute(ICakeContext context)
   at Cake.Core.DefaultExecutionStrategy.ExecuteAsync(CakeTask task,ICakeContext context)
   at Cake.Core.CakeEngine.ExecuteTaskAsync(ICakeContext context,IExecutionStrategy strategy,Stopwatch stopWatch,CakeTask task,CakeReport report)
   at Cake.Core.CakeEngine.ExecuteTaskAsync(ICakeContext context,CakeReport report)
   at Cake.Core.CakeEngine.RunTask(ICakeContext context,String target,CakeReport report)
   at Cake.Core.CakeEngine.RunTargetAsync(ICakeContext context,ExecutionSettings settings)
   at Cake.Cli.BuildScriptHost`1.RunTargetAsync(String target)
   at Cake.Core.Scripting.ScriptHost.RunTarget(String target)
   at Cake.Frosting.Internal.FrostingEngine`1.Run(String target)
   at Cake.Frosting.Internal.DefaultCommand.Execute(CommandContext context,DefaultCommandSettings settings)

我猜这个错误是因为我在 Azure Repo 上进行身份验证的方式存在问题,但我找不到方法或添加到工作中使用 azureRepo 查找...

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)