Jenkins搭建.NET自动编译发布远程环境

Stella981
• 阅读 595

继上一篇文章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 点击右下角 “添加角色服务”,弹出选择“选择角色服务”对话框

 Jenkins搭建.NET自动编译发布远程环境

1.3 选中“管理服务” 点击“下一步”----->点击“安装”。安装完成后,重新打开“服务器管理器”在”Internet 信息服务(IIS)管理器“主界面能看到”管理服务“的图标。

1.4 打开”管理服务“ 主界面,启动远程连接,并设置连接IP地址(服务器IP地址)和端口。然后启动”服务管理“。

 Jenkins搭建.NET自动编译发布远程环境

1.5 在防火墙的“入站规则”中添加(若已存在设置为启用)服务管理的端口号。

 Jenkins搭建.NET自动编译发布远程环境

安装和配置Web Deploy

Web Deploy 下载地址

2.1下载完成后打开安装包,在选择安装类型界面选择”完全安装“。

2.2 安装完成后重新打开”服务器管理器”在”Internet 信息服务(IIS)管理器“主界面右键单击任意一个网站名称,弹出菜单选择“部署”弹出二级菜单。

若IIS安装Web Deploy之后站点右键没有部署菜单。则重新安装Web Deploy,去控制面板里面的“程序和功能”里面,找到Web Deploy,右键点击后选择“卸载”。

 Jenkins搭建.NET自动编译发布远程环境

卸载完毕之后,再运行下载好的安装包。安装完毕后最好重启一下,之后便可以在IIS的网站右键菜单中,找到新增的“部署”菜单项。

站点连接测试:

Jenkins搭建.NET自动编译发布远程环境     Jenkins搭建.NET自动编译发布远程环境

2.3 在上一步弹出的二级菜单中点击“启用 web deploy 发布” ,弹出“启用 web deploy 发布” 对话框,选择一个系统管理员用户授权(非管理员账户发布可能会有权限问题),设置“指定发布服务器连接的url” 中的IP和端口号

此处我们选择 windows系统用户(上文有提到),url里面用ip:port。

2.4 点击“启用 web deploy 发布” 对话框中的 设置 按钮。当结果中显示下图中的文字则设置成功。到此服务器的配置全部搞定,接下来就是去VS2017 中发布了!

 Jenkins搭建.NET自动编译发布远程环境

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搭建.NET自动编译发布远程环境

常见的构建问题报错,参考:Jenkins构建常见问题

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Stella981 Stella981
3年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
10个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这