自动化部署-Jenkins+SVN+MSBuild
这篇文章主要介绍下使用Jenkins实现自动化部署
- 下载
- 安装
按步骤安装即可,下载的是windows版本,安装完成后,会看到这样一个正在运行的服务

- 初次使用
默认端口8080,建议修改
通过安装目录下的jenkins.xml文件修改
端口修改后重启服务
通过浏览器第一次访问会看到这样一个页面(我这边不是第一次使用了,页面找不到,从网上找了个图片)
按照页面上提示的路径找到文件,得到密码输入即可
接着进入插件下载页面,可以直接选择建议插件
插件安装完成后进入以下页面,创建一个管理员帐号
我在创建完成后遇到了空白页的情况,重启下服务重新打开即可解决
- 插件安装
jenkins建议插件中包含了svn,初始化时如果选择了建议插件,就不需要再额外去安装了
如下图,选择系统管理-》插件管理-》可选插件
Localization: Chinese (Simplified) 刚安装完时,页面一半中文,一半英文,安装此插件可解决
MSBuild Plugin 编译c#代码必需


- 配置msbuild
如果服务器上已安装vs,则不需要额外安装msbuild
否则,去vs官网下载安装
https://docs.microsoft.com/zh-cn/visualstudio/msbuild/msbuild?view=vs-2017
这里选择哪个版本看你开发时ide使用的是什么版本,安装对应的即可(版本不要安装错误,c#6.0 7.0 的语法低版本msbuild识别不了)
注意勾选
msbuild没有问题后,打开 系统管理-》全局工具配置
找到MSBuild
新增MSBuild,名称无所谓,第二栏填入MSBuild的地址,保存即可
- 新建任务
新建任务-》构建一个自由风格的软件项目
源码管理,选择svn填入参数
构建,选择第一个,使用msbuild构建
选择msbuild配置,填入需要构建的解决方案或者项目文件,参数我们等会再看,先这样保存运行测试下,这里路径需要注意下头部不要带/
回到主面板,点击刚刚创建的任务,立即构建
这里会出现构建任务
点击后选择控制台输出,可以看到构建过程
正常情况下,这里会看到构建成功
但是如果你的项目使用了nuget,则需要先还原nuget包,再去构建,下载nuget
https://www.nuget.org/downloads
- 关于触发器
一般使用轮询SCM,定时获取代码,当获取到的代码发生变化时,进行构建发布,可以点击问号查看语法说明
- 总结
能减少一些重复的工作,开发人员不需要每次将代码获取到本地编译后发布,也可以保证代码的最新,不会因为开发人员的疏忽,未获取最新代码
自动化部署-Jenkins+SVN+MSBuild的更多相关文章
- 自动化部署-Jenkins+SVN+MSBuild 一些补充
1.ftp的使用 系统管理->插件管理 安装插件Publish Over FTP 系统管理->系统设置 配置ftp参数 如下图 进入任务配置,添加构建后操作 在使用过程中还遇到一个本地防火 ...
- 项目测试环境自动化部署[jenkins前后端配置、Nginx配置]
持续部署:关注点在于项目功能部署到服务器后可以正常运行,为下一步测试环节或最终用户正式使用做准备.(问题点:一个环节有问题,其他环节跟着有问题) 持续集成:关注点是在于尽早发现项目整体运行问题,尽早解 ...
- 自动化部署--Jenkins
自动化部署--Jenkins--简介安装(一) https://www.jianshu.com/p/b9ce206139f1 自动化部署--Jenkins--Maven构建(二) https://w ...
- Linux 部署jenkins + svn + mavne + tomcat8自动化部署
1,下载Jenkins war包 官网下载地址 https://jenkins.io/ 2.初始化安装 1)首次启动jenkins,出于安全考虑,jenkins会生成一个随机的口令到 /root ...
- jar包自动化部署---jenkins
B.Application Server SVN账号:svn://192.168.1.49/svn/keenyoda-trunk/xxxxxcht=xxxxx 安装jenkins:安装目录:/usr/ ...
- jmeter接口自动化部署jenkins教程
首先,保证本地安装并部署了jenkins,jmeter,xslproc 我搭建的自动化测试框架是jmeter+jenkins+xslproc ---注意:原理是,jmeter自生成的报告jtl文件,通 ...
- 自动化部署 jenkins 插件简介
一.什么是持续集成? (1)Continuous integration(CI) 持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员至少集成一次,也就意味着每天可能会发生多次集 ...
- vue 自动化部署 jenkins 篇
前端项目打包部署,以前都是手工运行打包命令,打包结束后压缩,然后上传到服务器上解压部署.这种重复性的工作,确实有点让人烦,而且效率也不高. 本文基于 vue 的前端项目. GitHub 的代码仓库,简 ...
- 自动化部署-Jenkins备份回滚
1.备份 备份可以使用批处理命令解决,实际就是复制当前发布文件 ::备份文件夹名,使用当前时间 set foldername=%date:~0,4%%date:~5,2%%date:~8,2%%tim ...
随机推荐
- [cb]NGUI事件及复杂UI管理
事件管理 看了有些文章关于NGUI的事件管理,许多人的做法的是封装一个事件处理层,避免在每个UI控件上都绑定事件处理脚本.本文说说我们项目中的UI事件管理吧. UIEventListener 我们项目 ...
- django中url 和 path 的区别
django中 url 和 path 都是配置路径,有什么不同? django.urls path django.conf.urls url path 与 url 是两个不同的模块,效果都是响应返回 ...
- 浏览器加载和渲染html的顺序-css渲染效率的探究(转载)
1.浏览器加载和渲染html的顺序1.IE下载的顺序是从上到下,渲染的顺序也是从上到下,下载和渲染是同时进行的.2.在渲染到页面的某一部分时,其上面的所有部分都已经下载完成(并不是说所有相关联的元素都 ...
- October 29th, 2017 Week 44th Sunday
There was another life that I might have had, but I am having this one. 我明明可以过另一种生活,但我却选择了这一种. Be re ...
- 6.基本数据结构-双端队列(Deque)
一.双端队列(Deque) - 概念:deque(也称为双端队列)是与队列类似的项的有序集合.它有两个端部,首部和尾部,并且项在集合中保持不变. - 特性:deque 特殊之处在于添加和删除项是非限制 ...
- 【openjudge】【搜索(bfs)】P4980拯救行动
[描述:] 公主被恶人抓走,被关押在牢房的某个地方.牢房用N*M (N, M <= 200)的矩阵来表示.矩阵中的每项可以代表道路(@).墙壁(#).和守卫(x). 英勇的骑士(r)决定孤身一人 ...
- Android 使用正则表达式验证邮箱格式是否正确
/** * 验证邮箱格式是否正确 */ public boolean emailValidation(String email) { String regex = "\\w+([-+.]\\ ...
- RadioButtonFor控件
mvc视图中的RadioButtonFor控件使用: 有几个单选子项就写几个RadioButtonFor,格式参照如下: @Html.RadioButtonFor(p => p.ScriptMo ...
- uC/OS-III 时钟节拍,时间管理,时间片调度
uC/OS-III 时钟节拍,时间管理,时间片调度 时钟节拍 时钟节拍可谓是 uC/OS 操作系统的心脏,它若不跳动,整个系统都将会瘫痪. 时钟节拍就是操作系统的时基,操作系统要实现时间上的管理, ...
- Codeforces round 1100
Div 2 532 我对交互一无所知 只能寄期望与NOI和省选不出交互吧... E 这个题,真的是耻辱... 其实非常简单,就是二分+判环... 那么就直接二分答案+拓扑排序即可... (我居然在考试 ...