c# - 没有使用 LibGit2Sharp 将存储库克隆到 docker 容器中
问题描述
我目前正在使用 .net 标准 2.0 部署微服务,它可以克隆或更新来自 GitLab 的存储库。
为此,我有一个可以在 Windows 环境中完美运行的功能,但是在我启动它之后,它并不能在 docker 容器中发挥作用。
if (gitFolder.GetDirectories().Length == 0)
{
try
{
// Get user credentials
Repository.Clone("repository.git", deployerPath, new CloneOptions()
{
BranchName = "develop",
CredentialsProvider = CredentialsProvider(),
});
}
catch (Exception ex)
{
...
}
}
else
{
try
{
var repository = new Repository(deployerPath);
Commands.Pull(repository,
new Signature("blah", "blah@blah.com", DateTimeOffset.Now), new PullOptions()
{
FetchOptions = new FetchOptions() {CredentialsProvider = CredentialsProvider()},
MergeOptions = new MergeOptions() {FailOnConflict = true},
});
}
...
我希望看到包含所有子文件夹/文件的文件夹,就像在 Windows 中一样,但它始终是空的。此外,文件夹的时间戳会在它应该进行拉取时更新。
这是 Linux 发行版的信息:
Linux 828ec2e85f2c 4.9.184-linuxkit #1 SMP 2019 年 7 月 2 日星期二 22:58:16 UTC x86_64 GNU/Linux
我看到其他问题,他们指出在拉动时应该进行一些初始化设置,但至少应该发生克隆(根据我所读到的内容)。
任何帮助是极大的赞赏。
解决方案
添加一些日志记录后,我发现这是错误消息:too many redirects or authentication replays。因此,我继续应用针对该问题所述的解决方案以使其发挥作用。
推荐阅读
- javascript - 尝试按日期属性对来自 API 的 json 数据进行排序时出现“未捕获 (inPromise) TypeError: ... sort is not a function”
- typescript - 构建 Ionic 生产后,Electron 给出:找不到模块“。”
- reactjs - 主页组件不填充数据
- android - 打算选择文件夹或文件
- javascript - 除非我检查元素,否则 C# Selenium 无法访问 iframe 中的元素
- java - 在没有管理员权限的情况下更改 Windows 10 中的 Java_Home 路径
- python - 使用应用功能在 Dask 中添加两列
- java - Spring @Valid 注解不起作用
- pandas - 如何将 1 和 0 的行转换为新的 int 列
- wordpress - 我如何将 URL 的特定部分重写为查询参数而不影响 URL 的其余部分