У меня есть развертывание шеф-повара, которое работает следующим образом:
encryptedvalues = chef_vault_item(node.chef_environment, 'my_app_name')
do_windows_service "Installing Windows Service" do
action :install
#...
app_config_changes ({
"configuration/secureAppSettings/add[@key='XSWebserviceUser']/@value" => "#{encryptedvalues['XSWebserviceUser']}",
"configuration/secureAppSettings/add[@key='XSWebservicePassword']/@value" => "#{encryptedvalues['XSWebservicePassword']}"
})
end
Я определил, что значения верны, они вставлены в правильную позицию, и все в порядке, пока значение зашифрованного пароля не будет иметь "$" в нем. Я не могу изменить пароль и попытался его избежать, обернув его в интерполированную строку: "#{pass}"
, но, к сожалению, это не сработало. Любые идеи о том, как я могу добиться успешного развертывания?
Первоначально в конфигурации приложения это выглядит как
<secureAppSettings>
<add key="XSWebserviceUser" value="XXX" />
<add key="XSWebservicePassword" value="XXX" />
</secureAppSettings>
и после развертывания с паролем = "xyz # $% xyz"
<secureAppSettings>
<add key="XSWebserviceUser" value="User" />
<add key="XSWebservicePassword" value="xyz#" />
</secureAppSettings>
Обновление: проверка журналов Я вижу это на сервере
4. 2020-01-08T23:36:36.3315043Z STDERR: Cannot convert value "System.String" to type "System.Boolean". Boolean parameters accept only Boolean values and numbers, such as $True, $False, 1 or 0.
Похоже, что это может быть проблема с windows powershell?