В настоящее время я развертываю микро-сервис с использованием стандарта .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 должны выполняться при извлечении, но, по крайней мере, должен происходить клон (согласнок тому, что я прочитал).
Любая помощь очень ценится.