我在teamcity中使用Msdeploy将asp.net应用程序部署到Azure云。我喜欢使用setparameters.xml,以便我可以为不同的站点部署不同的配置条目。
当我尝试执行以下命令和参数时,它没有抛出任何错误消息但没有获得所需的结果(未在web.config中修改的配置条目)
"C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe"
-verb:sync -source:contentPath="%teamcity.build.checkoutDir%\MySite"
-dest:contentPath='%azureSite%',ComputerName="https://%azurePublishUrl%/msdeploy.axd?site=%azureSite%",UserName='%azureUsername%',Password='%azurePassword%',AuthType='Basic'
-setParamFile:"%teamcity.build.checkoutDir%\MySite.SetParameters.xml"
我尝试修改上面的参数语句,如下所示
-source:package='%teamcity.build.checkoutDir%\MySite.zip' -dest:auto,computerName="https://%azurePublishUrl%/msdeploy.axd?site=%azureSite%",userName="%azureUsername%",password="%azurePassword%",authtype="Basic",includeAcls="False" -verb:sync -disableLink:AppPoolExtension -disableLink:ContentExtension -disableLink:CertificateExtension -setParamFile:"%teamcity.build.checkoutDir%\MySite.SetParameters.xml"
并收到以下错误消息。
在目录中:C:\ TeamCity \ buildAgent \ work \ 24caecb58f06574f [18:30:53] [步骤2/2]信息:使用ID' d7980b43-c13e-4b7a-95c1-1da8c5acdc6b'用于连接远程服务器。 [18:30:55] [步骤2/2]信息:添加sitemanifest(sitemanifest)。 [18:30:55] [步骤2/2]信息:创建应用程序(https://MySite-dev.azurewebsites.net/) [18:30:55] [步骤2/2]错误代码:ERROR_USER_NOT_AUTHORIZED_FOR_CREATEAPP [18:30:55] [步骤2/2]更多信息:使用Web管理服务进行连接时,无法使用指定的提供程序(" createApp")完成操作。如果服务器管理员未授权用户执行此操作,则可能会发生这种情况。 createApp http://go.microsoft.com/fwlink/?LinkId=178034了解更多信息,请访问:http://go.microsoft.com/fwlink/?LinkId = 221672 #ERROR_USER_NOT_AUTHORIZED_FOR_CREATEAPP。
这是一个有效的错误吗?这两个参数之间有什么区别我如何将复制到web.config中的setParameter.xml值应用于不同的站点?
我从azure portal中的Azure发布详细信息选项中获取了站点详细信息(用户名,密码,站点URL)。
答案 0 :(得分:1)
每the documentation个public class Products
{
public byte Favorite { get; set; }
{
get
{
return this.Favorite;
}
set
{
if ((this.Favorite != value))
{
this.OnFavoriteChanging(value);
this.SendPropertyChanged("Favorite");
}
}
}
partial void OnFavoriteChanging(byte value);
protected virtual void SendPropertyChanged(String propertyName)
{
if ((this.PropertyChanged != null))
{
this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
}
和package
个提供商仅支持参数化。
我相信您为第二个MSDeploy调用提供的错误表明您用于部署的信用无权在目标服务器上创建IIS Web应用程序。您应该手动测试创建站点,然后再次部署以查看它是否有效。