Jenkins发布MVC应用程序
一个大的项目一般都会进行模块化、层次化分隔,每个模块、每个层次都可能是一个或多个工程文件组成,而且各个模块都有依赖关系,有先后顺序,先build哪个然后再build哪个都是有顺序的,如果想build一个项目来发布那可能要打开多个工程文件一个一个的build,每次发布新的都要重复前面的操作,而且还会在发布的时候由于版本问题出现错误。比如A迁入代码build一个versionA,B迁入代码build一个VersionB,加入VersionB的是最新的代码,但人工部署时如果不注意可能会部署成VersionA的代码,导致B的代码并没被包含。这样交给测试的话一旦测出问题,就还要重新build,这是很麻烦的事情。那有没有解决它的方法呢?答案当然是有了,Jenkins就是用来做持续集成的。
Jenkins是一开源的持续集成工具,可以集成多种语言C#,Java,python等都可以,也可以定制开发,想把它玩精通了不容易,有的公司甚至直接设立一个项目组来负责持续集成工作。使用Jenkins可以解决上面的问题。Jenkins有插件来进行版本控制,根据版本更新来自动进行build,前期一旦定义好以后发布部署的话就会非常方便,可以一键部署或者自动化部署。不过这些高大上的东西也不是一时半会都能上手的,每一个知识点如果想深入了解的话可能都需要很多的时间。这里我先抛个砖,演示一个简单的,使用Jenkins进行应用程序的发布。
一、安装插件
使用Jenkins发布.Net程序时需要安装MSBuild Plugin插件。
在Jenkins系统管理——>插件管理中查找MSBuild,然后安装。下图是已经安装好了MSBuild Plugin.
二、创建Jenkins Job
点击新建,创建Project,选择构建一个自由风格的软件项目,这里我创建的是CYWJenkins project。
三、配置
1.MSBuild 配置
系统管理——>Global Tool Configuration,选择新增MSBuild.
2.Jenkins Job的配置
上面创建了CYWJenkins,点击OK之后就会进入配置页面,在配置页面主要有下面的几个大类的配置。
Jenkins通过版本控制来进行构建,而且可以设置在什么情况下构建,即构建触发器,如何构建,以及构建后的操作,构建的上下游设置。这里的例子非常简单就是在本地通过MSBuild来发布MVC的应用程序。
上面红线标出的部分,MSBuild Build File:要构建的项目,这个我事先已经创建好了MVC的工程CYWJenkinsDemo Command Line Arguments:构建的参数。
/t:Rebuild 表示每次都重建,不使用增量编译
/property:Configuration=Release 表示编译Release版本,
PublishProfile指定创建的Profile名称(没有扩展名),VS发布项目时的配置文件名称
DeployOnBuild=true 表示启用编译并发布
TargetFrameworkVersion=v4.5表示.net Framework的版本
其中PublishProfile这个文件是怎么来的呢?如何创建它呢?
我们可以选择工程CYWJenkinsDemo ,右键发布,然后创建Profile,这里要注意不用点发布,一直下一页,然后点击关闭,会提示要不要保存配置文件,点击保持就OK了,几下名字,就是上面的JenkinsPublishProfile。
四、执行
其实都可以不用手动执行,可以配置触发器,是版本更新时执行还是固定的周期执行,这里就先弄简单的,手动触发执行。点击立即构建,就能将应用发布出来,以后再次构建的化也不用再打开工程然后发布了,直接打开页面点击构建就可以了。这些应该来说都是通过远程服务器来搞定的。对于执行的成不成功呢,可以查看build history
对于执行失败的可以点进去查看具体的log,根据log分析具体原因。这里还可以通过另外的插件来发送邮件通知管理员是否部署成功。
Jenkins发布MVC应用程序的更多相关文章
- IIS发布MVC应用程序问题
1.IIS7.5详细错误 HTTP 错误 500.19 - Internal Server Error 无法访问请求的页面,因为该页的相关配置数据无效 重复定义了“system.web.extensi ...
- IIS发布mvc程序遇到的HTTP错误 403.14-Forbidden解决办法
在IIS上发布MVC应用程序后,在浏览器查看时会报如下图的错误: 这时,我们首先检查一下“处理程序映射”,看一下里面是否有“ExtensionlessUrlHandler-Integrated-4.0 ...
- 3.怎样将ASP.NET MVC应用程序发布到IIS
这一篇,教大家怎么将ASP.NET MVC应用程序发布到本地或者IIS中.打开上一篇创建的ASP.NET MVC 5.0应用程序.[PS:上一篇--->2.第一个ASP.NET MVC 5.0应 ...
- jenkins发布程序触发shell调用python脚本刷新akamai cdn api
刷新cdn的流程:jenkins获取git中的代码,触发脚本推送到生产环境中(即cdn的源站) --> 触发脚本获取git工作目录的更新列表,将更新列表拼凑成带域名信息的url,写入到目录中 - ...
- [渣译文] 使用 MVC 5 的 EF6 Code First 入门 系列:为ASP.NET MVC应用程序更新相关数据
这是微软官方教程Getting Started with Entity Framework 6 Code First using MVC 5 系列的翻译,这里是第八篇:为ASP.NET MVC应用程序 ...
- iis7 发布mvc 遇到的HTTP错误 403.14-Forbidden Web 服务器被配置为不列出此目录的内容
iis 7上发布mvc报错:403.14-Forbidden Web 服务器被配置为不列出此目录的内容 提示里面的解决方法是: 如果不希望启用目录浏览,请确保配置了默认文档并且该文件存在. 使用 II ...
- ASP.NET MVC应用程序更新相关数据
为ASP.NET MVC应用程序更新相关数据 这是微软官方教程Getting Started with Entity Framework 6 Code First using MVC 5 系列的翻译, ...
- MVC应用程序实现文件库(FlexPaper)
MVC应用程序实现文件库(FlexPaper) 很久之前Insus.NET在实现了<FlexPaper实现文档在线浏览>http://www.cnblogs.com/insus/archi ...
- 使用Razor Generator构建模块化ASP.NET MVC应用程序
在构建Web应用程序的时候,我们很难做到模块化的开发,这是因为Web应用程序不仅仅包含编译的C#代码,还包含了js.css和aspx等资源. 在ASP.NET MVC中,我们发布应用程序的时候,还会包 ...
随机推荐
- centos 6.6 ios镜像文件 下载 官网和阿里云两种方式教你下载
1百度一下:centos 打开打开官网.选择这一项 CET CENTOS 2选择 DVD ISO,双击下载 直接选择左键点击下载 这里需要迅雷 方法 二 打开 https://mirrors.aliy ...
- 【Android Developers Training】 11. 支持不同语言
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...
- PILLOW图片中加入中文 曲线救国Opencv
索引 简述 准备 示例 效果图 结语 简述 我在使用opencv2或3的时候想要在图片上添加中文文字,需要去下载Freetype库,编译好链接到opencv库中才能中文的输出.网上大部分在图片中插入中 ...
- 使用vue实现tab操作
在使用jQuery类库实现tab功能时,是获取鼠标在mousenter或click时的index值,然后切换到当前的标题和内容,把其他的标题和内容的状态去掉: $('.tab .title').fin ...
- touchmover 手机端拖动方法
function drag(obj, parentNode) { var obj = document.getElementById(obj); if (arguments.length == 1) ...
- TSC打印机使用教程终极版
最近公司做一个资产采集的项目,之前做过此类项目,不过没有整理资料,借这次机会写一下,做个记录. 本教程使用的打印机型号:TSC TTP-244 Plus 官方文档 一.TSC打印机安装 1.机 ...
- [Android FrameWork 6.0源码学习] View的重绘过程
View绘制的三部曲, 测量,布局,绘画今天我们分析测量过程 view的测量是从ViewRootImpl发起的,View需要重绘,都是发送请求给ViewRootImpl,然后他组织重绘在重绘的过程中 ...
- database.properties数据源
jdbc.driver_class=oracle.jdbc.driver.OracleDriverjdbc.connection.url=jdbc:oracle:thin:@localhost:152 ...
- English Learning - Vampire bats
" Vampire bats are very adaptable." Bambi said. And when their roosts are disrupted or the ...
- Java 反射在实际开发中的应用
运行时类型识别(RTTI, Run-Time Type Information)是Java中非常有用的机制,在java中,有两种RTTI的方式,一种是传统的,即假设在编译时已经知道了所有的类型:还有一 ...