windows使用jenkins 搭建 .net 自动发布IIS站点平台

前言

  什么是持续集成呢?Continuous integration(CI)。持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快地发现集成错误。许多团队发现这个过程可以大大减少集成的问题,让团队能够更快的开发内聚的软件。

  如果没有持续集成会有哪一些问题呢?模块项目接口部署不及时,接口不通。每次需要手动打包最新的代码进行部署、发布代码、线上部署都是纯手工。容易出错。浪费时间。

  现在加上持续集成解决的问题呢?项目构建自动化、集成的详细信息及历史记录的记录、使用统一的管理、固定规定的部署流程、每天至少集成一次。

 环境:

     jenkins服务器:win10系统   (安装jenkins、git、Visual Studio 2017)

     IIS目标服务器:winserver2016系统(安装IIS 、FTP)

安装

  这里我采用的是使用Tomcat配合jenkins一起使用的来达成持续集成的目的。

  一、安装Tomcat

必须有jdk,这里用的是jdk1.8

 1、从官网下载Tomcat。下载地址:https://tomcat.apache.org

apache-tomcat-8.5.49-windows-x64.zip

下载后解压到C盘根目录并重命名。

C:\apache-tomcat

2、配置环境变量

在classpath这个变量中加入C:\apache-tomcat\bin;

.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;C:\apache-tomcat\bin;

新建JAVA_HOME变量

C:\Program Files\java\jdk1.8.0_211

3.启动Tomcat

进入Tomcat中bin目录,双击startup.bat

上图界面代表启动成功,成功后不要关闭,否则就关掉了Tomcat。

测试Tomcat是否启动成功:

在浏览器地址栏输入http://localhost:8080/

若出现下图界面,则启动成功。


二、安装Visual Studio 2017、Git-2.24.0.2-64-bit

      下载并安装Visual Studio 2017

       下载并安装Git-2.24.0.2-64-bit 

验证是否安装成功,右键-“git bash here”

git --version


三、目标服务器上安装IIS、FTP服务

 新建一个站点test.com

新建一个FTP站点208ftp










身份验证选择基本

授权选择指定角色或用户组(指定可以访问FTP的账户,没有账户请新建)

权限(读写权限)

完了之后可以连接FTP验证一下(注意新建防火墙入规则)

四、安装Jenkins

一切准备就绪之后,就开始安装jenkins了,下载地址:jenkins.io/download/。前往地址下载jenkins的 war包。

jenkins-2.190.3.zip

然后将war包放置在前面安装的Tomcat的目录之下(C:\apache-tomcat\webapps)。



然后在浏览器中输入http://localhost:8080/jenkins/。访问,安装成功的话就会出现jenkins的界面

这里根据提示我们找到目录之下就可以获取密码了。接下来会出现插件安装的一个选择,新手直接选择新手入门推荐安装就好了。


这里有时会出现安装失败或者链接失败的情况,多试几次就好了。一般是网络的问题。

创建管理员用户之后就可以正式开始配置jenkins了。

配置

安装Publish Over FTP插件

 配置Publish Over FTP



注意remote directory为 “/” 

注意 中文配置为GB2312

 配置完后可以使用“test configuration”测试下FTP 是否连的通


配置git、Visual Studio 2017







新建一个项目 whenchattest



MSBuild Version  :选择之前配置好的msbuild,就是Visual Studio 2017

MSBuild Build File : 需要编译的工程文件目录,我这里是选择的工程文件里C:\Users\jenkins\.jenkins\workspace\whenchattest\20.APP接口站点测试\PortTestNew\PortTestNew.csproj      后缀是.csproj的工程文件

(默认Git拉取源码存放的目录是C:\Users\jenkins\.jenkins\workspace)

Command Line Arguments : 编译文件

/t:Rebuild  #重新生成/p:VisualStudioVersion=15.0  #Visual Studio 2017对应的是15.0/p:DeployOnBuild=True      #是否打包/p:Configuration=Release  #生成Release版本/p:OutputPath="C:\Users\jenkins\.jenkins\workspace\whenchattest\20.APP接口站点测试\PortTestNew\bin"    #项目输出位置/p:WebProjectOutputDir="C:\Users\jenkins\.jenkins\workspace\whenchattest\test.whenchat.com"#项目dll输出位置,发布的时候就是把生产的这个文件里的内容拷贝到IIS站点的目录

  *注:如果生成以后需要使用ftp进行发布的话,请将项目生成到\Jenkins\workspace\中去。同时路径中存在空格时,要在路径上加上双引号,否则会出先报错:

MSBUILD : error MSB1008: 只能指定一个项目。


VisualStudioVersion=15.0  查看版本号  C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\devenv.exe.config




通过ftp发布

点击增加构建后操作步骤,并选择下图红框内的选项。





Source files:表示当前上传的文件位置,该位置默认根目录为“Jenkins\workspace\项目名”文件夹。

Remove prefix:表示上传时,是否排除忽略某些文件夹。如上图中,如果该项为空,则在FTP指定位置上传Build文件夹及其内容。

 Remote directory:ftp的目标目录

自此配置构架、发布系统完成



表示构建完成,如果构建失败,我们可以现在jenkins服务器上使用Visual Studio 2017,手动构建,看看是什么原因并解决

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,125评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,293评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,054评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,077评论 1 291
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,096评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,062评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,988评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,817评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,266评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,486评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,646评论 1 347
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,375评论 5 342
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,974评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,621评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,796评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,642评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,538评论 2 352