zoukankan      html  css  js  c++  java
  • 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分析具体原因。这里还可以通过另外的插件来发送邮件通知管理员是否部署成功。

  • 相关阅读:
    串口调适
    取出不重复的6个数
    个人Windows 10必备软件以及浏览器必装插件等
    合肥工业大学宣城校区2018年-2019年第一学期(大三上学期)物联网工程专业资料汇总(含课件、个人实验报告、实验代码、课设报告等)
    合肥工业大学宣城校区2019年-2020年第二(大三下)学期物联网工程专业资料汇总(含课件、个人实验报告、实验代码、课设报告等)
    合肥工业大学宣城校区2020年-2021年第一(大四上)学期物联网工程专业资料汇总(含课件、个人实验报告、实验代码、课设报告等)
    软件工程-单元测试-计算机测试-复习札记
    8086汇编计算分段函数值
    C语言是开源的吗?C++是开源的吗?C语言、C++是两个开源的标准,而不是开源软件或其它
    合肥工业大学编译原理实验LR(1)文法分析完整Scala实现代码(Java封装GUI)与测试数据
  • 原文地址:https://www.cnblogs.com/5ishare/p/7282493.html
Copyright © 2011-2022 走看看