我正在尝试设置Jenkins来构建和部署我的ASP.net MVC项目。
我的命令行参数
/p:Configuration=Staging
/p:DeployOnBuild=true
/p:PublishProfile=Staging
/p:ExcludeApp_Data=False
/p:AllowUntrustedCertificate=True
/p:LastUsedPlatform="Any CPU"
/p:MSDeployPublishMethod=WMSVC
/p:DeployIisAppPath=User Information Portal;
/p:MsDeployServiceUrl=x.x.x.x
/p:MSDeployEnableWebConfigEncryptRule=False
/p:username=x
/p:password=xx
当Jenkins运行项目时,它总是失败并出现错误
msdeploy错误ERROR_FAILED_TO_ENCRYPT_WEB_CONFIG:Web部署任务失败。 (无法加密目标web.config:C:\ Jenkins \ jobs \ xxxx \ workspace \ xx \ obj \ Staging \ Package \ PackageTmp \ Views \ Web.config。有关详情,请访问:http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_FAILED_TO_ENCRYPT_WEB_CONFIG。)
我可以从Visual Studio进行部署,但使用相同的参数Jenkins无法正常工作。
另一个问题我使用实体框架代码第一种方法。我是否需要在Jenkins中执行任何操作来运行迁移脚本。
如果我将MSDeployPublishMethod作为FileSystem进行部署,但迁移脚本没有运行。
由于
答案 0 :(得分:0)
后来我发现我的发布配置文件有/ p:MSDeployEnableWebConfigEncryptRule = True。
MS build忽略了命令行参数。