使用Jenkins部署.Net应用程序
首先从 https://jenkins.io/download/ 下载所需的版本

这里选择Windows版本来测试。
直接安装jenkins.msi,安装完后使用Win+R输入services.msc,可以看到有Jenkins的服务

使用浏览器打开地址:http://localhost:8080/ ,首次打开会提示到安装目录中一个txt文件中找密码,然后是安装默认推荐的插件,安装完后出现如下界面:

部署.net程序需要使用MSBuild 插件,在系统管理--插件管理--可选插件中找到MSBuild :

选择直接安装:

安装完成:

在系统管理--工具配置里面会出现MSBuild的设置:

设置MSBuild路径

MSBuild 的默认安装路径
| 32位 | C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe |
| 64位 | C:\Program Files (x86)\MSBuild\14.0\Bin\amd64\MSBuild.exe |
配置完后点击最下面的保存按钮。
这里因为已经安装过VS2015,所以有MSbuild,如果没有安装VS的,可以单独下载MSBuild
下一步配置源代码管理,这里我们使用Git来测试
此时如果查看工具配置里面git是不可用的

到https://git-scm.com/ 下载Windows 64位版本的git,安装到默认目录即可
到https://sourceforge.net/projects/kdiff3/files/ 下载64位的 KDiff3,安装到默认目录
到http://gitextensions.github.io/ 下载GitExtentions,安装的时候就不用选这两个了,因为上面已经安装了

回到刚才的设置那里

在创建任务前先到https://github.com/new 创建一个新的repository

创建完后复制这个地址:

打开GitExtensions,在工具--设置中设置邮箱和用户名

创建一个新的档案库



添加默认的过滤项

点击工具--PuTTY--生成或者导入Key,点击Generate,这个时候鼠标随便动,等进度条走完


复制公钥到GitHub的设置中



在 本地把公钥和私钥保存起来

回到主界面,选择档案库--管理远程档案库

加载密钥后点击测试连接,输入y即可

登录成功会看到用户名。
点击保存后会提示:

点击提交





在GitHub刷新页面

使用VS2015新建一个MVC项目

这里简单点,就不需要身份验证了

创建成功后就可以提交了

下面开始在Jenkins里创建任务

在源码管理设置自己的地址:

添加认证

保存后需要选择

选择后就没有错误了

接下来配置构建触发器,这里设置的是:
* * * * *
注意中间的空格,这里用的是cron 表达式,表示每分钟触发一次

接下来配置构建

因为我们的应用程序需要用到Nuget,所以先配置Nuget
可以到http://www.nuget.org/ 下载nuget.exe,这里我们把它放到D盘下

再增加一个构建步骤


这里的设置可以参考:
保存后可以点击立即构建

成功后会显示蓝色标记

可以到Jenkins的安装目录看到自动下载的代码

可以在这里看到控制台输出

从控制台可以看到项目编译成功并发布到了一个临时目录:

打开目录可以看到文件

用iis新建一个网站指向这个目录,启动网站就能看到页面了

然后我们从源代码里更改下代码,比如改下首页的显示,然后提交,可以看到Jenkins自动开始创建了

构建成功

刷新页面

