前言

随着微服务的兴起,原先一个庞大的项目,被切分一个个功能独立的微服务,虽然使得业务系统的扩展性和维护性得到提升,但是也加大了维护人员的工作量。有的系统由成百上千个微服务组成,如果每次有修改,都要手工去发布的话,那将是一件可怕的事。
jenkins 的到来,让运维人员看到了福音。

什么是Jenkins?

通俗的讲,jenkins就是用来简化,代码托管服务器到部署服务器的过程。举个例子,如果我有一个页面视图,显示 ASP.NET,现在接到需求要改成 Hello Word,你会怎么做?

步骤

以上的步骤还是比较理想化的,中途可能会遇到这几种情况

1.获取代码编译不通过,需要通知程序员
2.运维人员任务繁忙,没有测试项目是否正常运行

而这一些有了Jenkins之后,就十分方便了,运维人员只要第一次配置好,后面需要发布时,只需发送一个指令,或者手动构建,就可以完成代码的迁出编译部署的过程,并且可以方便看到编译日志,最终如果失败掉还可以发送邮件通知相关人员。

接下来我简单的介绍下windows下如何部署Jenkins!

安装Jenkins

前往 Jenkins官网 下载,这里选择的是windows版本,下载完成后,跟着向导模式一步步安装,这里就不阐述细节了。如果没有修改配置,默认的端口为8080,也就说,你打开浏览器输入 http://localhost:8080/ 就可以进入后台

安装Jenkins插件

打开Jenkins后台,点击 系统管理

找到插件管理

因为我们是部署.net项目,所以这里选择 MSBuild Plugin

配置MSBuild Plugin

点击 系统管理-全局工具设置 找到

注意,这里根据你项目的版本去选择 MSBuild,如果你的项目是.net framwork 4.5,那么就选择跟我一样的路径。

创建任务

1.点击系统左边的菜单,新建一个任务

2.输入项目名称后,选择自由风格的软件项目

3.输入项目的地址,因为我用的是github,所以直接在这里写入项目URL

4.展开 高级 的源码管理中

在这里面输入github相关用户信息,注意这里可以根据你代码托管软件来设置,这边也支持SVN
5.接下来,构建触发器,所谓的触发器就是指,你用什么方式触发编译部署。可以选择定时,也可以选择 发送指令,这里我选择发送指令 9527

6.构建前的操作,有时候,你需要在编译前,删除旧的代码,看具体需求而定

7.构建设置

这里设置相关的编译参数,我这边主要是指定了 MSBuild版本,和需要编译的 sln,你也可以指定项目编译,还有指定了 编译发布路径
8.增加构建步骤

因为我这边是做测试,所以都在同一台机子,我增加的步骤是直接用命令行拷贝到IIS项目所在文件夹,如果是远程机子,你可以使用FTP插件来上传
9.增加构建后步骤

比如你想要构建后,删除代码,等等。

10.保存

触发编译

因为我使用 发送指令来触发编译
所以我在浏览器中 输入 http://localhost:8080/me/my-views/view/all/job/JekinsTest/token=9527 就可以触发编译

查看编译日志

总结

整体上,我这里只完成了最简单的Jenkins部署,但是万变不离其宗,只要熟悉了它工作的原理,就可以根据具体的项目,做个性化的设置,理论上,它支持各种复杂的项目部署,所以你不用担心它能不能满足你的需求。

转自:https://www.cnblogs.com/seethrough/p/9252804.html#jump_10

