Репозиторий не клонируется внутри контейнера докера с использованием LibGit2Sharp - PullRequest
0 голосов
/ 07 ноября 2019

В настоящее время я развертываю микро-сервис с использованием стандарта .net 2.0, который либо клонирует, либо обновляет репозиторий из GitLab.

Для этого у меня есть функциональность, которая отлично работает в среде Windows, но это делаетне делайте трюк внутри контейнера докера после того, как я его раскручиваю.

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 Tue Jul2 22:58:16 UTC 2019 x86_64 GNU / Linux

Я вижу другие проблемы, в которых они утверждают, что некоторые настройки init должны выполняться при извлечении, но, по крайней мере, должен происходить клон (согласнок тому, что я прочитал).

Любая помощь очень ценится.

1 Ответ

0 голосов
/ 13 ноября 2019

После добавления журнала я обнаружил, что это сообщение об ошибке: слишком много перенаправлений или повторов аутентификации . Поэтому я пошел дальше и применил решение, указанное для этого вопроса , чтобы оно заработало.

...