В настоящее время я развертываю микросервис с использованием стандарта .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", "[email protected]", DateTimeOffset.Now), new PullOptions()
{
FetchOptions = new FetchOptions() {CredentialsProvider = CredentialsProvider()},
MergeOptions = new MergeOptions() {FailOnConflict = true},
});
}
...
Я ожидал увидеть папку, содержащую все подпапки/файлы, как в Windows, но она всегда пуста. Кроме того, временная метка папки обновляется, когда она должна выполнять извлечение.
Это информация о дистрибутиве Linux:
Linux 828ec2e85f2c 4.9.184-linuxkit #1 SMP Вт, 2 июля, 22:58:16 UTC 2019 x86_64 GNU/Linux
Я вижу другие проблемы, в которых они заявляют, что при извлечении должна выполняться некоторая настройка инициализации, но, по крайней мере, должно произойти клонирование (согласно тому, что я читал).
Любая помощь приветствуется.