继上一篇文章Jenkins搭建.NET自动编译发布本地环境 发布到本地成功后,接下来配置发布到远程环境。
Build配置——发布到远程
根据前面VS中发布项目,生成的CustomProfile2 来配置
1、MSBuild Build File:配置为.\angularDemo\angularDemo.csproj
或者C:\Program Files (x86)\Jenkins\workspace\FirstSite\angularDemo.sln都可以。
2、Build的命令行参数:
配置参数之前需要 在部署站点的服务器上做以下配置。
IIS远程发布配置
参考:Visual Studio使用Web Deploy远程发布网站及其配置 【用户类型不选IIS管理器,直接在Windows里面选用户,下面的站点的IIS管理器权限里面的用户也选windows用户的】
1、在服务器管理器中安装“管理服务”(若已存在则无须再安装)
1.1 服务器管理----->角色----->web 服务器IIS
1.2 点击右下角 “添加角色服务”,弹出选择“选择角色服务”对话框
1.3 选中“管理服务” 点击“下一步”----->点击“安装”。安装完成后,重新打开“服务器管理器”在”Internet 信息服务(IIS)管理器“主界面能看到”管理服务“的图标。
1.4 打开”管理服务“ 主界面,启动远程连接,并设置连接IP地址(服务器IP地址)和端口。然后启动”服务管理“。
1.5 在防火墙的“入站规则”中添加(若已存在设置为启用)服务管理的端口号。
安装和配置Web Deploy
Web Deploy 下载地址
2.1下载完成后打开安装包,在选择安装类型界面选择”完全安装“。
2.2 安装完成后重新打开”服务器管理器”在”Internet 信息服务(IIS)管理器“主界面右键单击任意一个网站名称,弹出菜单选择“部署”弹出二级菜单。
若IIS安装Web Deploy之后站点右键没有部署菜单。则重新安装Web Deploy,去控制面板里面的“程序和功能”里面,找到Web Deploy,右键点击后选择“卸载”。
卸载完毕之后,再运行下载好的安装包。安装完毕后最好重启一下,之后便可以在IIS的网站右键菜单中,找到新增的“部署”菜单项。
站点连接测试:
2.3 在上一步弹出的二级菜单中点击“启用 web deploy 发布” ,弹出“启用 web deploy 发布” 对话框,选择一个系统管理员用户授权(非管理员账户发布可能会有权限问题),设置“指定发布服务器连接的url” 中的IP和端口号
此处我们选择 windows系统用户(上文有提到),url里面用ip:port。
2.4 点击“启用 web deploy 发布” 对话框中的 设置 按钮。当结果中显示下图中的文字则设置成功。到此服务器的配置全部搞定,接下来就是去VS2017 中发布了!
2.5 VS站点发布,方式 web deploy
上文已经介绍过了。
Jenkins配置
1、使用发布配置文件来发布:
/t:rebuild
/p:DeployOnBuild=true;Configuration=Release;VisualStudioVersion=15.0;PublishProfile=CustomProfile2;AllowUntrustedCertificate=True;password=xxxxx
构建之后,站点会发布到CustomProfile2中设置的DeployIisAppPath站点下。
注:相比本地发布,多了后面两个属性,不然会报错(后文有解决方法)
2、当然也可以不使用发布配置文件,直接使用MSBuild命令,来进行编辑和发布MSBuild Build File:
.\angularDemo\angularDemo.csproj
Build的命令行参数:
/t:rebuild
/p:DeployOnBuild=true;ExcludeGeneratedDebugSymbol=false;ExcludeXmlAssemblyFiles=false;SkipExtraFilesOnServer=True;WarningLevel=4;NoWarn=1591;DeployTarget=MSDeployPublish;MSDeployPublishMethod=WMSVC;AllowUntrustedCertificate=True;MsDeployServiceUrl=https://xxx.yyy.zzz.151:8172/msdeploy.axd;username=WDeployAdmin;password=xxxxxxx;DeployIisAppPath=Test/FirstSite;Configuration=Release;VisualStudioVersion=15.0
发布成功,jenkins项目工作台界面输出:
常见的构建问题报错,参考:Jenkins构建常见问题