Я работаю над тем, чтобы Jenkins создавал наши устаревшие приложения .NET 2.1 в рамках оптимизации наших развертываний в kubernetes
Поэтому я создал пользовательский агент Jenkins на основе jenkins / jnlp-slave: latest-jdk11 dockerизображение (https://github.com/jenkinsci/docker-jnlp-slave), которое, в свою очередь, основано на Debian 9, дополнено официальным ядром .NET (распаковал ZIP с https://dotnet.microsoft.com/download/dotnet-core/2.1, обновления Debian не работают с нашим брандмауэром), и для тривиальных проектовэто сработало хорошо.
Теперь я пытаюсь с настоящим унаследованным приложением, которое красиво собирается при запуске команд из командной строки, но когда Jenkins пытается запустить dotnet restore -v n
, сборка сразу завершается с ошибкой:
+ dotnet restore -v n
11:11:29 FailFast:
11:11:29 Couldn't find a valid ICU package installed on the system. Set the configuration flag System.Globalization.Invariant to true if you want to run with no globalization support.
11:11:29
11:11:29 at System.Environment.FailFast(System.String)
11:11:29 at System.Globalization.GlobalizationMode.GetGlobalizationInvariantMode()
11:11:29 at System.Globalization.GlobalizationMode..cctor()
11:11:29 at System.Globalization.CultureData.CreateCultureWithInvariantData()
11:11:29 at System.Globalization.CultureData.get_Invariant()
11:11:29 at System.Globalization.CultureInfo..cctor()
11:11:29 at System.StringComparer..cctor()
11:11:29 at System.AppDomain.InitializeCompatibilityFlags()
11:11:29 at System.AppDomain.Setup(System.Object)
11:11:29 Aborted (core dumped)
Не имея большого опыта работы с .NET, я, вероятно, где-то пропустил шаг при настройке среды. Приложение должно работать в локали "da-DK".
Я понимаю, что некоторыечасть отсутствует. Как это исправить? Меня интересуют как быстрые решения для конкретных проектов, так и долгосрочные агентскиеc решения.