使用Jenkins部署.Net应用程序的更多相关文章
- 写个shell脚本搭载jenkins让你的程序部署飞起来
[转载请注明]: 原文出处:https://www.cnblogs.com/jstarseven/p/11399251.html 作者:jstarseven 码字挺辛苦的..... 说明 ...
- 使用Linux脚本更新Weblogic部署的应用程序
在利用Jenkins实现Weblogic应用自动部署的功能时,如何通过Shell 脚本自动更新Weblogic部署的应用程序呢? 可以使用weblogic.jar包中的weblogic.Deploye ...
- Jenkins部署net core小记
作为一个不熟悉linux命令的neter,在centos下玩Jenkins真的是一种折磨啊,但是痛并快乐着,最后还是把demo部署成功!写这篇文章是为了记录一下这次部署的流程,和心得体会. 网上很多资 ...
- Jenkins部署Python项目实战
一.背景 我们工作中常用Jenkins部署Java代码,因其灵活的插件特性,例如jdk,maven,ant等使得java项目编译后上线部署一气呵成,同样对于脚本语言类型如Python上线部署,利用Je ...
- linux-centos下持续集成工具jenkins部署使用教程
centos下准备工作: 1.安装jdk环境 2.安装maven环境(用于构建项目) 3.git客户端(用于拉取源码) 此外码云还要准备一份java源码(springboot项目) 一.安装jenki ...
- Gitlab+Jenkins学习之路(六)之Jenkins部署、升级和备份
一.什么是持续集成? (1)Continuous integration(CI) 持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员至少集成一次,也就意味着每天可能会发生多次集 ...
- 【k8s实战一】Jenkins 部署应用到 Kubernetes
[k8s实战一]Jenkins 部署应用到 Kubernetes 01 本文主旨 目标是演示整个Jenkins从源码构建镜像到部署镜像到Kubernetes集群过程. 为了简化流程与容易重现文中效果, ...
- centos7搭建sonarqube环境+jenkins部署全流程
一.简介sonarqube是一个用于代码质量管理的开源平台,用于管理源代码的质量 不遵循代码标准sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具规范代码编写.潜在的 ...
- Jenkins+gitlab发布Django程序
Jenkins+gitlab发布Django程序 一. 二. 三.shell # !/bin/bash cd /root/upload_file #git add . #git commit -m ' ...
随机推荐
- Linux学习(2)- 正则表达式基础
Linux学习(2)- 正则表达式基础 一.基础正则表达式介绍与练习 学习内容 正则表达式特殊符号 [:alnum:]代表英文大小写字母及数字 [:alpha:]代表英文大小写字母 [:blank:] ...
- ckeditor 实现ctrl+v粘贴图片并上传、word粘贴带图片
公司做的项目需要用到文本上传功能. Chrome+IE默认支持粘贴剪切板中的图片,但是我要粘贴的文章存在word里面,图片多达数十张,我总不能一张一张复制吧? 我希望打开文档doc直接复制粘贴到富文本 ...
- 阿里云存储oss+怎么上传找文件夹
最近公司做工程项目,实现文件夹云存储上传. 网上找了很久,发现网上很多项目都存在相似问题,最后终于找到了一个符合我要求的项目. 工程如下: 这里对项目的文件夹云存储上传进行分析,实现文件夹上传,如何进 ...
- 微信接入时tomcat的端口调整
必须以http://或https://开头,分别支持80端口和443端口. www.xx.com 等同于 www.xx.com:80 但tomcat默认端口是8080,需要修改为80 修改方法: TO ...
- 为什么要用GCD-Swift2.x
为什么要用GCD-Swift2.x 当今世界,多核已然普及.但是APP却不见得很好的跟上了这个趋势.APP 想要利用好多核就必须可以保证任务能有效的分配.并行执行可以让APP同时执行很多 的任务.这个 ...
- 2018/02/25 PendingIntent使用
https://www.cnblogs.com/liyiran/p/4656821.html http://blog.csdn.net/ydpl2007/article/details/7591642 ...
- (转)Eclipse开发Web项目
1. 建立最简单的JSP和servlet http://wenku.baidu.com/link?url=bcf8iwB3E5_gjl46WfZAekQUWsps0-G3MAbbKz5totQcvmS ...
- Codeforces821C Okabe and Boxes 2017-06-28 15:24 35人阅读 评论(0) 收藏
C. Okabe and Boxes time limit per test 3 seconds memory limit per test 256 megabytes input standard ...
- linux命令 find的应用
1.列出当前目录及子目录下所有文件和文件夹 2.在 /home目录下查找以 “.txt”结尾的文件名 3.在当前目录下查找所有以“.txt”结尾的文件 4基于目录深度搜索(向下最大深度限制为3) 5. ...
- [javascript]Three parts of javascript code snippet
<script> (function(){ /* if (navigator.userAgent.toLowerCase().indexOf("iphone") == ...