windows下使用jenkins持续集成.net项目的更多相关文章

  1. Windows系统的Jenkins持续集成环境

    Windows系统的Jenkins持续集成环境 如题:本文将介绍如何在Windows环境下运用Jenkins部署持续集成环境.之所以写本文,是因为在最近工作当中,学习使用Jenkins时,确实遇到了一 ...

  2. windows系统下构建Jenkins持续集成

    环境准备 windows10+tomcat+python3.x(安装方法自行百度) 安装Jenkins 从https://jenkins.io/download/ 下载war包 将war包放到tomc ...

  3. 手把手教你利用Jenkins持续集成iOS项目

    前言 众所周知,现在App的竞争已经到了用户体验为王,质量为上的白热化阶段.用户们都是很挑剔的.如果一个公司的推广团队好不容易砸了重金推广了一个APP,好不容易有了一些用户,由于一次线上的bug导致一 ...

  4. windows环境下简单Jenkins持续集成搭建

    Jenkins是基于Java开发的持续集成工具,所以在安装Jenkins之前我们要确定电脑上已经安装了Java JDK并且环境变量配置正确,否则在启动使用java -jar Jenkins.war启动 ...

  5. 一步步部署基于Windows系统的Jenkins持续集成环境

    如题:本文将介绍如何在Windows环境下运用Jenkins部署持续集成环境.之所以写本文,是因为在最近工作当中,学习使用Jenkins时,确实遇到了一些问题,而大多数教程文档都是基于Mac或是Lin ...

  6. 【转】手把手教你利用Jenkins持续集成iOS项目

    前言 众所周知,现在App的竞争已经到了用户体验为王,质量为上的白热化阶段.用户们都是很挑剔的.如果一个公司的推广团队好不容易砸了重金推广了一个APP,好不容易有了一些用户,由于一次线上的bug导致一 ...

  7. centos下搭建Jenkins持续集成环境(安装jenkins)

    1.安装JDK yum install -y java 2.安装jenkins 添加Jenkins库到yum库,Jenkins将从这里下载安装. 1 wget -O /etc/yum.repos.d/ ...

  8. centos下搭建Jenkins持续集成环境

    1.安装JDK yum install -y java 2.安装jenkins 添加Jenkins库到yum库,Jenkins将从这里下载安装. 1 wget -O /etc/yum.repos.d/ ...

  9. 利用 Jenkins 持续集成 iOS 项目,搭建自动化打包环境

    ---恢复内容开始--- jenkins是一个广泛用于持续构建的可视化web工具,持续构建即各种项目的”自动化”编译.打包.分发部署.jenkins可以很好的支持各种语言(比如:Java, c#, P ...

随机推荐

  1. 面试题int和Integer

    int和Integer的区别 1.Integer是int的包装类,int则是java的一种基本数据类型 2.Integer变量必须实例化后才能使用,而int变量不需要 3.Integer实际是对象的引 ...

  2. python用类实现xrange

    class xrange(object): def __init__(self, start, end=0, step=1): self.start = start self.end = end se ...

  3. MyBatis3系列__02接口式编程

    hello world MyBatis3支持面向接口编程: 具体做法如下,将helloWorld中的EmployeeMapper.xml文件进行更改: <?xml version="1 ...

  4. yii2 注册一个新事件(trigger Event)

    有些时候我们需要在某个方法的中间注册一个新事件,确保某些业务的可拓展性. 下面我介绍一下注册一个新事件的方法: 第一步:需要的地方(比如控制器或模型)中定义一个事件常量(如:const EVENT_C ...

  5. 关于css盒子模型和BFC的理解

    CSS盒子模型 包含元素内容(content).内边距(padding).边框(border).外边距(margin) 一般元素总宽度 = element的width+padding的左右边距+mar ...

  6. ASP.NET C# 实现实时用户在线

    public static class UserOnline { /// <summary> /// 获取或设置在线列表 /// </summary> public stati ...

  7. Winsock编程基继承基础(网络对时程序)

    #include <iostream> #include <stdio.h> #include "InitSock.h" using namespace s ...

  8. CSS Media媒体查询使用大全,完整媒体查询总结

    前面的话 一说到响应式设计,肯定离不开媒体查询media.一般认为媒体查询是CSS3的新增内容,实际上CSS2已经存在了,CSS3新增了媒体属性和使用场景(IE8-浏览器不支持).本文将详细介绍媒体查 ...

  9. [SQL]LeetCode181. 超过经理收入的员工 | Employees Earning More Than Their Managers

    SQL架构 Create table If Not Exists Employee (Id ), Salary int, ManagerId int) Truncate table Employee ...

  10. [Swift]LeetCode383. 赎金信 | Ransom Note

    Given an arbitrary ransom note string and another string containing letters from all the magazines, ...