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

前言

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

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

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

 环境:

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

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

安装

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

  一、安装Tomcat

必须有jdk,这里用的是jdk1.8,安装:https://www.cnblogs.com/xiaoyou2018/p/9945272.html

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

apache-tomcat-8.5.49-windows-x64.zip

下载:

链接:https://pan.baidu.com/s/1GFJm_tBak9SXhsAMu1Xhrg
提取码:yf7q

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

C:apache-tomcat

2、配置环境变量
在classpath这个变量中加入C:apache-tomcatin;

.;%JAVA_HOME%lib;%JAVA_HOME%lib	ools.jar;C:apache-tomcatin;

新建JAVA_HOME变量

C:Program Filesjavajdk1.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  下载地址: 

链接:https://pan.baidu.com/s/15_1KHGu9igxtg0NdRarMeQ
提取码:xmjr

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

git --version

 

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

 新建一个站点test.whenchat.com

新建一个FTP站点208ftp

 

 

 

身份验证选择基本

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

权限(读写权限)

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

四、安装Jenkins

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

jenkins-2.190.3.zip,下载地址:

链接:https://pan.baidu.com/s/1oM3-oGQ4eC3St8Kg1c9c3A
提取码:gfvx

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

然后在浏览器中输入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:Usersjenkins.jenkinsworkspacewhenchattest20.APP接口站点测试PortTestNewPortTestNew.csproj      后缀是.csproj的工程文件

(默认Git拉取源码存放的目录是C:Usersjenkins.jenkinsworkspace)

Command Line Arguments : 编译文件

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

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

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

VisualStudioVersion=15.0  查看版本号  C:Program Files (x86)Microsoft Visual Studio2017CommunityCommon7IDEdevenv.exe.config


 

通过ftp发布

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

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

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

 Remote directory:ftp的目标目录

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

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

 表示发布完成

jenkins+sonar代码质量扫描+钉钉通知

https://www.cnblogs.com/xiaoyou2018/p/12486677.html

参考:

https://www.cnblogs.com/Yuuuuu/p/8862507.html

https://juejin.im/post/5d8827b7f265da03c5034de0

https://www.cnblogs.com/shenh/p/8946404.html

https://www.jianshu.com/p/c8f30205fc5f     FTP报错

原文地址:https://www.cnblogs.com/xiaoyou2018/p/12012512.html