Jenkins发布.Net项目到IIS

接上篇.net framework+git在Jenkins上的自动化部署入门

上面我们说到了发布好了项目文件,那么接下去我们需要把项目代码部署到iis项目下。

这里我们以Jenkins和项目服务器部署在同一台为例。

在Jenkins,进入项目配置.

点击增加构建步骤

Jenkins发布.Net项目到IIS

选择脚本命令操作

Jenkins发布.Net项目到IIS

这里我们把编译好的项目文件复制到指定的目录下,

C:\HelloWord\Test 是编译好的项目文件夹

C:\HelloWord2  是iis项目下的目录

这里我们使用xcopy 进行复制操作

xcopy C:\HelloWord\Test C:\HelloWord2 /e /s /y /EXCLUDE:C:\11\1.txt

参数含义

/S 复制目录和子目录,除了空的。

/E 复制目录和子目录,包括空的。与 /S /E 相同。可以用来修改 /T。

/Y 不使用确认是否要覆盖现有目标文件的提示。

那么在实际的项目当中,我们一般是需要排除指定的文件,比如 web.cnfig ,因为开发和测试环境一般的一些链接信息是不同的,所以我们是不能把配置信息覆盖掉的。如果是人工发布,一般我们肯定是把这排除掉。

这里我们在指定文件进行配置

EXCLUDE:C:\11\1.txt
--注释:从C:\HelloWord\Test拷贝到C:\HelloWord2目录(注C:\HelloWord2则不会提示是目录还是文件)排除C:\11\1.txt中的
xcopy C:\HelloWord\Test C:\HelloWord2 /e /s /y /EXCLUDE:C:\11\1.txt
 
 
--注释:不包含以.obj 、 .sdf 、 .pdb 、 .rar 、.config 、结尾的文件,也不包含Common.js文件
--C:\11\1.txt
.obj  
.sdf  
.pdb
.rar
.config
Common.js
Jenkins发布.Net项目到IIS

我们再看下构建的控制台输出,会发现文件被排除了

Jenkins发布.Net项目到IIS

当然,如果是Jenkins和iis服务器不在同一台,那么我们可以网络复制,或者使用ftp上传文件。