前言

随着微服务的兴起,原先一个庞大的项目,被切分一个个功能独立的微服务,虽然使得业务系统的扩展性和维护性得到提升,但是也加大了维护人员的工作量。有的系统由成百上千个微服务组成,如果每次有修改,都要手工去发布的话,那将是一件可怕的事。
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. MYSQL可调用执行自定义SQL的代码

    DELIMITER $$ USE `mysql_wispeed01`$$ DROP PROCEDURE IF EXISTS `sp_execSQL`$$ CREATE DEFINER=`sa`@`%` ...

  2. 2018-2019-2 网络对抗技术 20162329 Exp6 信息搜集与漏洞扫描

    目录 Exp6 信息搜集与漏洞扫描 一.实践原理 1. 间接收集 2. 直接收集 3. 社会工程学 二.间接收集 1. Zoomeye 2. FOFA 3. GHDB 4. whois 5. dig ...

  3. js计算发表的时间...分钟/小时以前/以后

    网上找的都好复杂,这本来就是个粗略显示通俗的时间,绕来绕去都晕了 function timeAgo(o){ var n=new Date().getTime(); var f=n-o; var bs= ...

  4. 编程菜鸟的日记-初学尝试编程-C++ Primer Plus 第6章编程练习4

    #include <iostream> using namespace std; const int strsize=30; const int BOPSIZE=5; void showm ...

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

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

  6. linux常见命令实践.

    ls -la : 给出当前目录下所有文件的一个长列表,包括以句点开头的“隐藏”文件 ls -a . .. 1 online_tools online_tools_0803 ll: 竖列显示所有文件 l ...

  7. touchweb网站常见问题,手机网站注意问题

    一.h5网站input 设置为type=number的问题 h5网页input 的type设置为number一般会产生三个问题,一个问题是maxlength属性不好用了.另外一个是form提交的时候, ...

  8. vue+mescroll=VScrollFull

    VScrollFull 介绍 这个组件是什么? 是为了方便的使用下拉刷新,上拉加载而去封装的一个依赖于 mescroll.js 的 vue 组件(未发布,文末代码~) 封装这个组件使用了什么? mes ...

  9. leetcode-查找和替换模式

    一.题目描述 你有一个单词列表 words 和一个模式  pattern,你想知道 words 中的哪些单词与模式匹配.如果存在字母的排列 p ,使得将模式中的每个字母 x 替换为 p(x) 之后,我 ...

  10. Redis sortedset实现元素自动过期

    这里的自动过期,Redis并没有提供相应的api,但是可以使用一下方法来实现. 需求背景: 给用户返回的文章要求七日内不能重复:文章是存放在java list里边:(这一块就是从db将文章拿出来,然后 ...