Jenkins配置MSBuild实现自动部署(MSBuild+SVN/Subversion+FTP+BAT)

所要用到的主要插件:

MSBuild Plugin

具体操作:

1、配置MSBuild的版本

【系统管理】->【Global Tool Configuration】->【MSBuild】,点击【新增MSBuild】进行版本的添加,如下:

Jenkins配置MSBuild实现自动部署(MSBuild+SVN/Subversion+FTP+BAT)

注意:其中Path to MSBuild为文件夹路径,代码要编译的那台机器的文件夹,如果绑定的是slave时,这个路径就代表这slave的路径

最后,点击【Save】完成保存。

2、新建项目进行测试

这里假设在要进行构建的机器上已经新建好项目,并放在“D:\project\WebApplication1”。

创建Jenkins的测试Job。

在【构建】节点增加【增加构建步骤】,选择【Build a Visual Studio project or solution using MSBuild】,如下:

Jenkins配置MSBuild实现自动部署(MSBuild+SVN/Subversion+FTP+BAT)

注意:这里建议全部项目都编译csproj文件,不建议sln,sln不精确到底哪个项目有用。

输出的目录在命令行上输入。注意命令行不能换行,且最后一个分号不用写!

点击【保存】,然后测试一下效果:

Jenkins配置MSBuild实现自动部署(MSBuild+SVN/Subversion+FTP+BAT)

成功发布。

注意:如果是编译Web项目,架设我要发布到“D:\projectBuildOut\WebApplication1”目录下,那么最后编译的Web工程为"D:\projectBuildOut\WebApplication1\_PublishedWebsites\WebApplication1",中间多了_PublishedWebsites文件夹。

3、配置SVN自动签出代码

在Job的配置页面上选择【源代码管理】->【Subversion】,如下:

Jenkins配置MSBuild实现自动部署(MSBuild+SVN/Subversion+FTP+BAT)

其中【Credentials】为SVN的账号密码,如下添加:

Jenkins配置MSBuild实现自动部署(MSBuild+SVN/Subversion+FTP+BAT)

【Local module directory】为SVN签出的目录,注意:此目录不能输入绝对路径,只能是相对路径,比如jenkins所在本机的workpase为D:\jenkins,那么最后签出的代码就在这个目录下。

其余默认即可。

接下来是定时检测,这里直接使用每分钟检查是否有更新来进行SVN的Update:

Jenkins配置MSBuild实现自动部署(MSBuild+SVN/Subversion+FTP+BAT)

勾选【Poll SCM】输入【* * * * *】(注意是有空格隔开的)。如果要看这些用法,点击右侧问号即可。

最后保存测试。可以手动Build,也可以直接迁入代码之后自动Build。

4、把编译后的文件通过FTP上传

安装插件【Publish Over FTP

在【系统管理】->【系统设置】->【Publish over FTP】->点击【增加】按钮,增加一个要连接的FTP:

Jenkins配置MSBuild实现自动部署(MSBuild+SVN/Subversion+FTP+BAT)

配置基本保持默认,如果有特殊端口等设置的,可以点击【高级】进行配置。最后可以通过【Test Configuration】按钮进行测试。

在Job上【构建后操作】->【增加构建后操作步骤】->【Send build artifacts over FTP】:

Jenkins配置MSBuild实现自动部署(MSBuild+SVN/Subversion+FTP+BAT)

注意:【Source files】表示的不是绝对路径,而是jenkins的workpase的路径,相当于相对路径,如果要上传整个目录包括子目录的,最后加上【\**】;【Remove prefix】表示去除目录前缀,如果不去除,将会按照上面的目录依次创建。【Exclude files】为要排除的文件和文件夹,上面为参考。

5、BAT

Jenkins配置MSBuild实现自动部署(MSBuild+SVN/Subversion+FTP+BAT)

上一篇:掌握这些Python代码技巧,编程至少快一半!


下一篇:工作中常用的git命令