未使用 LibGit2Sharp 将存储库克隆到 docker 容器中
Repository not being cloned inside a docker container using LibGit2Sharp
我目前正在使用 .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},
});
}
...
我希望看到包含所有 sub-folders/files 的文件夹,就像在 Windows 中一样,但它始终是空的。此外,文件夹的时间戳会在它应该进行拉取时得到更新。
这是 Linux 发行版的信息:
Linux 828ec2e85f2c 4.9.184-linuxkit #1 SMP Tue Jul 2 22:58:16 UTC 2019 x86_64 GNU/Linux
我看到其他问题,他们指出在拉动时应该进行一些初始化设置,但至少应该进行克隆(根据我读过的内容)。
非常感谢任何帮助。
添加一些日志记录后,我发现这是错误消息:太多重定向或身份验证重播。所以我继续并应用了 for this question 所述的解决方案以使其工作。
我目前正在使用 .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},
});
}
...
我希望看到包含所有 sub-folders/files 的文件夹,就像在 Windows 中一样,但它始终是空的。此外,文件夹的时间戳会在它应该进行拉取时得到更新。
这是 Linux 发行版的信息:
Linux 828ec2e85f2c 4.9.184-linuxkit #1 SMP Tue Jul 2 22:58:16 UTC 2019 x86_64 GNU/Linux
我看到其他问题,他们指出在拉动时应该进行一些初始化设置,但至少应该进行克隆(根据我读过的内容)。
非常感谢任何帮助。
添加一些日志记录后,我发现这是错误消息:太多重定向或身份验证重播。所以我继续并应用了 for this question 所述的解决方案以使其工作。