在我需要在各种环境中应用实体框架迁移的自动部署方案中,我想在具有声明和值参数xml文件的非Web项目上应用msdeploy样式参数化。
对我们来说更容易,因为我们已经为其他Web项目维护了声明/值xml文件,这样我们就可以将所有参数化细化到同一个地方,并且能够重用我们现有的逻辑来应用各个项目的参数化。
我的第一个问题就是将现有的迁移项目复制到'work'文件夹,msdeploy将应用参数化。所以我选择了dirpath
提供程序,并指定了声明和值xml文件:
msdeploy
-verb:sync
-source:dirPath="c:\Sources\Project.Migrations"
-dest:dirPath="c:\work\Project.Migration"
-setParamFile:"c:\Deployment\SomeEnv\Project.Migrations.SetParameters.xml"
-declareParamFile:"c:\Sources\Project.Migrations\Parameters.xml"
然而,它失败并出现以下错误:
EXEC : error : The 'MSDeploy.dirPath' object does not support declared parameters.
following link显示了使用Parameters.xml和dirPath提供程序的例子 但是值和声明都混合在同一个文件中,我想避免。
有没有办法让声明和值文件分开?
答案 0 :(得分:3)
刚刚找到了解决方法:
我首先从-declareParamFile
部署到-setParamFile
,我可以使用archiveDir
和dirPath
。
然后我从archiveDir
部署到AUTHENTICATION_BACKENDS = (
'django.contrib.auth.backends.ModelBackend',
'django_python3_ldap.auth.LDAPBackend',
)
并删除C:\mongodb\bin\mongod.exe --auth
。