GitlabCI не использует переменную - PullRequest
0 голосов
/ 19 мая 2019

Я храню свою строку подключения в секретах приложения, и она работает, если я выполняю развертывание со своего компьютера.Теперь я хотел бы сохранить это значение как переменную GitlabCI и использовать его во время развертывания.Чтобы добиться этого, я сделал следующие шаги:

Создал переменную CONNECTION_STRING в GitlabCI enter image description here

Изменен .gitlab-ci.yml для использования этой переменной

before_script:
  - 'dotnet user-secrets set "ConnectionString" %CONNECTION_STRING%'
build:
 stage: build
 script:
  - 'dotnet build -c Release /p:DeployOnBuild=true /p:PublishProfile=Properties/PublishProfiles/MyPublishProfile.pubxml'

Модифицированный Startup.cs класс для использования этого секрета

 private IConfiguration SecretConfiguration { get; }

 public Startup(IConfiguration configuration) {
     SecretConfiguration = configuration;
 }

 public void ConfigureServices(IServiceCollection services)
 {
     services.AddCors();
     services.AddDbContext<StudentRepository>(options =>
          options.UseMySQL(SecretConfiguration["ConnectionString"]));        
     services.AddMvc();        
 }

Развертывание прошло успешно, но соединение не установлено должным образом.Когда я нажимаю конечную точку, которая ищет что-то в базе данных, я получаю

System.ArgumentNullException: значение не может быть нулевым.Имя параметра: connectionString в Microsoft.EntityFrameworkCore.Utilities.Check.NotEmpty (строковое значение, строковое имя_параметра)

...