После недели борьбы я просто разбудил msdeploy обработчик на IIS7 (проклинающий документацию спины-задницы этого). Поэтому знайте, что у меня есть простая синхронизирующая "работа", но я хотел бы переместить такое количество из - синхронизирующие параметры в декларации вместо того, чтобы проложить ее под землей в моей задаче MSBUILD. Вот развернуть командная строка:
msdeploy.exe -verb:sync
-source:package="D:\Projects\Packaged.zip"
-dest:iisApp="beta.mysite.com",
wmsvc=ops.mysite.com,
username=deployUser,
password=secret,
skipAppCreation=true
-allowUntrusted=true
Я нашел много примеров деклараций, которые содержат путь iisApp, но они обычно перемещают другие биты в файл параметров для (я предполагаю), пользовательская запись. Есть ли что-либо простое как это:
<!-- Pseudo-code manifest -->
<msdeploy.iisApp>
<iisApp path="beta.mysite.com">
<param key="wmsvc" value="ops.mysite.com"/>
<param key="SkipAppCreation" value="true"/>
<param key="username" value="deployUser"/>
<param key="password" value="secret"/>
</iisApp>
</msdeploy.iisApp>
Не совсем тот же сценарий, но может дать некоторое представление.
Это то, что мы сделали, пытаясь обновить нашу базу данных с помощью msdeploy.
Сначала мы создали manifest.xml, в котором сообщаем провайдеру msdeploy dbFullSql, где искать наши sql-скрипты:
<sitemanifest>
<dbfullsql path="test1.sql"/>
<dbfullsql path="test2.sql"/>
<dbfullsql path="test3.sql"/>
</sitemanifest>
Затем вам нужен файл parameter.xml, в котором вы указываете строку подключения к базе данных:
<parameters>
<parameter
name="ConnectionString"
value="Data Source=localhost;uid=user;password=pass;multipleactiveresultsets=false;Initial Catalog=Db_name">
<parameterEntry type="ProviderPath" scope="dbFullSql"/>
</parameter>
готовы создать пакет с нашим манифестом:
msdeploy.exe -verb:sync -source:manifest="manifest.xml" -dest:package="package.zip"
И, наконец, развернуть его:
msdeploy.exe -verb:sync -source:package="package.zip" -dest:auto -setParamFile="parameter.xml"
Итак, вы можете увидеть, как вы можете сохранить свои параметры в отдельном файле. Магия!