所要用到的主要插件:

MSBuild Plugin

具体操作:

1、配置MSBuild的版本

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

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

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

2、新建项目进行测试

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

创建Jenkins的测试Job。

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

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

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

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

成功发布。

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

3、配置SVN自动签出代码

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

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

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

其余默认即可。

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

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

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

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

安装插件【Publish Over FTP

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

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

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

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

5、BAT

Jenkins配置MSBuild实现自动部署(MSBuild+SVN/Subversion+FTP+BAT)的更多相关文章

  1. 5分钟快速掌握Jenkins,项目一键自动部署

    5分钟快速掌握Jenkins,项目一键自动部署 目录 前言 Jenkins是什么? Jenkins环境安装搭建 Jenkins基本使用介绍 Jenkins快速构建项目,项目自动化部署 学习总结 前言 ...

  2. 使用jenkins进行前端项目自动部署

    前面的话 后端的nodeJS项目可以使用pm2进行自动部署,由于前端项目打包后是静态资源,不需要进程守护.一般地,前端项目使用jenkins来进行自动部署,包括打包.测试等一系列流程.本文将详细介绍j ...

  3. gitblit git SERVER window 安装配置 hook post-receive 自动部署

    项目中使用的是gitblit windos版 1.安装 需要JAVA SDK http://gitblit.com/Download Gitblit GO (Windows) 下载后,解压缩,放到例如 ...

  4. 【前端】CentOS 7 系列教程之四: 配置 git 服务器自动部署

    转载请注明出处:http://www.cnblogs.com/shamoyuu/p/linux_4.html 安装pm2守护进程,备用 npm install -g pm2 创建/srv/www文件夹 ...

  5. Window Server 2019 配置篇(4)- 配置WDS实现自动部署服务

    上次我们建立了hyper-v集群,那么我们这次需要对集群内的客户机和外部的服务器进行自动部署,这时候需要WDS服务 WDS服务是一种自动部署服务,能够对无OS的计算机进行操作系统的部署 首先建立虚拟机 ...

  6. hexo自动部署到git、ftp(虚拟主机等)、云服务器的方式

    自动部署很有用,当你写完文章后,直接使用hexo d就可以自动更新你的网站了 部署到git 首先你需要在你的blog下安装git deployer插件:npm install hexo-deploye ...

  7. Jenkins配置MSBuild实现自动部署2(项目实践)

    继上一篇文章http://www.cnblogs.com/EasonJim/p/6077225.html,大致实现的思路,今天来记录一个真实项目实践. 一.新建项目 选择[构建一个自由风格的软件项目] ...

  8. Jenkins~通过WebDeploy实现自动部署

    Jenkins以之前的文章中已经有所介绍,主要集成了自动化部署的功能,而对于自动化部署来说是由多个组件组成的,每个组件负责自己的事,如今天说的webDeploy,它主要实现将网站文件动态发布到另一台I ...

  9. Jenkins实现PHP的自动部署

    1.汉化jenkins 1).安装汉化包 系统管理 -> 插件管理 -> 安装插件 ->选择插件(Locale plugin) 2).设置语言为中文 系统管理 -> 系统设置 ...

随机推荐

  1. 恋爱虽易,相处不易:当EntityFramework爱上AutoMapper

    剧情开始 为何相爱? 相处的问题? 女人的伟大? 剧情收尾? 有时候相识即是一种缘分,相爱也不需要太多的理由,一个眼神足矣,当EntityFramework遇上AutoMapper,就是如此,恋爱虽易 ...

  2. C# 利用性能计数器监控网络状态

    本例是利用C#中的性能计数器(PerformanceCounter)监控网络的状态.并能够直观的展现出来 涉及到的知识点: PerformanceCounter,表示 Windows NT 性能计数器 ...

  3. 做一个gulp+webpack+vue的单页应用开发架子

    1.目标 最近项目上的事情不多,根据我自己的开发习惯,决定开发一些简单的开发架子,方便以后事情多的时候直接套用.本文讲的一个gulp+webpack+vue的单页应用架子,想要达到的目的: 可以通过命 ...

  4. Node.js:dgram模块实现UDP通信

    1.什么是UDP? 这里简单介绍下,UDP,即用户数据报协议,一种面向无连接的传输层协议,提供不可靠的消息传送服务.UDP协议使用端口号为不同的应用保留其各自的数据传输通道,这一点非常重要.与TCP相 ...

  5. 整理下.net分布式系统架构的思路

    最近看到有部分招聘信息,要求应聘者说一下分布式系统架构的思路.今天早晨正好有些时间,我也把我们实际在.net方面网站架构的演化路线整理一下,只是我自己的一些想法,欢迎大家批评指正. 首先说明的是.ne ...

  6. vue.js几行实现的简单的todo list

    序:目前前端框架如:vue.react.angular,构建工具fis3.gulp.webpack等等...... 可谓是五花八门,层出不穷,眼花缭乱...其实吧只要你想玩还是可以玩玩的..下面是看了 ...

  7. Android 调用百度地图API

    一.到 百度地图开发平台下载SDK http://lbsyun.baidu.com/index.php?title=androidsdk/sdkandev-download 1.点击自定义下载 2.下 ...

  8. HashMap的工作原理

    HashMap的工作原理   HashMap的工作原理是近年来常见的Java面试题.几乎每个Java程序员都知道HashMap,都知道哪里要用HashMap,知道HashTable和HashMap之间 ...

  9. 修改MySQL默认字符集编码

    好记心不如烂笔头,很多东西当时没记下来,过了就忘了,下次用到时又得浪费好多时间才能解决.今天又遇到修改MySQL默认字符集编码的问题,折腾了半天解决了,赶快记录下来,以后就不用每次折腾了. 查看MyS ...

  10. Maven实战:Maven生命周期

    前言 之前有写过一篇文章Maven实战,介绍了Maven的一些基本概念,以及对于一个初学者而言的Maven基础知识,当时在我看来掌握了这些基本是够用的. 随着工作的深入,越来越感觉对于Maven的理解 ...